在 Calabi-Yau 中的“Y”前插入负的字距

在 Calabi-Yau 中的“Y”前插入负的字距

一些字形对在字形之间插入字距后看起来更加美观。例如,如果使用不包含 (–,Y) 对的字距信息的字体排版单词 Calabi–Yau,则短划线末尾和字母 Y 的字干之间的间距太大。比较Calabi--Yau有和没有字距的结果:

带微分字距的 Calabi–Yau

\documentclass{article}
\begin{document}
Calabi--Yau
Calabi--\kern-.15em Yau
\end{document}

有没有办法自动插入这样的字距,最好是在序言中插入一些代码,而文档中不需要额外的标记?

答案1

这可能会破坏各种各样的事情……

…例如\kern--.15em\csname --Y\endcsname

有关的:使用 pdfLaTeX 轻松分配未定义的连字符?

代码

\documentclass{article}
\usepackage[english]{babel}
\makeatletter
    \languageshorthands{english}
    \initiate@active@char{-}
    \defineshorthand{--}{%
        \char`-\char`-%
        \@ifnextchar Y{\ifmmode\else\kern-.15em\fi}{}%
    }
\newcommand*{\activateendashYligature}{\bbl@activate{-}}
\newcommand*{\deactivateendashYligature}{\bbl@deactivate{-}}
\makeatother
\activateendashYligature
\begin{document}
Calabi--Yau (\verb|Calabi--Yau|) \par
Calabi--\kern-.15emYau (\verb|Calabi--\kern-.15emYau|) \par
Calabi--{}Yau (\verb|Calabi--{}Yau|)\par
Calabi-Test (\verb|Calabi-Test|)

$ --Y = -{}-Y $ (\verb|$ --Y = -{}-Y $|) \par
--Y $\to$ \deactivateendashYligature --Y \par% turning it off
$ --Y = -{}-Y $ (\verb|$ --Y = -{}-Y $|)\par
\end{document}

输出

在此处输入图片描述

相关内容