台湾語の二重ハイフンは文法的な機能を果たす

台湾語の二重ハイフンは文法的な機能を果たす

台湾語では、二重ハイフンは文法的な機能を持ち、頻繁に使用されます。例:

Ā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}

ここに画像の説明を入力してください

答え2

xelatex では必要のない従来の TeX 合字を無効にすることができ--、単に en ダッシュを入力するだけでダッシュを取得できます。

ここに画像の説明を入力してください

\documentclass{article}

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

\begin{document}

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

\end{document}

関連情報