Unterschied zwischen {} und \/ zum Auflösen von Ligaturen

Unterschied zwischen {} und \/ zum Auflösen von Ligaturen

Im Guide to LaTeX (4. Aufl.) steht, dass \/verwendet wird, um Ligaturen aufzulösen (S. 30 und S. 469), was meiner Meinung nach standardmäßig mit gemacht wird {}. Wie \/normalerweise bekannt, fügt man eine Kursivkorrektur ein (siehe "Wie funktioniert die Kursivkorrektur?"), Und{}und \/nachweislich unterschiedliche Ergebnisse liefern, welche der beiden Optionen gilt als beste VorgehensweiseGibt es Feinheiten, die man bei der Entscheidung für das eine oder das andere beachten muss?

Im folgenden Code

\documentclass{article}

\begin{document}

shelfful   % (1) ligature

shelf{}ful % (2) no ligature

shelf\/ful % (3) no ligature, wider than in the line above

\end{document}

der Abstand zwischen den beiden "f"-Buchstaben ist in Zeile 3 weiter als in Zeile 2, was nicht verwunderlich ist, allerdings stellt sich die Frage, ob ein Haarabstand gemeint ist und ob auch eine Kursivkorrektur hierfür Sinn ergibt (bei Kursivschrift handelt es sich nämlich eigentlich nicht um einen solchen Fall).


Zusatzoptionen:Die von David Carlisle verlinkte Frage listet andere (kreative, aber pfuschige) Optionen auf: {shelf}ful(identisch mit shelf{}ful, laut dieser Quelle), shelf{\kern0pt}ful, shelf\-ful, und shelf\discretionary{-}{}{\kern.033333em}ful(die babelLösung "|kombiniert im Wesentlichen diesen Ansatz mit etwas Feinabstimmung). Diese Frage sollte nur zwischen den beiden Empfehlungen unterscheiden, denen man wahrscheinlich begegnen wird (nämlich {}und \/), um den Lernenden zu entwirren. Auf jeden Fall scheint keine von beiden optimal zu sein, wobei die beste Lösung babel's ist "|. Dieser Fragen-Antwort-Satz dient als Dokumentation für diese ganze Situation.

Antwort1

Wie Sie anmerken, \/dient es nicht zum Aufheben von Ligaturen, sondern ist der Befehl zur Kursivkorrektur und der Grund, warum Sie den zusätzlichen Platz erhalten.Zum Ligaturentrennen ist die beste Option die Babel-Kurzschrift"|, definiert als

 \declare@shorthand{...}{"|}{%
  \textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%
              \allowhyphens}{}}

und ermöglicht auch die Silbentrennung, was \/nicht der Fall ist:

Bildbeschreibung hier eingeben

(Jede der beiden oben genannten Gruppen von drei Instanzen von „shelfful“ wurde mit ff, f{}f, und f\/f(in dieser Reihenfolge) generiert – also nicht mit "|.)

Antwort2

Siehe auch

Unterdrückung von Ligaturen durch korrekte Silbentrennung und umfassende Wortliste?

das eine umfassendere Frage stellt und verschiedene relevante Informationen enthält.

Die Verwendung von {}hat den Nachteil (wie in den TeX3-Editionen des TeXBooks erwähnt), dass es im Allgemeinen nicht funktioniert. Wenn das Wort getrennt ist, fügt TeX die Ligatur erneut ein, wenn sie f{}fin einen der Bestandteile fällt. Dies hat keine Auswirkungen, shelffulda der einzige Trennpunkt zwischen den beiden f liegt.

verwandte Informationen