避免使用连字符,并在文本块中使用换行符

避免使用连字符,并在文本块中使用换行符

我的标题页上有一段自定义文本,其长度可能超过一行。默认情况下,LaTeX 会在行末用连字符连接单词,但我希望它在下一行断开。

我该如何强制实现这一点?

我知道我可以\\在文本中使用它,但是我正在为文档创建标准模板,我希望它能够自动处理这种边缘情况,而不必记住手动分解文本。

例如

这是我的标题 longpiece-
oftext

应该

这是我的标题
longpieceoftext

答案1

TeX FAQ 中的答案。

防止文本块(而不是整个文档)连字的三种“简单”方法是:

  • 将文本块封闭在raggedright环境中(这会使文本块的排版变得不正确,并且不太可能出现连字);

  • 将文本块括在一个组中,并将设置\hyphenpenalty\exhyphenpenalty10000;

  • 编辑:加载连字符打包并写入\nohyphens{(text block)}

最小示例:

\documentclass{article}

\usepackage[english]{babel}

\usepackage{hyphenat}

\usepackage{blindtext}

\textwidth 300pt

\begin{document}

\blindtext

\begin{raggedright}

\blindtext

\end{raggedright}

\begingroup
\hyphenpenalty 10000
\exhyphenpenalty 10000

\blindtext

\endgroup

\nohyphens{\blindtext}

\end{document}

编辑 2:比布拉特克斯该包提供了附加命令\nohyphenation(通常应该在组内使用)和\textnohyphenation{(text)}

答案2

如果长文很少,而且很容易识别,那么

This is my title \mbox{longpieceoftext} with 
some other \mbox{ridiculouslylongtextaddition}

应该会做你想做的事。当然,你会“得到你想要的,所以要小心”:箱子太满/太满……

答案3

您必须使用:

\usepackage[none]{hyphenat}

读这个关联

答案4

最简单的解决方案:

\usepackage{hyphenat}
\DeclareCaptionTextFormat{new}{\nohyphens{#1}}      

相关内容