无法在简单表格中对齐文本

无法在简单表格中对齐文本

我无法简单地通过在同一个表格中使用p{xx\linewidth}和来对齐文本。\color

结果非常糟糕... 冲突的包问题?

欢迎任何有想法的人;)

样本:

为什么 B 低于 A 和 C?

来源:

\documentclass[a4paper,12pt]{book}

\usepackage[utf8]{inputenc}   
\usepackage[T1]{fontenc}      
\usepackage{color}            


\begin{document}

\begin{table}
\begin{tabular}{p{0.2\linewidth}p{0.2\linewidth}p{0.2\linewidth}}

A &   \color{red}{B}   &  C \\

\end{tabular}
\end{table}

\end{document} 

答案1

当您调用某一p列时,您处于\parbox(或者是minipage?) 中,该命令以垂直模式进入该列。某些命令在垂直(页面)模式下的行为与在水平(段落)模式下的行为不同。 \color就是其中之一。解决该问题的方法是使用\textcolor,这将退出垂直模式本身,或者使用 明确退出垂直模式\leavevmode。我在下面展示了这两种方法。

\documentclass[a4paper,12pt]{book}

\usepackage[utf8]{inputenc}   
\usepackage[T1]{fontenc}      
\usepackage{color}            


\begin{document}

\begin{table}
\begin{tabular}{p{0.2\linewidth}p{0.2\linewidth}p{0.2\linewidth}}

A &   \leavevmode\color{red}B   &  C \\

A &   \textcolor{red}{B}   &  C \\

\end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

其他宏也将遭遇同样的命运,因此需要\leavevmode以“预期”的方式运行,包括\llap、和 (环境\rlap之外) 。tabular\marginpar

相关内容