Optex: ハイフン付きの単語を自動的にハイフンで区切るときに、次の行でハイフンを繰り返すにはどうすればよいでしょうか?

Optex: ハイフン付きの単語を自動的にハイフンで区切るときに、次の行でハイフンを繰り返すにはどうすればよいでしょうか?

チェコ語では、多くの単語(例えば複合形容詞)がモダン)にはハイフンが含まれています。これらの単語がハイフンで区切られると、類似した単語の意味を区別するために、ハイフンは次の行でも繰り返されます(モダンそして改造これらは見た目も発音も似ていますが、意味は異なります。ハイフンを含む単語は、次のようにハイフンで区切る必要があります。

This is an example modro-
-zelený text.

一方、通常そうではない単語は次のようになります。

This is an example modro-
zelený text.

Latexでは、Babelを使ってこの動作を実現できます。この答え\discretionaryまたは、以下のコマンドを使用して実行することもできます。この答え2 番目のソリューションを Optex で再現できました。

\cslang
\fontfam[LMfonts]
\def\rephyph #1{\discretionary{#1}{#1}{#1}}

modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený modro\rephyph-zelený 

modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený modro-zelený 

\bye

上記のコードでは、単語「modro-zelený」が繰り返される 2 つの段落がタイプセットされます。最初の段落では、単語は正しくハイフンで区切られており、次の行でハイフンが繰り返されています。2 番目の段落は、デフォルトの動作を示しています。

正しく動作しますが、コマンド内のすべてのハイフンを囲むのは非常に面倒です。質問は、説明されているように次の行でハイフンを自動的に繰り返す方法はあるでしょうか?

答え1

追加

\postexhyphenchar=`\-

ドキュメントの先頭で、言語を設定した後。

関連情報