如何使用 cellcolor 和双反斜杠

如何使用 cellcolor 和双反斜杠

这是我的代码,它在表格的最后一行失败了。为什么?

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{colortbl}

\begin{document}

\begin{tabular}{l}
    a \\ b \tabularnewline
    \cellcolor{blue}{a b}   \tabularnewline
    \cellcolor{green}{a \\ b}
\end{tabular}


\end{document}

答案1

\cellcolor{green}{a \\

做:

  • \cellcolor{green}其次是
  • 一个显式的 begin-group 标记,用于启动一个新组({带类别代码 1 的左括号)
  • 添加一个a字符
  • tabular行末有\\

此时,这是不正确的,因为\\终止了正在处理的单元格,但 begin-group end end-group 标记在此单元格内未正确平衡( 启动了一个组,{但您的代码未正确结束该组)。这就是为什么 TeX 说:

./rr.tex:10: Missing } inserted.
<inserted text> 
                }
l.10     \cellcolor{green}{a \\ b
                                 }

(据我所知,上面写着阅读,b因为\\在发出 ) 之前做了一些前瞻性检查,以查看您是否给出了可选参数\cr

此外,这也是我写这个答案的原因,\cellcolor 只接受一个参数,而不是两个,因此我会写这个来修复你的例子:

\documentclass{article}
\usepackage[table]{xcolor}

\begin{document}

\begin{tabular}{l}
    a \\
    b \\
    \cellcolor{blue!20}a b\\
    \cellcolor{green!20}a\\
    \cellcolor{green!20}b
\end{tabular}

\end{document}

xcolor仅用于使颜色看起来比仅仅blue和更美观green

在此处输入图片描述

答案2

因为该行有多个单元格。以下方法可行:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{colortbl}
\begin{document}
\begin{tabular}{l}
    \\ b \tabularnewline
    \cellcolor{blue}{a b}   \tabularnewline
    \cellcolor{green}{a} \\ \cellcolor{green}{b}
\end{tabular}
\end{document}

答案3

好吧。(La)TeX 的表格模型每天都会给我带来惊喜。

我认为新的tabularray包裹会再次给您带来惊喜。:-)

\documentclass{article}

\usepackage{tabularray}
\usepackage{xcolor}

\begin{document}

\begin{tblr}{l}
  a \\ b \\
  \SetCell{blue8} a b \\
  \SetCell{teal8} {a \\ b}
\end{tblr}

\end{document}

在此处输入图片描述

答案4

使用,您可以在一个单元格中放入多行内容,使用多功能的内置命令,该{NiceTabular}命令有一个键来填充它。nicematrix\Blockfill

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{l}[colortbl-like]
    a \\ 
    b \\
    \cellcolor{blue!15}a b \\
    \Block[fill=green!15]{}{a \\ b}
\end{NiceTabular}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容