TexLive 2014:Paralist 包和枚举问题

TexLive 2014:Paralist 包和枚举问题

以下问题在 TexLive 2012 中不存在。我能够使用从 CTAN ISO 文件解压的 TeXLive 2014 和完全更新的相同 TeXLive 2014 重现此问题。这些测试是在 Windows 系统上进行的。

以下示例文件中的代码Test.tex

\documentclass{article}
\usepackage[alwaysadjust]{paralist}

\begin{document}

\begin{enumerate}
 \item hello
\end{enumerate}

\end{document}

经过编译(以完全更新的系统为例),我得到:

Command Line:   pdflatex.exe -shell-escape --interaction=errorstopmode --synctex=-1 "Test.tex"
Startup Folder: E:\letre

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/W32TeX) (preloaded format=pdflatex)
 \write18 enabled.
entering extended mode
(./Test.tex
LaTeX2e <2014/05/01>
Babel <3.9k> and hyphenation patterns for 79 languages loaded.
(c:/texlive/2014/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(c:/texlive/2014/texmf-dist/tex/latex/base/size10.clo))
(c:/texlive/2014/texmf-dist/tex/latex/paralist/paralist.sty) (./Test.aux)
! Undefined control sequence.
<argument> ...umctr \endcsname \@enum@widestlabel 
                                              \relax 
l.9   \item
            hello
? 

Process has been terminated ...

去掉\usepackage[alwaysadjust]{paralist}不会产生任何故障:

Command Line:   pdflatex.exe -shell-escape --interaction=errorstopmode --synctex=-1 "Test.tex"
Startup Folder: E:\letre

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/W32TeX) (preloaded format=pdflatex)
 \write18 enabled.
entering extended mode
(./Test.tex
LaTeX2e <2014/05/01>
Babel <3.9k> and hyphenation patterns for 79 languages loaded.
(c:/texlive/2014/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(c:/texlive/2014/texmf-dist/tex/latex/base/size10.clo)) (./Test.aux) [1{c:/texl
ive/2014/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./Test.aux) )<c:/texli
ve/2014/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>
Output written on Test.pdf (1 page, 11008 bytes).
SyncTeX written on Test.synctex.
Transcript written on Test.log.

有办法解决这个问题吗?请注意,给出的代码Test.tex并未说明包的使用paralist,但使用 时TexLive 2012不会发生此冲突/问题。

答案1

永远不会\@enum@widestlabel被初始化。旧版本使用了不同的机制,但基本上默认值是7,您可以在新版本中使用该默认值。

\documentclass{article}
\usepackage[alwaysadjust]{paralist}

\makeatletter
\providecommand\@enum@widestlabel{7}
\makeatother

\begin{document}

\begin{enumerate}
 \item hello
\end{enumerate}

\end{document}

这个变化发生在 2.3 版和 2.4 版(TeX Live 2013 版)之间。不过,这个选项的用途并不十分清楚alwaysadjust

答案2

假设您想继续使用该alwaysadjust选项,一种解决方法是确保在启动列表时使用可选参数:

\documentclass{article}
\usepackage[alwaysadjust]{paralist}

\begin{document}

\begin{enumerate}[(1)]
 \item hello
\end{enumerate}

\end{document}

或者,看看枚举项提供段落列表功能(以及更多)的包。

相关内容