禁止对特定文本使用连字符

禁止对特定文本使用连字符

对于一段特定的文本,我如何才能暂时禁止使用连字符(或使连字符更“昂贵”)?一段或两段。

答案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

  1. 对于短文本(一个单词)使用\mbox{content}

    \documentclass{article}
    \begin{document}\noindent
    \begin{minipage}{2cm}
        content content\\content \mbox{content}
    \end{minipage}
    \end{document}
    
  2. 在整个文档中使用\hyphenation{content}序言中的一个词。

  3. 对于一个或多个段落使用\raggedright(但是,这将降低对齐效果)。
  4. 对于整数段落,您可以设置惩罚:

    \tolerance=1
    \emergencystretch=\maxdimen
    \hyphenpenalty=10000
    \hbadness=10000
    

相关内容