我正在尝试重新定义\bfseries
为一个间隔命令。最简单的方法是将其重新定义为\so
来自包的宏soul
。问题是,\so
需要一个参数(因此类似于\textbf
)。
有没有一种好的方法可以获得具有该\bfseries
语法的宏,它可以产生字母间距输出(并且还能保证稳健性)?
答案1
您可以\lsstyle
从 microtype 包中使用:
\documentclass[a4paper,12pt]{article}
\usepackage{microtype}
\begin{document}
{\lsstyle some text letterspaced} some text not letterspaced
\end{document}
使用 xelatex 您可以执行类似的操作(您可以定义自己的命令,而不是重新定义 \lsstyle):
\documentclass[a4paper,12pt]{article}
\usepackage{fontspec}
\setmainfont{Latin Modern Roman} %needed for addfontfeature
\usepackage{microtype,ifxetex}
\ifxetex
\AtBeginDocument{\renewcommand\lsstyle{\addfontfeature{LetterSpace=5}}}
\fi
\begin{document}
{\lsstyle some text letterspaced} some text not letterspaced
\end{document}