将标点符号大小与小型大写字母匹配

将标点符号大小与小型大写字母匹配

普通撇号对于小型大写字母来说太大了,这使得我的页眉看起来很奇怪。

\footnotesize我通过将每个撇号缩小到并将其降低 -0.55ex 来 解决这个问题。

有没有更优雅的方法来做到这一点?

(注:1:这可能适用于其他标点符号,但撇号是我唯一关心的问题。2:我不想像建议的那样缩放字体这里,因为这会导致字距调整问题。3:与此相关,我发现,字体太大时,撇号和引号看起来太粗,因此我倾向于使用较小的字体大小,并使用 调整高度\raisebox。)

\documentclass{article}

\begin{document}

WOULDN'T'VE --- full caps

{\sc wouldn't've} --- dislike

{\sc wouldn\raisebox{-.055ex}{\footnotesize'}t\raisebox{-.055ex}{\footnotesize'}ve} --- like

\end{document}

平均能量损失

答案1

评论太长:您正在将小写小型大写字母与大写字母进行比较,但您还应该考虑其他变体:

\documentclass{article}
\usepackage[T1]{fontenc}
%\usepackage{lmodern}
\begin{document}
wouldn't've WOULDN'T'VE  

{\scshape wouldn't've WOULDN'T'VE} 

{\scshape wouldn\raisebox{-.055ex}{\footnotesize'}t\raisebox{-.055ex}{\footnotesize'}ve
WOULDN\raisebox{-.055ex}{\footnotesize'}T\raisebox{-.055ex}{\footnotesize'}VE} 

\end{document}

在此处输入图片描述

答案2

另一种方法是将撇号设为活动字符,并将其定义为仅在小写字母有效时使用 \raisebox。我有小写字母章节标题和连载标题,但目录不是小写字母。这对我来说很有效:

\let\horn@scshape\scshape
\def\scshape{\addfontfeature{Letters=UppercaseSmallCaps,Letters=SmallCaps,LetterSpace=2,WordSpace=1.2}\let\horn@apos\horn@@apos}

\def\horn@apos{'}
\def\horn@@apos{\raisebox{-0.4ex}{\kern0.06em'}}

% make ' (apostophe) active for the argument to chapter so we can lower it for small caps
\let\horn@chapter\chapter
\def\chapter{
\begingroup
    \catcode`\'=\active\begingroup\lccode`\~=`\'\lowercase{\endgroup\def~{\protect\horn@apos}}
    \horn@@chapter
}

\def\horn@@chapter#1{%
\horn@chapter{#1}
\endgroup
}

相关内容