Das Verhindern der Silbentrennung eines Wortes mit \hyphenation funktioniert nicht immer

Das Verhindern der Silbentrennung eines Wortes mit \hyphenation funktioniert nicht immer

Ich weiß, dass man die Silbentrennung eines Wortes verhindern kann, indem man setzt \hyphenation{ }. Dies scheint jedoch in manchen Fällen nicht zu funktionieren. Hier ist ein Beispiel, bei dem es sich bei dem Wort um das Akronym „IRES“ handelt.

\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}

Was dazu führt

Bildbeschreibung hier eingeben


mit 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}

Bildbeschreibung hier eingeben

Antwort1

Für XeLaTeX müssen Sie die Silbentrennung von „l'IRES“ (mit U+2019) vermeiden, da es beim Satz 'durch ersetzt wird , nicht jedoch bei der \hyphenationVerwendung.

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

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

\begin{document}

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

\end{document}

Bildbeschreibung hier eingeben

Wahrscheinlich benötigen Sie auch all’IRESund dell’IRES.

Wenn Sie Probleme mit der Eingabe haben , dann

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

wird es auch tun.

Antwort2

Italienische Marken 'nehmen an der Silbentrennung teil, Sie brauchen alsol'IRES

Bildbeschreibung hier eingeben

\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}

Mit OT1 funktioniert die Silbentrennung jedoch schlecht. Wenn Sie pdflatex verwenden, sollten Sie immer T1 verwenden.


Lualatex zeigt den gleichen Haltepunkt wie xelatex im xelatex-Beispiel, und die gleiche Lösung wie oben entfernt die Silbentrennung, was zu

Bildbeschreibung hier eingeben

Aber aus nicht dokumentierten Gründen (die aber wahrscheinlich mit Implementierungsdetails der Interaktion mit harfbuzz zusammenhängen) funktioniert der Code (und auch nichts anderes, was ich versucht habe) mit xelatex nicht.

Siehe die Antwort von egreg. Sie können für xelatex anstelle von 'in verwenden.\hyphenation

verwandte Informationen