使用小型大写字母缩写时如何处理额外的空格?

使用小型大写字母缩写时如何处理额外的空格?

小型大写字母的默认字母间距似乎针对标题等进行了优化,但对于缩写来说有点太窄了。我该如何让字母间距更大,以适合缩写?

另外,我正在使用memoir类和\usepackage[osf]{mathpazo}

答案1

使用微型包及其tracking选项。使用该letterspace选项进行微调。

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[osf]{mathpazo}

\usepackage[%
%  tracking=smallcaps,
%  letterspace=50,% default: 100
]{microtype}

\newcommand*{\abbrev}[1]{\textls[50]{\textsc{#1}}}

\begin{document}

\Huge

Some text \textsc{in small caps}.

Some text \abbrev{in small caps}.

\end{document}

编辑:虽然 的一些microtype功能(尤其是自动字体扩展)不适用于位图字体,但跟踪/字母间距可能有效。不过,我还没有彻底测试过。

编辑 2:修改示例以便仅在特定宏内留出字母空间。

答案2

我宁愿使用 soul 包。您可以定义一个宏,以便更轻松地排版缩写,如下所示:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[osf]{mathpazo}
\usepackage{soul}

%\usepackage[%
%  tracking=smallcaps,
%  letterspace=50,% default: 100
%]{microtype}

\def\abbreviation#1{\textsc{\so{#1}}
}

\begin{document}
\textsc{nato}

\abbreviation{nato}
\end{document}

取消注释microtype上面的包代码来查看差异。

答案3

我最终选择了 soul 包,因为 microtype 似乎不适用于我使用的字体:

(编辑:显然它可以工作)

\documentclass[10pt]{memoir}
\usepackage[T1]{fontenc}
\usepackage[osf]{mathpazo}
\usepackage{soul}

\newcommand{\abbrev}[1]{\null\so{\textsc{#1}}\null}

\begin{document}
\sodef\so{}{0.1em }{0em}{0em}

So now I can write \abbrev{usa} instead of \textsc{usa}.

\end{document}

相关内容