lineno 包在 pdflatex 和 lualatex 中有不同的输出

lineno 包在 pdflatex 和 lualatex 中有不同的输出

使用包中的行标签引用lineno可以防止行在标签相邻的单词中的明确连字符处断开。

考虑以下 MWE:

\documentclass{article}

\usepackage{lineno}

\begin{document}

\raggedright

\begin{linenumbers}
    Here is a word-with-some-explicit-hyphens-that-should-allow-breaking-at-one-of-them-at-the-end-of-the-line.
\end{linenumbers}

\begin{linenumbers}
    Here is a \linelabel{a}word-with-some-explicit-hyphens-that-should-allow-breaking-at-one-of-them-at-the-end-of-the-line.
\end{linenumbers}

\end{document}

使用pdflatex我们得到以下输出:pdflatex

使用lualatex我们得到以下输出:路拉泰克斯

我尝试调查lineno包中导致此问题的原因,以查看它是否是 luatex 问题的包问题。命令的结尾\linelabel\vadjust{\penalty-\@Mllbcodepen},其中惩罚定义为\mathchardef\@Mllbcodepen=11111。当看到具有此值的惩罚时,包会修补输出例程并将行号写入辅助文件。删除会\vadjust{\penalty-\@Mllbcodepen}导致 lualatex 下正确换行(尽管在这种情况下行号显然从未写入辅助文件),因此惩罚中的某些内容会阻止正确换行。但这是我的分析所能得到的。

我想知道如何将lineno包及其\linelabel命令与 lualatex 一起使用并且仍然具有预期的换行功能。

相关内容