连字符不适用于 acro 和 luatex,但适用于 pdftex

连字符不适用于 acro 和 luatex,但适用于 pdftex

我正在使用 luatex 0.70.1 和 acro 1.2,并且有以下 MWE。

\documentclass{minimal}
\usepackage[ngerman]{babel}
\usepackage{acro}

\DeclareAcronym{DNA}{
    short=DNA,
    long=Desoxyribonukleinsäure
}

\begin{document}
Das ist ein sehr langer Satz und er wird an seinem Ende leider nicht richtig umgebrochen: DNA-Sequenzierung

Das ist ein sehr langer Satz und er wird an seinem Ende leider nicht richtig umgebrochen: \acs{DNA}-Sequenzierung
\end{document}

使用 pdftex 时文档看起来正常(两行都在破折号后换行),但使用 luatex 时第二行会延伸到页边距。我本来会发布图片,但由于这是我的第一篇帖子,系统不允许这样做。

答案1

这与 LuaTeX 使用的不同连字算法有关。我不太了解细节,但当我将DNA-Sequenzierung\acs{DNA}-Sequenzierung放在一个框中并让 LuaTeX 显示它时,就会显示以下内容。

\sbox0{DNA-Sequenzierung}

\hbox(6.8872+1.94397)x88.4784, direction TLT
.\T1/cmr/m/n/10 D
.\T1/cmr/m/n/10 N
.\T1/cmr/m/n/10 A
.\T1/cmr/m/n/10 -
.\discretionary
.\T1/cmr/m/n/10 S
.\T1/cmr/m/n/10 e
.\T1/cmr/m/n/10 q
.\T1/cmr/m/n/10 u
.\T1/cmr/m/n/10 e
.\T1/cmr/m/n/10 n
.\T1/cmr/m/n/10 z
.\T1/cmr/m/n/10 i
.\T1/cmr/m/n/10 e
.\T1/cmr/m/n/10 r
.\T1/cmr/m/n/10 u
.\T1/cmr/m/n/10 n
.\T1/cmr/m/n/10 g

\sbox0{\acs{DNA}-Sequenzierung}

\hbox(6.8872+1.94397)x88.4784, direction TLT
.\hbox(6.8872+0.0)x22.63336, direction TLT
..\hbox(6.8872+0.0)x22.63336, direction TLT
..\hbox(6.8872+0.0)x0.0, glue set - 22.63336fil, direction TLT
...\glue 0.0 plus 1.0fil minus 1.0fil
...\T1/cmr/m/n/10 D
...\T1/cmr/m/n/10 N
...\T1/cmr/m/n/10 A
.\T1/cmr/m/n/10 -
.\T1/cmr/m/n/10 S
.\T1/cmr/m/n/10 e
.\T1/cmr/m/n/10 q
.\T1/cmr/m/n/10 u
.\T1/cmr/m/n/10 e
.\T1/cmr/m/n/10 n
.\T1/cmr/m/n/10 z
.\T1/cmr/m/n/10 i
.\T1/cmr/m/n/10 e
.\T1/cmr/m/n/10 r
.\T1/cmr/m/n/10 u
.\T1/cmr/m/n/10 n
.\T1/cmr/m/n/10 g

在第一种情况下,LuaTeX 会将一个\discretionary项目放在连字符后面,而在第二种情况下则不会,可能是因为它认为连字符位于单词的开头(它位于不属于单词一部分的框后面)。

使用 pdfLaTeX 时不会发生这种情况,因为该\discretionary项目是在后期插入的。

无论如何,使用babel快捷方式可能会更好:

Das ist ein sehr langer Satz und er wird an seinem Ende leider 
nicht richtig umgebrochen: DNA"=Sequenzierung

Das ist ein sehr langer Satz und er wird an seinem Ende leider 
nicht richtig umgebrochen: \acs{DNA}"=Sequenzierung

这使

在此处输入图片描述

相关内容