我想要一种列类型,在每个单元格中添加特定的文本。
我正在考虑使用:
\newcolumntype{C}{>{\shortstack\bgroup extratext\\}c<{\egroup}}
我期望这会给我想要的结果,但它抱怨缺少 } 和 {。如果能解释为什么会发生这种情况,我将不胜感激。
梅威瑟:
\documentclass{article}
\usepackage{array}
\newcolumntype{C}{>{\shortstack\bgroup extratext\\}c<{\egroup}}
\begin{document}
\begin{tabular}{CCC}
a & b & c
\end{tabular}
\end{document}
答案1
您不能通过将参数\shortstack
括在\bgroup
和之间来指定它\egroup
。在某些情况下,这种方法有效或似乎有效,但只是偶然。
你collcell
可以这样做:如果你声明\usepackage{collcell}
,语法是
>{\collectcell\macro}c<{\endcollectcell}
完整示例:
\documentclass{article}
\usepackage{array,collcell}
\newcolumntype{C}{>{\collectcell\extratext}c<{\endcollectcell}}
\newcommand{\extratext}[1]{\shortstack{extratext\\#1}}
\begin{document}
\begin{tabular}{CCC}
a & b & c
\end{tabular}
\end{document}