使用 collcell 包切换文本大小写

使用 collcell 包切换文本大小写

我想使用该包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}

相关内容