我一直在尝试生成可以使用\usepackage
LaTeX 和其他软件中的命令访问的所有软件包的列表(以便我的文本编辑器可以自动完成)。具体来说,我一直在使用该命令tlmgr list --only-installed
并解析输出。但是,我注意到输出中缺少几个(关键)软件包。例如,、tikz
和graphicx
其他lmodern
一些软件包不存在。
一开始我用的是给出手动将缺失的包添加到列表中。但是,我注意到tikz
输出中也缺少了。现在我不知道哪些包可能会被省略,即使它们已经安装。更糟糕的是,似乎有几个“包”实际上并不打算用作包。David Carlisle 对链接问题的回答解释说,对tlmgr
包的处理方式与 LaTeX 不同,这只会让事情变得更加困难。
是否有一个终端命令可以打印出可以在文件中出现的tlmgr
所有包的列表(,,等,差异并不重要)?\usepackage
.tex
pdftex
luatex
xetex
如果没有,有什么办法可以做到这一点吗?目标是让它也跨平台,因此解决方案应该适用于 Linux、macOS 和 Windows。我还没有尝试过 MikTeX,但它需要与标准 TeX Live 安装配合使用。
最后,如果没有这个解决方案,有没有详尽无遗被省略的软件包列表?
答案1
tlmgr search --file '.*\.sty'
请注意,这将找到随 一起安装的文件tlmgr
。从您的问题来看,我假设您感兴趣的就是这些文件。显然,.sty
除了随 一起安装的文件之外,本地可能还有其他文件可用,tlmgr
但同样明显的是,tlmgr
对这些文件一无所知。