有没有办法让 LaTeX 连字更多,从而使对齐文本中的间距更均匀?我正在尝试实现文艺复兴时期排版中使用的对齐方式(Bram de Does 和其他遵循传统的排版师也这样做),这似乎经常使用大量连字符来实现更好的间距。
除此之外,InDesign(使用 TeX 换行算法)有一个滑块,可以从“更好的间距”到“更少的连字符”。有没有办法在 LaTeX 中获得类似的效果?
我尝试减少\hyphenpenalty
到 0,但没有达到预期的效果。我想知道除此之外是否有可能增加对不良间距的惩罚......
更新
A新问题提出相同的基本问题,但更好地抓住了核心。我意识到我在这个问题上表达得不是很好,所以我又提出了一个新的问题。它还考虑到了我从答案中学到的东西,即连字符无法挽救错误的对齐方式。
答案1
\hypenpenalty
如果您想这样做,您可以做出否定回答。
\documentclass{article}
\usepackage[main=latin]{babel}
\usepackage{lipsum}
\usepackage[width=15cm]{geometry}
\usepackage{multicol}
\setlength{\columnsep}{1cm}
\begin{document}
\begin{multicols*}{2}
\lipsum[1]
\columnbreak
{\hyphenpenalty=-200 \lipsum[1] }
\end{multicols*}
\end{document}
(由于文本是拉丁文,所以我加载了babel
该latin
选项lipsum
。)请注意,正如 egreg 指出的那样,鼓励更多连字符并不一定会改善间距。
还有许多其他方法可以在窄列中获得更好的间距。一种方法是使用microtype
包,它对间距进行细微的调整以获得更好的换行效果。请参阅什么是惩罚以及惩罚的具体定义是什么?讨论可以调整的各种参数。以下是 microtype 包的效果:
\documentclass{article}
\usepackage[main=latin]{babel}
\usepackage{lipsum}
\usepackage[width=15cm]{geometry}
\usepackage{multicol}
\usepackage{microtype}
\setlength{\columnsep}{1cm}
\begin{document}
\begin{multicols*}{2}
\microtypesetup{activate=false}
\lipsum[1]
\columnbreak
{\microtypesetup{activate=true} \lipsum[1] }
\end{multicols*}
\end{document}