是什么让 LaTeX 排版的基本 \rightarrow 箭头有所不同?

是什么让 LaTeX 排版的基本 \rightarrow 箭头有所不同?

最近,我在两台不同的计算机上排版了同一份文档——一次是在 Mac 上,一次是在运行 Ubuntu 的机器上。(两台机器都安装了最新版本的 TeX Live,或任何标准发行版。)这两个 PDF 完全相同,只是Ubuntu 机器生成的\rightarrows(因此是\tos)的头部比 Mac 生成的略粗(且更丑)。这种样式功能在不同的 LaTeX 版本中会有所不同吗?我如何控制排版哪些箭头?

代码

\documentclass{article}

\begin{document}

This document was created on the Ubuntu machine, using \TeX\ Live 2009, \LaTeX\ 2e, etc.
Here is an arrow:
    \[ \rightarrow\]

\end{document}

在Ubuntu机器上生成arrowtest.pdf。

代码如下

\documentclass{article}

\begin{document}

This document was created using the Mac, using \LaTeX\ 2e, etc.
This is an arrow:
    \[ \rightarrow \]

\end{document}

在我的 Mac 上生成了 arrowtest2.pdf。

答案1

有两个版本的箭头在流通,因此有可能一台机器上的字体使用第一个版本,而另一台机器上的字体使用另一个版本。

事情是这样的,Knuth 在 1992 年改变了箭头的样式,正如他在致所有 TeX 用户的重要信息

1992 年许多字符得到了改进,特别是箭头,现在颜色更暗,箭头更大,这样复印后就不会那么容易消失。

以下是两个版本的并排比较:

两个箭头的比较

问题是,当基于 Computer Modern 的字体转换为 type1 格式时,有些字体保留了旧版本,有些则保留了新版本。例如,amssymb\twoheadrightarrow使用短箭头,而 bluesky type1 \rightarrow 使用大箭头:

在此处输入图片描述

\documentclass{article}
\usepackage{amssymb}
\begin{document}
$\rightarrow$ $\twoheadrightarrow$
\end{document}

如果您加载旧lmodern包(例如 2007/01/14 的 1.3 版),\rightarrow将使用旧箭头(但文本箭头为新箭头)。然而,在最新的 中lmodern,现在正在使用正确的箭头,因为lm-历史文件文件说:

Ver. 2.003, 16.09.2009: main modification: shapes of LM glyps consistent
with D.E. Knuth's recent changes in CMs plus lots of tiny changes;
most important changes are described in details below: 
* fonts and glyphs modified according to D.E. Knuth's changes in CMs
  (note that the corrections related to glyph shapes, not metric data):
  -- leftward arrow (char '040), rightward arrow (char '041),
     upward arrow (char '042), downward arrow (char '043),
     left-and-right arrow (char '044), northeast arrow (char '045),
     southeast arrow (char '046), northwest arrow (char '055),
     southwest arrow (char '056), up-and-down arrow (char char '154)
     lmsy5 lmbsy5 lmsy6 lmsy7 lmbsy7 lmsy8 lmsy9 lmsy10 lmbsy10

如果您确定您的两个 TeX 发行版都是最新的,则\usepackage{lmodern}在两者上使用应该可以解决问题。

相关内容