![使用 collcell 包切换文本大小写](https://linux22.com/image/252155/%E4%BD%BF%E7%94%A8%20collcell%20%E5%8C%85%E5%88%87%E6%8D%A2%E6%96%87%E6%9C%AC%E5%A4%A7%E5%B0%8F%E5%86%99.png)
我想使用该包collcell
来更改环境中列中每个字符串的大小写tabu
。我知道有一些解决方法可以做到这一点而不诉诸于该包,但我所知道的方法对我来说似乎都不是很“优雅”。是否可以通过诉诸该包以更直接的方式做到这一点?我尝试使用以下 MWE,但收到错误消息。
\documentclass[12pt]{memoir}
\usepackage{tabu,collcell}
\newcommand{\makeupper}[1]{\MakeUppercase{#1}}
\newcolumntype{U}{>{\collectcell\makeupper}X[-1,r]<{\endcollectcell}}
\tabucolumn U
\begin{document}
\pagestyle{empty}
\begin{tabu} spread0pt{@{}U@{}}
Title \\
\end{tabu}
\end{document}
我也想使用该包soul
来进行字母间距调整,但这只有在解决了第一个问题之后才能实现。
答案1
您X[-1,m,p]
的代码似乎工作得很好,并且大小写根据需要切换为大写:
代码:
\documentclass[12pt]{memoir}
\usepackage{tabu,collcell}
\newcommand{\makeupper}[1]{\MakeUppercase{#1}}
\newcolumntype{U}{>{\collectcell\makeupper}X[-1,m,p]<{\endcollectcell}}
\tabucolumn U
\begin{document}
\pagestyle{empty}
\begin{tabu} spread0pt{@{}U@{}}
Title \\
\end{tabu}
\end{document}