对于一段特定的文本,我如何才能暂时禁止使用连字符(或使连字符更“昂贵”)?一段或两段。
答案1
继讨论之后如何减少连字符的数量?,您可以定义一个环境来设置一些避免连字符的参数:
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\newenvironment{nohyphen}
{\tolerance=1% Also consider setting \pretolerance
\emergencystretch=\maxdimen%
\hyphenpenalty=10000%
\hbadness=10000}% \begin{nohyphen}
{\par}% \end{nohyphen}
\begin{document}
\lipsum[1]
\begin{nohyphen}
\lipsum[1]
\end{nohyphen}
\end{document}
参数选择取自两端对齐,不加连字符并且,正如第一篇文章中所建议的那样,可能需要进行一些调整。有关这方面的更多信息,包括有关上述参数的讨论,可从 TeX FAQ 条目中找到停止所有连字符。
关于换行和 TeX 方面的一些注意事项,也可以查看(La)TeX 使行溢出:
TeX 第一次尝试断行时甚至没有尝试连字:TeX 将其对断行异常的“容忍度”设置为内部值
\pretolerance
,然后观察会发生什么。如果无法获得可接受的断行,TeX 将添加当前模式允许的连字点,然后使用内部\tolerance
值再次尝试。如果此过程也失败,并且内部值为\emergencystretch
正,TeX 将尝试允许\emergencystretch
每行空格额外拉伸的传递。因此,原则上,有三个参数(连字符除外)可以更改:
\pretolerance
、\tolerance
和\emergencystretch
。
答案2
对于短文本(一个单词)使用
\mbox{content}
。\documentclass{article} \begin{document}\noindent \begin{minipage}{2cm} content content\\content \mbox{content} \end{minipage} \end{document}
在整个文档中使用
\hyphenation{content}
序言中的一个词。- 对于一个或多个段落使用
\raggedright
(但是,这将降低对齐效果)。 对于整数段落,您可以设置惩罚:
\tolerance=1 \emergencystretch=\maxdimen \hyphenpenalty=10000 \hbadness=10000