.png)
Я использую cloze
пакет для создания текстов 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}