用破折号连接的数字之间的换行符

用破折号连接的数字之间的换行符

在我的文本中,我使用了很多日期。现在我遇到了以下问题:(1480–1541两个数字,中间有一个破折号)出现在一行的末尾,并延伸到行边空白处,而没有正确地分隔到下一行。我猜这是破折号造成的。类似的东西1480–\-1541不起作用,因为它添加了一个额外的连字符。那么,我如何才能获得正确的结果:

... ... ... 1480–
1541?

答案1

塞巴斯蒂安,

我相信你想要的是\emergencystretch,例如\emergencystretch=3em。这允许 TeX 在应用其换行算法时具有更多的灵活性。

这是一个简单的例子,后面是一张图片。尝试使用0em(LaTeX 默认值)和之间的不同值,5em然后让我们知道这是否适合您。

 \documentclass{article}
 \usepackage{amsmath}
 \setlength{\topmargin}{-1.3in}
 \setlength{\textheight}{11in}
 \begin{document}

 \newcommand{\composers}{\noindent
 A short list of famous composers includes Bach (1685--1750),
 Beethoven (1770--1827), Brahms (1833--1897), Chopin (1810--1849),
 Elgar (1857--1934), Handel (1685--1759), Haydn (1732--1809),
 Holst (1874--1934), Gustav (1860--1911), Mendelssohn (1809--1847),
 Mozart (1756--1791), Scarlatti (1685--1757), Schubert (1797--1828),
 Schumann (1810--1856), Shostakovich (1906--1975), Sibelius (1865--1957),
 Tchaikovsky (1840--1893), and Vivaldi (1678--1741).\par}

 \emergencystretch=3em
 \composers\narrower\composers\narrower\composers\narrower\composers
 \narrower\composers\narrower\composers\narrower\composers

 \end{document}

效果如下 — 不再有框过满或未满的情况。 :) 虽然不完美,但可能对您排版的文本有用。您的边距有多宽/多窄?下面的示例输出经过了几次缩小:

答案2

您可以在连字符前尝试\nobreakdash,以防止它在行末断开。因此您的示例将是

1480\nobreakdash-1541

相关内容