listings 包编译

listings 包编译

你好 Stack Exchanger

listings我在将包文件成功编译到本地目录中时遇到了问题LaTeX Macros (.dtx)。目的不仅是使用sty目录中已有的,而且还要在 Windows 10 上使用 TeXWorks 进行编译。使用和进行编译时,控制台输出上会弹出以下XeTeX错误LaTeX

! Extra }, or forgotten \endgroup. l.228 \item definelanguage} , \hyperpage{43} ?

在 中Errors, warning, badboxes,以下错误是编译的障碍:

listings.ind 228 Extra }, or forgotten \endgroup. l.228 \item definelanguage} , \hyperpage{43}

该包是从 CTAN 下载的,下载的目的是为了编译该包以便理解和使用它(尤其是在逐字命令中)。

如果其他人下载了它并成功编译(文件listings.dtx),则意味着问题不在于包中的语法。否则,语法问题需要在将包分发给用户和开发人员之前解决。

.ind文件也丢失了(下载包时),但它存在于文件的语法中,并在aslistings.dtx中提及。l.3683listings.ind

还有一个文件,其名称为lstdrvrs文件.dtx,该文件可以成功编译。感谢您对软件包进行评估测试。

干杯!

答案1

listings在 texlive 和 miktex 中,因此您永远不需要从 ctan 安装它。如果您确实安装了它,那么请注意,本地版本将屏蔽标准目录中包的任何副本,因此您将无法从任何未来更新中受益。

但它确实有效,ctan 下载包含Makefile所需的步骤,但要手动执行,您需要先运行

pdflatex listings.dtx

这将生成listings.idx您需要用来makeindex生成排序索引的。您显示的错误表明您使用了

makeindex listings

但这假设默认makeindex样式@是特殊的索引字符,这给 tex 代码带来了不便。与大多数使用doc软件包系统的软件包一样,listings使用gind.ist makeindex 样式,因此使用

makeindex -s gind.ist listings

然后运行

pdflatex listings.dtx

再次。

相关内容