xcoffin 中的精确排版

xcoffin 中的精确排版

进一步满足我的好奇心棺材,我正在玩 xcoffins-tschichold-example.tex。

在 TeX 重建的首页中基本排版,文本与规则略有错位。这显然是由于字形轮廓的右边缘与其边界框的右边缘之间存在间隙(抱歉,我不知道该用什么专业术语)。

现在,在“正常”对齐文本中,我认为这个间隙被抑制了。在这种情况下,我该如何抑制它,而不会失去自动将棺材适合文本的能力,最好不必担心换行单个字母(例如n在这种情况下)在 TeX 命令中?

(PS:我现在知道它们被称为侧轴承;感谢@egreg。)

文本与规则未对齐

答案1

以下是我如何得到我想要的东西(仅限 XeTeX),感谢来自@egreg。先是图像,然后是代码。

在此处输入图片描述

\documentclass{article}
\usepackage{fontspec}
\usepackage{xcoffins}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\WidthOfCoffin}{m}{ \box_wd:N #1 }
\ExplSyntaxOff
\setsansfont{NimbusSanL}
\pagestyle{empty}
\def\kright#1{\leavevmode #1\kern-\XeTeXglyphbounds3 \the\XeTeXcharglyph`#1 }
\def\kleft#1{\leavevmode \kern-\XeTeXglyphbounds1 \the\XeTeXcharglyph`#1 #1}
\begin{document}
\NewCoffin \result
\SetHorizontalCoffin \result {}
\NewCoffin \aaa
\SetHorizontalCoffin \aaa {\fontsize{52}{50}\sffamily\bfseries mitteilungen}
\NewCoffin \rulei
\SetHorizontalCoffin \rulei  {\color{red}\rule{\WidthOfCoffin{\aaa}}{1pc}}
\NewCoffin \bbb
\SetHorizontalCoffin \bbb {\fontsize{52}{50}\sffamily\bfseries \kleft{m}itteilunge\kright{n}}
\NewCoffin \ruleii
\SetHorizontalCoffin \ruleii  {\color{red}\rule{\WidthOfCoffin{\bbb}}{1pc}}
\JoinCoffins \result \aaa 
\JoinCoffins \result[\aaa-t,\aaa-l] \rulei [b,l](0pt,2mm)
\JoinCoffins \result[\aaa-b,\aaa-l] \bbb [t,l](0pt,-10mm)
\JoinCoffins \result[\bbb-t,\bbb-l] \ruleii [b,l](0pt,2mm)
\TypesetCoffin \result
\end{document}

相关内容