
In der taiwanesischen Sprache hat der doppelte Bindestrich eine grammatische Funktion und wird häufig verwendet. Beispiel:
Āu--ji̍t chiah koh lâi. (Kommen Sie übermorgen wieder.)
Āu-ji̍t chiah koh lâi. (Kommen Sie in Zukunft wieder.)
Das Problem ist, dass der doppelte Bindestrich in einen Halbgeviertstrich umgewandelt wird. Ich weiß, dass -{}- die Umwandlung verhindern kann. Der Zeilenumbruch wird jedoch zwischen den beiden Bindestrichen erfolgen und das muss ebenfalls verhindert werden. Daher wird es
Āu\mbox{-{}-}{\allowbreak}ji̍t chiah koh lâi.
Das sieht kompliziert aus. Da ich xelatex verwende, könnte ich vielleicht einen Befehl für die Sequenz definieren und es in der Zwischenzeit auch im Quellcode eher wie einen doppelten Bindestrich aussehen lassen.
\newcommand{\‐‐}{\mbox{‐‐}{\allowbreak}}
Die ‐ in \‐‐ sind nicht U+002D, sondern U+2010. Dasselbe wie die in \mbox, damit ich die Ligatur vermeide. Und angeblich kann ich schreiben
Āu\‐‐ji̍t chiah koh lâi.
So ist es viel einfacher zu erkennen, dass es sich um einen doppelten Bindestrich handelt.
Allerdings habe ich eine Fehlermeldung erhalten. ! LaTeX-Fehler: \begin{document} fehlt.
Das Rätselhafte ist, dass
\newcommand{\‐}{\mbox{‐‐}{\allowbreak}}
funktioniert gut. Aber es ist nicht optimal, da es nicht wie ein doppelter Bindestrich aussieht.
Wenn es dafür keine gute Lösung gibt, muss ich das vergessen \allowbreak
und einfach zwei U+2010 hintereinander schreiben. Aber Wörter mit doppeltem Bindestrich sind lang und der Schriftsatz wird hässlich.
Antwort1
Wenn Sie U+2010 eingeben können, ‐‐
erzeugt die Kombination (U+2010 U+2010) keine Ligatur.
Du kannstetwasdefinieren \--
(mit Bindestrichen, aber das würde die Definition von löschen \-
).
Eine mögliche Alternative wäre \0--
(mit zwei Bindestrichen):
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Libertinus Serif}
\def\0--{‐‐\allowbreak}% two U+2010 in the body
\begin{document}
Āu--ji̍t chiah koh lâi. (Come again the day after tomorrow.) % two hyphens
Āu‐‐ji̍t chiah koh lâi. (Come again the day after tomorrow.) % two U+2010
Āu\0--ji̍t chiah koh lâi. (Come again the day after tomorrow.) % the command
Āu-ji̍t chiah koh lâi. (Come again in the future.)
\parbox[t]{0pt}{\hspace{0pt}Āu\0--ji̍t chiah koh lâi.}
\end{document}
Antwort2
Sie können die klassischen TeX-Ligaturen deaktivieren, die --
in xelatex nicht benötigt werden. Sie können einfach einen Halbgeviertstrich eingeben, um einen Bindestrich zu erhalten.
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures=TeXOff]{Arial}
\begin{document}
Āu--ji̍t chiah koh lâi dash–dash.
\end{document}