t1-fontenc 和满箱

t1-fontenc 和满箱

我理解 T1-fontencoding 应该有助于对带重音字母的单词进行连字(我是德国人),而且确实如此。但另一方面,它可以产生过满的文本框(和数学),而不受任何德国影响,过满的框不会发生没有使用 t1-fontenc,也不使用纯 TeX。附件中有 mwe,我运行了两次,t1-fontenc 和没有

我有点惊讶,因为我认为简单的 tex 代码,特别是数学代码应该总是产生相同的输出。

这种行为正确吗?还是它表明我的 miktex 安装存在任何不一致之处?

如果它是正确的,我想知道我是否应该使用 T1-fontenc,因为带重音字母的连字符问题可以通过包含可选连字符来处理,而数学代码中出现过满的框并不那么容易避免。

梅威瑟:

\documentclass[a4paper,11pt]{report}
%\usepackage[T1]{fontenc}    %wichtig für Trennung von worten mit umlauten!
                             %Nicht immer optimal, lohnt sich vielleicht nicht
\textwidth=159.92mm
\overfullrule4pt
\begin{document}
Man definiert rekursiv die mehrfache Verknupfung in Gruppen, und zwar fur
$n\in N$, $a_1,\ldots,a_n\in G$:
\end{document}

输出t1-fontenc:

不带 t1-fontenc 的 dvi 输出

输出没有t1-fontenc:

无需使用 t1-fontenc 的 dvi 输出

答案1

您应该使用 T1。无论使用哪种编码,您都不太可能遇到框满问题,只是因为度量标准不同,并且(一般情况下但不是这个例子)如果连字符发生变化,段落中的所有换行都会不同。所以有时您会在一种设置中遇到问题,但在另一种设置中不会遇到问题。

在您展示的示例中,这只是一条难以设置的线,看起来都不太好,T1 版本太拥挤(而且仍然太满),而 OT1 版本非常松散且间隔很大。我会尝试在某个地方更改单词,如果这确实不可能,请使用 T1 和\sloppy(仅适用于该段落)

在此处输入图片描述

答案2

如果您想要获得更好的换行和字间距,您可以做两件事:使用 加载适合您语言的正确连字模式babel,并加载microtype以启用字体扩展。(后者适用于 LuaLaTeX 或 PDFLaTeX,但不适用于 XeLaTeX。)

\documentclass[a4paper,11pt]{report}
\usepackage[T1]{fontenc}    %wichtig für Trennung von worten mit umlauten!
                            %Nicht immer optimal, lohnt sich vielleicht nicht
\usepackage[ngerman]{babel}
\usepackage{microtype}

\textwidth=159.92mm
\overfullrule4pt
\begin{document}
Man definiert rekursiv die mehrfache Verknupfung in Gruppen, und zwar fur
$n\in N$, $a_1,\ldots,a_n\in G$:
\end{document}

字体示例

如果您加载其他字体,甚至运行 LuaLaTeX 并加载fontspec(或unicode-math)以使用 Unicode,这些技术仍然有效。如果这是您的选择,我建议您使用它而不是传统的 8 位字体。

此示例与您的第一个示例基本相同,因此,如果它对您没有吸引力,请考虑更改布局,例如使用显示数学。

相关内容