在默认字体(Computer modern)中,ß 对我来说看起来很丑。它在页面上真的很突出,就好像它来自不同的字体一样。这是一张图片:
这个字符的历史是什么?为什么左边有一条竖线突出?为什么右上角的弓比这个字体中的任何其他线条都细得多。
我在用着
\usepackage[T1]{fontenc}
但即使我禁用 T1,ß 仍然看起来很奇怪(但略有不同)。
具体问题是:这个字符的历史是什么?它是 Knuth 最初的 Computer modern 的一部分还是后来添加的?有哪些字体选项可以让 ß 与字体的其余部分更一致?我试过lmodern
Computer modern 的变体。它的 ß 在我看来更好,但它的左侧仍然有突出的小条。
答案1
当将字形视为长 s 和圆 s 的连字符时,视觉上会更有意义,这是 ß 的两种传统形式之一(另一种当然是长 s 和 z)。以下是使用 cm-unicode 版本 0.6.3a 中的轮廓进行的比较:
这里我使用 f 作为连字符第一部分的参考,因为我在 cm-unicode 中找不到长 s。所以您在评论中提到的“超细”线很细,因为它只是充当两个子字形之间的连字符。您可以看到 s 部分已被水平压缩以保持总宽度合理,但在垂直轴上它非常接近。
附录:从其他答案中发现 Jörg Knappen 是此 ß 的设计者,我找到了一些与该设计相关的当代 Usenet 帖子。最简洁的解释似乎是这个Knappen 本人说道:
我有意识地重新设计了尖锐的 s,以展示连字结构 <长 s> <短 s>。尽管流行名称为 eszett,但我发现支持这种分析的论据(由 Tschiold 给出)比支持 <长> <z> 的论据更有说服力。
还有德语主题这可以概括为对 ſs 和 ſʒ 形式的相对优点的激烈讨论,其中 Knappen 坚决捍卫他的选择。
剩下的一个问题是,为什么 Knappen 把上部做得这么窄,而许多(大多数?)带有 ſs 变体的字体却将连字符线拉得更靠右——例如 Linotype Aldus Roman:
在这种情况下,我认为没有任何记录,我们必须假设这是个人风格选择。这种“压缩”风格的 ſs 当然不是 Computer Modern 独有的。例如,这是 Antiqua 中的 ſs:
至于实际用您认为更有吸引力的东西替换此字形:如果您的 TeX 安装足够新,则切换到 Latin Modern 应该足够了。从 Martin Schröder 的回答和 barbara beeton 的评论来看,似乎 Knappen ß 是一些旧版本的 Latin Modern 中的默认设置。因此,如果简单的 \usepackage{lmodern} 不起作用,您可以考虑更新您的 TeX 安装,或者按照 Ulrike Fischer 的说明从 cm-super 字体中选择 Knuth ß。
答案2
我不知道 Knuth 为什么要在 cm 字体中设计出 ß。我不太记得 Jörg Knappen 为什么要在 ec 字体中改变 ß 的外观,但我记得当时关于这个选择有过一些相当激烈的讨论。
如果您不喜欢这两种 ß,那么您无能为力(除了自己重新设计字形)。但由于 cm-super 字体包含 ß 的两种变体,因此您也可以使用“旧”版本和 T1 编码,而无需切换到 lmodern 字体:
查找cm-super-t1.enc
(fonts/enc/dvips
通常在),复制一份,例如,cm-super-t1-alt.enc
并将其存储在 latex 可以找到的位置(例如,在当前目录中)。打开新.enc
文件,并将末尾更改/germandbls
为/germandbls.alt
。
cm-super-t1.map
在 中查找fonts/map
,复制一份,例如cm-super-t1-alt.map
,将其存储在可以找到的地方。打开它,用 替换所有出现cm-super-t1.enc
的cm-super-t1-alt.enc
然后加载新的地图文件,例如\pdfmapfile
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%\pdfmapfile{= cm-super-t1-alt.map} % to replace ß in all fonts
% for the example only for one font:
\pdfmapline{= ecrm1000 SFRM1000 " T1Encoding ReEncodeFont " <cm-super-t1-alt.enc <sfrm1000.pfb}
\begin{document}
The original of the ec font (larger to be able to show all in one document):
{\large grüße}
The alternative germandbls.alt from cm-super:
grüße
In the cm-fonts: \fontencoding{OT1}\selectfont
grüße
In the lmodern fonts:
\fontfamily{lmr}\selectfont
grüße
\end{document}
如果你想要将新的 ß 与 dvips 或 dvipdfmx 一起使用,或者不想麻烦,\pdfmapfile
那么你必须使用 updmap(-sys) 激活新的映射文件,
答案3
我对您使用的字体无能为力,但建议使用这些lmodern
字体,即 Computer Modern 字体的现代化变体。
\documentclass{minimal}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{center}
Große Straße ließen gießen maßen heißt Spaß Fuß Maß Gruß reißend
\end{center}
\end{document}
附录:下面是ß
一些受人尊敬的字体的字形,以供比较。
答案4
这是一个结扎两个 's' 字符,一个接一个。
直到 18 世纪末,它在英语中也很常用。
单个“s”字符通常被画成没有横线的“f”。当画两个连续的“s”字符时,它们会组合成您询问的形式。
在英语中,第一个字符在拿破仑战争期间演变为“s”字形。连字随后从当代英语用法中消失,但在德语中仍然存在。
在 Unicode 中,虽然连字符是作为方便字符提供的,但标准强烈建议将连字符分解为其组成部分角色点数,同时将它们编码为连字。Unicode 是将事物编码为字符,而不是字形。Unicode 标准在第 2.2 节中将“f”和“i”的连字作为其连字的典型示例。
泰勒和罗沃思所著的《步兵防御艺术》中可以找到英语中长 s 和 fs 连字的变形示例。该书有三次修订,分别是 1798 年、1804 年和 1824 年。第二版和第三版之间的修订几乎完全是对长 s 排版的更改。(1804 年版还大量使用了 ft、fh 和 ct 连字,甚至还有 fk 和 ff 连字)。
[编辑:Steven B. Segletes] fs 连字出现在以下著名文档(约 1776 年)中,出现在第 1 行和第 4 行中间位置的单词“necessary”和“Happiness”中。注意:它也用于以“s”开头的单词,例如第 4 行的“secure”。
就印刷版而言,情况也是如此(尽管在“diffolve”中同时呈现为“ff”,在“Happinefs”中也呈现为“fs”),如《独立宣言》的第一次印刷版所示(参考:http://www.ushistory.org/us/10g.asp):