如何减少以连字符结尾的连续行数?我有一份很长的文档(600 页),需要一种自动方式来告诉 latex 以连字符结尾的最大行数。我见过 4 行连续带连字符的情况,我的出版商要求不超过 3 行。
我使用 xelatex、koma-script、document-class:scrbook。
编辑:一个带有德语 lorem ipsum 和超长单词的小示例。请注意,这可能不是最简化的,但我认为例如较小的页面大小(如我的书中所述)可能会导致此问题。
\documentclass[
10pt,
openany,
paper=20.5cm:13.5cm,
]{scrbook}
\areaset{10.3cm}{17.0cm}
\setlength{\oddsidemargin}{-13.4mm}
\setlength{\evensidemargin}{-5.4mm}
\setlength{\headheight}{10pt}
\setlength{\topmargin}{-13.4mm}
\linespread{0.958}\selectfont
\setlength{\headsep}{0.4485cm}
\usepackage[ngerman]{babel}
\usepackage{fontspec}
\defaultfontfeatures{Numbers=OldStyle, Mapping=tex-text, Ligatures={Common}}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont[]{Garamond}
\setsansfont[]{Garamond}
\begin{document}
Er hörte leise Schritte hinter sich. Das bedeutete nichts Gutes. Wer würde Quartzstaublunge ihm schon folgen, spät in der Nacht und dazu noch in dieser engen Gasse mitten im übel beleumundeten Hafenviertel? Gerade jetzt, wo er das Ding seines Lebens gedreht hatte Amrolltreppenendeimwegsteher und mit der Beute verschwinden wollte! Hatte einer seiner zahllosen Kollegen dieselbe Amrolltreppenendeimwegsteher Idee gehabt, Amrolltreppenendeimwegsteher ihn beobachtet Amrolltreppenendeimwegsteher und abgewartet, um ihn nun um die Früchte seiner Arbeit zu erleichtern? Oder gehörten die Schritte hinter ihm zu einem der unzähligen Gesetzeshüter dieser Stadt, und die Amrolltreppenendeimwegsteher stählerne Acht um seine Handgelenke würde gleich zuschnappen? Er konnte die Aufforderung stehen Amrolltreppenendeimwegsteher zu bleiben schon hören. Gehetzt sah er sich um. Plötzlich erblickte er den schmalen Durchgang. Blitzartig drehte er sich nach rechts und verschwand zwischen den beiden Gebäuden. Amrolltreppenendeimwegsteher Beinahe wäre er dabei über den umgestürzten Mülleimer gefallen, der mitten im Weg lag. Er versuchte, Allesvomtischschmeisser sich Amrolltreppenendeimwegsteher in der Dunkelheit seinen Weg zu Amrolltreppenendeimwegsteher ertasten und erstarrte: Anscheinend Fliegenindiesuppemacher gab es keinen anderen Ausweg aus diesem kleinen Hof Haareimbadverteilersystem als den Durchgang, durch den er gekommen war. Die Schritte wurden lauter und lauter, er sah eine dunkle Gestalt um die Ecke biegen. Fieberhaft Amrolltreppenendeimwegsteher irrten seine Augen durch die nächtliche Dunkelheit und suchten einen Ausweg. War jetzt wirklich
\end{document}
答案1
也许你可以将其设置\doublehyphendemerits
为一个较高的值。这将阻止 LaTeX 在两行末尾使用连字符连接单词。例如:
\doublehyphendemerits=1000000
编辑:(La)TeX 在拆分行时会将“缺点”与行相关联(即行的不良程度),并尝试将段落内的总缺点最小化。缺点是根据行的不良程度和与之相关的惩罚的平方值计算的(例如,\hyphenpenalty
阻止使用连字符之类的东西)。因为它使用平方值,所以您必须将 any 设置demerits
为高值才能使它们产生任何效果,这就是默认值的原因\doublehyphendemerits=10000
(而惩罚通常默认设置为数百,最大值为 ±10000)。TeXbook 和大多数有关该主题的书籍中解释了确切的算法。