Der doppelte Bindestrich hat in der taiwanesischen Sprache eine grammatische Funktion

Der doppelte Bindestrich hat in der taiwanesischen Sprache eine grammatische Funktion

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

Bildbeschreibung hier eingeben

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.

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{fontspec}
\setmainfont[Ligatures=TeXOff]{Arial}

\begin{document}

Āu--ji̍t chiah koh lâi dash–dash.

\end{document}

verwandte Informationen