使用 \hyphenation 防止单词连字并不总是有效

使用 \hyphenation 防止单词连字并不总是有效

我知道可以通过设置 来防止单词连字\hyphenation{ }。但是,这在某些情况下似乎不起作用。以下是一个例子,其中单词是首字母缩略词“IRES”。

\documentclass[12pt,a4paper]{article}

\usepackage[italian]{babel}

\hyphenation{IRES}
\begin{document}

\begin{minipage}{7.6cm}
  Un Ente non residente può svolgere un'attività commerciale in Italia
  partecipando a una società di capitali italiana o attraverso una stabile
  organizzazione. In entrambi i casi sul reddito d'impresa si applicherà
  l'IRES. La stabile organizzazione dovrà determinare il reddito d'impresa
  prodotto nel territorio dello Stato applicando le stesse regole
  applicabili alle società di capitali italiane come se si trattasse di
  un'entità separata e indipendente dall'ente estero.
\end{minipage}
\end{document}

其结果是

在此处输入图片描述


使用 XeLaTeX

\documentclass[12pt,a4paper]{article}

\usepackage[italian]{babel}

\begin{document}


\begin{minipage}{7.6cm}

aaaaaaaaaaaaaaa bbbbbbbbbb cccccccccc
aiii  sul reddito d'impresa  applicherà
  l'IRES. La stabile organizzazione
applicabili alle società di capitali italiane come se si trattasse di
  un'entità separata e indipendente dall'ente estero.


\end{minipage}
\end{document}

在此处输入图片描述

答案1

对于 XeLaTeX,您需要避免使用连字符“l'IRES”(使用 U+2019),因为在排版时'会被替换,但在\hyphenation使用时不会被替换。

\documentclass[12pt,a4paper]{article}
\usepackage[italian]{babel}

{\lccode`’=`’
\hyphenation{l’IRES}
}

\begin{document}

\parbox{0pt}{\hspace{0pt}l'IRES}

\end{document}

在此处输入图片描述

或许您还需要all’IRESdell’IRES

如果你在输入时遇到困难,那么

{\lccode"2019="2019
\hyphenation{l^^^^2019IRES}
}

也行。

答案2

意大利语'中,连字符是必需的l'IRES

在此处输入图片描述

\documentclass[12pt,a4paper]{article}

\usepackage[italian]{babel}

{\lccode`'=`'
\hyphenation{l'IRES}
}

\begin{document}


\begin{minipage}{7.6cm}
  Un Ente non residente può svolgere un'attività commerciale in Italia
  partecipando a una società di capitali italiana o attraverso una stabile
  organizzazione. In entrambi i casi sul reddito d'impresa si applicherà
  l'IRES. La stabile organizzazione dovrà determinare il reddito d'impresa
  prodotto nel territorio dello Stato applicando le stesse regole
  applicabili alle società di capitali italiane come se si trattasse di
  un'entità separata e indipendente dall'ente estero.
\end{minipage}
\end{document}

但是使用 OT1 时连字效果会很差,如果使用 pdflatex 则应始终使用 T1。


Lualatex 在 xelatex 示例上显示与 xelatex 相同的断点,并且与上述相同的解决方案删除了​​连字符,导致

在此处输入图片描述

但是由于未记录的原因(但可能与与 harfbuzz 交互的实现细节有关),使用 xelatex 的代码无法工作(我尝试过的任何其他方法也无法工作)。

参见 egreg 的回答,对于 xelatex,您可以使用而不是'in 。\hyphenation

相关内容