Für den folgenden Fall,
% !TeX program = xelatex
\documentclass[12pt]{article}
\usepackage{fontspec}
\begin{document}
\hsize =2in
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{f\kern0ptfi}cult
\end{document}
Ich bekomme,
kern
Wenn im dritten Argument von ein gefolgt von irgendetwas steht \discretionary
, verschwinden die Buchstaben dahinter, aber wenn ich das Paket nicht verwende fontspec
, geht nichts schief. Ist das ein Fehler?
Antwort1
Dies scheint ein Fehler in XeTeX zu sein. Wenn im Argument „nobreak“ etwas steht, das kein Buchstabe ist, \discretionary
und ein Umbruch vorgenommen wird, verschwindet der Wortteil, der dem Argument folgt.
Minimalbeispiel:
\input ifxetex.sty
\ifxetex
\font\test="Latin Modern Roman:mapping=tex-text" at 12pt
\else
\font\test=ec-lmr12
\fi
\test
\hsize =2in \advance\hsize by 11pt
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{f\kern0ptfi}cult task
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{f\/fi}cult task
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{f{}fi}cult task
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{ffi}cult task
di\discretionary{f-}{fi}{ffi}cult task
\bye
Kompilieren mit xetex
und das Ergebnis ist
Wenn wir es kompilieren, pdftex
erhalten wir das erwartete Ergebnis: