
台湾語では、二重ハイフンは文法的な機能を持ち、頻繁に使用されます。例:
Āu--ji̍t chiah koh lâi.(明後日また来てください。)
Āu-ji̍t chiah koh lâi です。 (また次回お越しください。)
問題は、二重ハイフンがnダッシュに変換されることです。-{}-で変換を止められることはわかっています。しかし、2つのハイフンの間で改行が発生するため、これも防がなければなりません。したがって、
Āu\mbox{-{}-}{\allowbreak}ji̍t chiah koh lâi.
これは複雑に見えます。xelatex を使用しているので、シーケンスのコマンドを定義して、その間にソース コードでも二重ハイフンのように見えるようにすると思います。
\newcommand{\‐‐}{\mbox{‐‐}{\allowbreak}}
\‐‐ の ‐ は U+002D ではなく U+2010 です。\mbox の ‐ と同じなので、合字は避けられます。そして、次のように書けるはずです。
Āu\‐‐ji̍t chiah koh lâi.
これは二重ハイフンであることが分かりやすくなります。
しかし、エラー メッセージが表示されました。! LaTeX エラー: \begin{document} がありません。
不可解なのは
\newcommand{\‐}{\mbox{‐‐}{\allowbreak}}
問題なく動作します。ただし、二重ハイフンのようには見えないので、理想的とは言えません。
これに対する良い解決策がない場合は、 を忘れて\allowbreak
、2 つの U+2010 を続けて記述する必要があります。ただし、二重ハイフンを含む単語は長くなり、タイプセットが醜くなります。
答え1
U+2010 を入力できる場合、組み合わせ‐‐
(U+2010 U+2010) では合字は生成されません。
あなたはできる幾分を定義します\--
(ハイフンを使用しますが、これにより の定義が消去されます\-
)。
代替案としては、\0--
(ハイフンを 2 つ使用して)次のようにします。
\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}