在环境中添加字母之间的间距

在环境中添加字母之间的间距
% Defines the rSection environment for the large sections within the CV
\newenvironment{rSection}[1]{ % 1 input argument - section name
  \sectionskip
  \hrule % Horizontal line
  \MakeUppercase{\bf #1} % Section title <----
  \sectionlineskip
  \begin{list}{}{ % List for each individual item in the section
    \setlength{\leftmargin}{0em} % Margin within the section
  }
  \item[]
}{
  \end{list}
}

我想在章节标题的字母之间添加一些间距。我试过了,{\addfontfeature{LetterSpace=10.0}\MakeUppercase{\bf #1}}但没有用。我该怎么办?我正在使用 XelaTex。

我很难找到此类内容的文档。我应该在哪里查找?

我已经尝试过解决方案XeLaTeX:字母之间的空格但它不起作用。

答案1

您是否只能使用 XeLaTeX?如果您可以自由使用 LuaLaTeX,则可以加载包microtypeletterspace包(基本上是 的精简版microtype)。如果使用 LuaLaTeX 可行,只需更改

\MakeUppercase{\bf #1}

\textls*{\MakeUppercase{\bfseries #1}}

(另外:\bf在 LaTeX 文档中已弃用。请使用{\bfseries ...}\textbf{...}。)

有关如何更改字母间距(又名跟踪)的microtype更多信息,请参阅该包的用户指南第 7 节。\textls

答案2

您不能\addfontfeatures在尚未明确加载的字体上使用。

\documentclass{article}
\usepackage{fontspec}

\setmainfont{Latin Modern Roman}

\NewDocumentCommand{\spaceduppercase}{m}{%
  {\addfontfeatures{LetterSpace=10}\MakeUppercase{#1}}%
}

\begin{document}

\spaceduppercase{Test} TEST

\textbf{\spaceduppercase{Test}} \textbf{TEST}

\end{document}

因此,将你的(错误)\MakeUppercase{\bf #1}改为

\textbf{\spaceduppercase{#1}}

相关内容