Cloze パッケージ: ハイフネーションが機能しません (もう?)

Cloze パッケージ: ハイフネーションが機能しません (もう?)

私は、このclozeパッケージを使用して穴埋めテキストを作成します。ドキュメントには具体的に次のように記載されています (p. 4):

このコマンドは\clozeハイフネーションの動作を変更しません。

しかし、示された例を試してみると、単語が適切にハイフンで区切られていないことがわかります。

\documentclass{article}
\usepackage{cloze}
\begin{document}
Telekommunikationsüberwachung geht Unternehmenssteuerfortentwicklungsgesetz
\cloze{Telekommunikationsüberwachung} geht \cloze{Unternehmenssteuerfortentwicklungsgesetz}
\end{document}

コンパイル結果

誰かこれを確認できますか? これは「修正可能」ですか? 心配なのは、しばらく前にテストしたときにハイフネーションが機能したと記憶している点です。

答え1

ドキュメントのソース(ファイルcloze.dtx)を見ると、

\begin{clozeexample}
es
\cloze{Te\-le\-kom\-mu\-ni\-ka\-tions\-ü\-ber\-wach\-ung}
geht
\cloze{Un\-ter\-neh\-mens\-steu\-er\-fort\-ent\-wick\-lungs\-ge\-setz}
\cloze{Ab\-teil\-ungs\-lei\-ter\-in}
\cloze{Ober\-kom\-mi\-sar\-in}
auch
\cloze{Fil\-lial\-lei\-ter\-in}
kurz
\cloze{Ober\-kom\-mi\-sar\-in}
\cloze{Un\-ter\-neh\-mens\-steu\-er\-fort\-ent\-wick\-lungs\-ge\-setz}
\cloze{Fil\-lial\-lei\-ter\-in}
\cloze{Metz\-ger\-mei\-ster\-in}
in
\cloze{Ab\-teil\-ungs\-lei\-ter\-in}
der
\cloze{Ober\-kom\-mi\-sar\-in}
\cloze{Hoch\-lei\-stungs\-flüs\-sig\-keits\-chro\-ma\-to\-gra\-phie}
\cloze{Fil\-lial\-lei\-ter\-in}
Kürze
\cloze{Un\-ter\-neh\-mens\-steu\-er\-fort\-ent\-wick\-lungs\-ge\-setz}
\cloze{Metz\-ger\-mei\-ster\-in}
liegt
\cloze{Ab\-teil\-ungs\-lei\-ter\-in}
die
\cloze{Metz\-ger\-mei\-ster\-in}
\cloze{Ab\-teil\-ungs\-lei\-ter\-in}
Würze
\cloze{Ober\-kom\-mi\-sar\-in}
\end{clozeexample}

実際、これをコンパイルするとハイフネーションは正常になります。

一方、これはあなたの問題を再現するようです:

\documentclass{article}

\usepackage{cloze}

\begin{document}

\parbox{2cm}{
  \cloze{supercalifragilisticexpialidocious}
}

\bigskip

\parbox{2cm}{
  supercalifragilisticexpialidocious
  \cloze{supercalifragilisticexpialidocious}
}

\bigskip

\parbox{2cm}{
 x
 \cloze{supercalifragilisticexpialidocious}
}

\end{document}

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

\clozeスペースの後に来るとハイフンが使えないようです。2番目の例を次のように変更すると

\parbox{2cm}{
  supercalifragilisticexpialidocious
  \cloze{\hspace{0pt}supercalifragilisticexpialidocious}
}

結果は予想通りになります:

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

修正は可能ですが、TeX Live 2017 (プレテスト、LuaTeX 1.0.4) でのみ機能します。

\documentclass{article}

\usepackage{cloze}
\usepackage{xpatch}

\xpatchcmd{\cloze}{#2}{\hspace{0pt}#2}{}{}

\begin{document}

\parbox{2cm}{
  \cloze{supercalifragilisticexpialidocious}
}

\bigskip

\parbox{2cm}{
  supercalifragilisticexpialidocious
  \cloze{supercalifragilisticexpialidocious}
}

\bigskip

\parbox{2cm}{
 x
 \cloze{supercalifragilisticexpialidocious}
}

\end{document}

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

関連情報