强制使用连字符或在 \tt 中换行

强制使用连字符或在 \tt 中换行

概述

目标是在任何情况下都获得 tt 渲染,但不会溢出正确的文本。我尝试强制 LaTeX 进行连字,如果不可能,则换行。无论它有时是否在右侧留出空隙。

平均能量损失

这是我的 MWE:

\documentclass[a4paper,12pt,oneside,french]{article}
\usepackage{lipsum}
\usepackage[showframe]{geometry}
\usepackage[htt]{hyphenat}

\begin{document}
\begin{quotation}
  \tt

  \lipsum[1-4]
\end{quotation}
\end{document}

渲染

以及对应的渲染:

渲染

结论

如您所见,该行为并没有真正满足我的期望。有时,LaTeX 会强制溢出。

问题

如何告诉 LaTeX “永远、永远、永远不要在右侧溢出。你只有两个选择:连字符或换行?

答案1

您可以使用\RaggedRight来自ragged2e

\documentclass[a4paper,12pt,oneside]{article}
\usepackage[T1]{fontenc}
\usepackage[htt]{hyphenat}
\usepackage{ragged2e}
\usepackage{microtype}

% for the example
\usepackage{kantlipsum}
\usepackage[pass,showframe]{geometry}

\begin{document}

\begin{quotation}
  \ttfamily\RaggedRight
  \kant[1-2]
\end{quotation}

\end{document}

我使用kantlipsum它来生成英文句子。也microtype可以进行小调整。

在此处输入图片描述

相关内容