你好 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.3683
listings.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
再次。