由于 \color,具有规则的单元格的基线被弄乱

由于 \color,具有规则的单元格的基线被弄乱

我有一张表格 ( tabulary),其中有些单元格仅用一条线填充。这条线很1ex粗,我希望线的底部与基线(该行所有单元格的基线)匹配。

我发现,当我为该规则定义颜色时,如果规则之前的单元格中没有文本,则规则单元格的基线与该行其他单元格的基线不匹配。

平均能量损失

我没有找到的虚拟错误在哪里?!


\documentclass{scrartcl}
    \usepackage{tabulary}
    \usepackage{xcolor}
\begin{document}    
    \begin{tabulary}{.5\textwidth}{|L|L|R|}
        \hline%
            foo
            &
            \rule{1cm}{1ex}
            &
            bar
        \\\hline
            foo
            &
            \rule{1cm}{1ex} bar
            &
            baz
        \\\hline
            foo
            &
            bar \rule{1cm}{1ex}
            &
            baz
        \\\hline
    \end{tabulary}

    \begin{tabulary}{.5\textwidth}{|L|L|R|}
        \hline%
        foo
        &
        {\color{black!50}\rule{1cm}{1ex}}
        &
        bar
        \\\hline
        foo
        &
        {\color{black!50}\rule{1cm}{1ex}} bar
        &
        baz
        \\\hline
        foo
        &
        bar {\color{black!50}\rule{1cm}{1ex}}
        &
        baz
        \\\hline
    \end{tabulary}
\end{document}

答案1

\color除非您特别需要(这种情况很少见),否则不要使用;\textcolor而是使用 , 。

\documentclass{scrartcl}
\usepackage{tabulary}
\usepackage{xcolor}

\begin{document}    

\begin{tabulary}{.5\textwidth}{|L|L|R|}
\hline
foo & \rule{1cm}{1ex}     & bar \\
\hline
foo & \rule{1cm}{1ex} bar & baz \\
\hline
foo & bar \rule{1cm}{1ex} & baz \\
\hline
\end{tabulary}

\begin{tabulary}{.5\textwidth}{|L|L|R|}
\hline
foo & \textcolor{black!50}{\rule{1cm}{1ex}}     & bar \\
\hline
foo & \textcolor{black!50}{\rule{1cm}{1ex}} bar & baz \\
\hline
foo & bar \textcolor{black!50}{\rule{1cm}{1ex}} & baz \\
\hline
\end{tabulary}
\end{document}

在此处输入图片描述

问题是\color{...}插入一个 whatsit(列表中要排版的特殊节点)没有启动段落模式。因此段落以 开始\rule,而内容则以一行结束。

答案2

解决方法:添加>{\mbox{}}(或>{\leavevmode}在表格的序言中添加相关列:

\documentclass{scrartcl}
    \usepackage{tabulary}
    \usepackage{xcolor}
\begin{document}
    \begin{tabulary}{.5\textwidth}{|L|L|R|}
        \hline%
            foo
            &
            \rule{1cm}{1ex}
            &
            bar
        \\\hline
            foo
            &
            \rule{1cm}{1ex} bar
            &
            baz
        \\\hline
            foo
            &
            bar \rule{1cm}{1ex}
            &
            baz
        \\\hline
    \end{tabulary}

    \begin{tabulary}{.5\textwidth}{|L| >{\mbox{}}L|R|}
        \hline%
        foo
        &
        \color{black!50}\rule{1cm}{1ex}
        &
        bar
        \\\hline
        foo
        &
    {\color{black!50}\rule{1cm}{1ex}} bar
        &
        baz
        \\\hline
        foo
        &
        bar {\color{black!50}\rule{1cm}{1ex}}
        &
        baz
        \\\hline
    \end{tabulary}
\end{document} 

在此处输入图片描述

相关内容