我需要将表格中的一列转换为大写。我的代码无法按我想要的方式运行:
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{c>{\MakeUppercase}c}
a & b
\end{tabular}
\end{document}
有什么问题?
答案1
我们自己的 Martin Scharrer 的collcell
套件非常适合这种情况:
\documentclass{article}
\usepackage{array}
\usepackage{collcell}
\newcolumntype{U}{>{\collectcell\MakeUppercase}c<{\endcollectcell}}
\begin{document}
\begin{tabular}{cU}
a & b
\end{tabular}
\end{document}
答案2
\MakeUpperCase
如果您使用不带任何符号的宏{}
,那么它将把后面的第一个标记作为参数,但在这种情况下,该标记不是b
:
\MakeUppercase #1->\protect \MakeUppercase {#1}
#1<-\ignorespaces
\ignorespaces
LaTeX 放置在每个单元格前面的标记,以便忽略其后的空格&
。