更新

更新

有没有办法让 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}

(由于文本是拉丁文,所以我加载了babellatin选项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}

相关内容