XeLaTeX, kein Bindestrich, Leerzeichen und Babel/Polyglossie

XeLaTeX, kein Bindestrich, Leerzeichen und Babel/Polyglossie

Betrachten Sie dies als MWE

\documentclass[french]{article}
\usepackage{babel}
\usepackage{hyphenat}


\begin{document}
\section{without relax}
Cambridge : University (A)

\nohyphens{Cambridge} : University (B)

\texttt{Cambridge} : University (C)

\verb|Cambridge| : University (D)


\section{with relax}

Cambridge\relax : University (E)

\nohyphens{Cambridge}\relax : University (F)

\texttt{Cambridge}\relax : University (G)

\verb|Cambridge|\relax : University (H)
\end{document}

Wenn wir es mit pdfLaTeX oder LuaLaTeX ausführen, sind alle Doppelpunkte richtig ausgerichtet.

Wenn wir es jedoch mit XeLaTeX ausführen, scheinen einige unzulässige Leerzeichen vorhanden zu sein (Abschnitt 1), die mit gelöscht werden können relax. Warum haben wir dieses Verhalten? Wenn wir Babel oder Polyglossia nicht laden, ist die Ausgabe auch in Ordnung.

Irgendeine Idee?

Antwort1

Es sieht so aus, als könne man das Problem umgehen, \nohyphensindem man ein Leerzeichen mit der Breite Null einfügt (ich habe es aber nicht mit vielen Schriftarten getestet):

\documentclass[french]{article}
\usepackage{babel}
\usepackage{hyphenat}

\begin{document}

Cambridge : University (A)

\nohyphens{Cambridge} : University (B)

\nohyphens{Cambridge}: University (C)

\renewcommand{\nohyphens}[1]{{{\language\langwohyphens #1}^^^^200b}}

Cambridge : University (A)

\nohyphens{Cambridge} : University (B)

\nohyphens{Cambridge}: University (C)
\end{document}

Bildbeschreibung hier eingeben

Ein ähnlicher Trick funktioniert für \verb:

\documentclass[french]{article}
\usepackage{babel}

\begin{document}
Cambridge : University (A)

\verb|Cambridge| : University (C)

\makeatletter
\def\verb@egroup{\global\let\verb@balance@group\@empty\egroup^^^^200d}
\makeatother

Cambridge : University (A)

\verb|Cambridge| : University (C)

\end{document}

Bildbeschreibung hier eingeben

Antwort2

Dies ist nur ein Kommentar. Ich bin kein französischer TeX-Benutzer und weiß nicht, was beim Schreiben bevorzugt wird: a thin space before colon :oder without thin space before colon:. Vergleichen Sie einfach die folgenden Bilder, die Ausgaben der folgenden mit verschiedenen Optionen (mit/ohne \FBsetspaces{colon}{0.5}{0}{0}) sind:

\documentclass[french]{article}
\usepackage{babel}
\usepackage{hyphenat}

\FBsetspaces{colon}{0.5}{0}{0}


\begin{document}
\section{all without relax}
Cambridge : University (A)

\nohyphens{Cambridge} : University (B)

\texttt{Cambridge} : University (C)

\verb|Cambridge| : University (D)


\section{all with relax}

Cambridge\relax : University (E)

\nohyphens{Cambridge}\relax : University (F)

\texttt{Cambridge}\relax : University (G)

\verb|Cambridge|\relax : University (H)

\section{with relax just for typewriter and verbatim}

Cambridge : University (E)

\nohyphens{Cambridge} : University (F)

\texttt{Cambridge}\relax : University (G)

\verb|Cambridge|\relax : University (H)

\section{all without manual space}

Cambridge: University (E)

\nohyphens{Cambridge}: University (F)

\texttt{Cambridge}: University (G)

\verb|Cambridge|: University (H)
\end{document}

  • PDFLaTeXmit\FBsetspaces{colon}{0.5}{0}{0} Bildbeschreibung hier eingeben

  • XeLaTeXmit\FBsetspaces{colon}{0.5}{0}{0} Bildbeschreibung hier eingeben

  • PDFLaTeXohne\FBsetspaces{colon}{0.5}{0}{0} Bildbeschreibung hier eingeben

  • XeLaTeXohne\FBsetspaces{colon}{0.5}{0}{0} Bildbeschreibung hier eingeben

verwandte Informationen