表格中的大写列

表格中的大写列

我需要将表格中的一列转换为大写。我的代码无法按我想要的方式运行:

\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 

\ignorespacesLaTeX 放置在每个单元格前面的标记,以便忽略其后的空格&

相关内容