
我使用該cloze
套件來創建完形填空文字。該文件具體指出(第 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
後面有空格,則不允許連字符。如果我把第二個例子改成
\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}