我最近注意到我的论文(模板在这里) 以大写字母开头的单词没有连字符。然后,我研究并发现\uchyph=0
如何防止 TeX 对首字母缩略词进行连字符连接?然后,我观察到我的一些包正在使用它,但我没有发现任何一个包使用它。
然后,我经过一个小时的二分查找,得到了这个最小的例子,即通过从我的完整论文模板中删除添加的配置和包进行反复试验,直到得到这个最小的例子:
\documentclass[10pt,a5paper]{memoir}
\usepackage[brazil]{babel}
\usepackage{anyfontsize}
\usepackage{lmodern}
\usepackage{microtype}
\setlrmarginsandblock{2.5cm}{1.5cm}{*}
\checkandfixthelayout
\emergencystretch=50em
\renewcommand{\normalsize}{\fontsize{10.5pt}{11pt}}
\begin{document}
Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens
Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens
Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens
Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens
Linguagens Linguagens.
linguagens linguagens linguagens linguagens linguagens linguagens linguagens
linguagens linguagens linguagens linguagens linguagens linguagens linguagens
linguagens linguagens linguagens linguagens linguagens linguagens linguagens
linguagens linguagens linguagens linguagens linguagens linguagens linguagens.
\end{document}
我的序言中所有这些元素的结合导致了无法用连字符连接以大写字母开头的单词的问题。
我可以在不从我的论文模板中删除这些命令或包的情况下修复它吗?
在我的完整论文中,仅删除\usepackage{lmodern}
包并不能解决问题。我必须同时删除\usepackage{lmodern}
和\usepackage{anyfontsize}
。
有关的:
答案1
它与大写字母无关,只是改变了宽度,从而影响了可能的换行点。您的单词非常大,\emergencystretch
因此 tex 更倾向于拉伸空格而不是用连字符连接单词。
\documentclass[10pt,a5paper]{memoir}
\usepackage[brazil]{babel}
\usepackage{anyfontsize}
\usepackage{lmodern}
\usepackage{microtype}
\setlrmarginsandblock{2.5cm}{1.5cm}{*}
\checkandfixthelayout
%\emergencystretch=50em
\renewcommand{\normalsize}{\fontsize{10.5pt}{11pt}\selectfont}% \selectfont needed
\begin{document}
\showhyphens{Linguagens linguagens}
Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens
Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens
Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens
Linguagens Linguagens Linguagens Linguagens Linguagens Linguagens
Linguagens Linguagens.
linguagens linguagens linguagens linguagens linguagens linguagens linguagens
linguagens linguagens linguagens linguagens linguagens linguagens linguagens
linguagens linguagens linguagens linguagens linguagens linguagens linguagens
linguagens linguagens linguagens linguagens linguagens linguagens linguagens.
\end{document}
不使用上述紧急拉伸,你会得到一些过满的行,因为没有好的换行点,如果你增加少量拉伸,那么你可以允许换行而不会过度拉伸。使用0.5em
而不是,50em
你不会得到过满的行,并且
\emergencystretch=.5em