15

The following code shows that a \color{red} command increases the height of a tabular cell. I want to use a switch, not a command as \textcolor{red}{text}.

\documentclass{article}

\usepackage{xcolor}
\usepackage{float}

\begin{document}

\begin{table}[H]
\begin{tabular}{*{2}{p{0.45\textwidth}}}
\hline
\color{red} header &
header \tabularnewline
\hline
 %
 content  & content \tabularnewline
 content  & content \tabularnewline
 content  & content \tabularnewline
\hline
\end{tabular}
\end{table} 
\end{document}

enter image description here

How can I work around this problem?

25

The cell height will be correct if you insert \leavevmode before \color for changing into horizontal mode. \textcolor does the same internally, it calls \leavevmode and then \color, additionally it does grouping. So use this as a switch:

\leavevmode\color{red} header &

If necessary in other places (maybe in moving arguments), consider protecting \leavevmode.

\protect\leavevmode\color{red}
  • 6
    The \color command doesn't switch to LR-mode, since it's useful also between paragraphs; however in a p column it defeats the boxing mechanism because when the paragraph starts, as soon as TeX scans the h in "header", the vertical list is not empty. Issuing \leavevmode cures the problem by starting a paragraph itself. – egreg Oct 14 '11 at 10:22
  • @egreg: thanks for the additional explanation! – Stefan Kottwitz Oct 14 '11 at 10:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.