我想创建一个新命令来设置列颜色,但它导致以下错误:
! Undefined control sequence.
\redcolumn ->\columncolor
{red}
l.10 A & B
\\
我不知道是不是因为我正在调用一个带有参数的命令,还是因为我试图调用新命令,但这是源代码:
\documentclass[letterpaper,20pt]{extarticle}
\usepackage[table,xcdraw]{xcolor}
\newcommand{\redcolumn}{\columncolor{red}}
\begin{document}
\begin{tabular}{l >{\columncolor{red}}l}
A & B \\
\end{tabular}
\begin{tabular}{l >{\redcolumn}l}
A & B \\
\end{tabular}
\end{document}
第一个表格使用\columncolor
,并且成功了。第二个表格使用我的新命令,但失败了。我怎么误解了\newcommand
?
答案1
感谢 Jérôme 的评论,我找到了一个解决方案:使用\newcolumntype
而不是\newcommand
:
\documentclass[letterpaper,20pt]{extarticle}
\usepackage[table,xcdraw]{xcolor}
\newcolumntype{R}{>{\columncolor{red}}l}
\begin{document}
\begin{tabular}{l >{\columncolor{red}}l}
A & B \\
\end{tabular}
\begin{tabular}{l R}
A & B \\
\end{tabular}
\end{document}
对于左对齐的列来说它可能有点奇怪R
,但是它代表红色。