
チェコ語では、多くの単語(例えば複合形容詞)がモダン)にはハイフンが含まれています。これらの単語がハイフンで区切られると、類似した単語の意味を区別するために、ハイフンは次の行でも繰り返されます(モダンそして改造これらは見た目も発音も似ていますが、意味は異なります。ハイフンを含む単語は、次のようにハイフンで区切る必要があります。
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
正しく動作しますが、コマンド内のすべてのハイフンを囲むのは非常に面倒です。質問は、説明されているように次の行でハイフンを自動的に繰り返す方法はあるでしょうか?
答え1
追加
\postexhyphenchar=`\-
ドキュメントの先頭で、言語を設定した後。