![.tlpobj 中的依赖字段有多准确/最新](https://linux22.com/image/469108/.tlpobj%20%E4%B8%AD%E7%9A%84%E4%BE%9D%E8%B5%96%E5%AD%97%E6%AE%B5%E6%9C%89%E5%A4%9A%E5%87%86%E7%A1%AE%2F%E6%9C%80%E6%96%B0.png)
可以使用tlmgr --data "name,depends" info
获取所有软件包及其依赖项的列表来查看软件包依赖项的信息。我猜这显示了作者在取决于.TXT。
现在,使用上述命令列出的许多软件包depends
根本没有任何信息。对于那些有信息的软件包,我想知道列出的依赖项在多大程度上反映了软件包的实际依赖项。
我注意到它们似乎没有反映实际的依赖关系的一个例子是todonotes
:tlmgr 列出xcolor:tools:xkeyval:pgf
依赖项,但在 todonotes.sty 中它说的是:
\RequirePackage{ifthen}
\RequirePackage{xkeyval}
\RequirePackage{xcolor}
\RequirePackage{tikz}
\usetikzlibrary{positioning}
\RequirePackage{calc}
如您所见,该文件需要 ifthen,但 tlmgr 并未列出。这是否可以解释为我忽略了某些内容,还是 tlmgr 列出的依赖项已经过时了?
如果 tlmgr 的依赖关系信息已过时,还有其他来源可以参考以获取包的依赖关系吗?我见过一些包在 CTAN 的文档 pdf 中列出它们,但很少见。
答案1
TeX Live 中的依赖信息最多只是部分信息:它不是设置所必需的,并且仅在绝对需要包时才列出。此外,它列出了TeX 直播包裹不(乳胶。您还需要记住,有些东西是“自动需要的”。例如,ifthen
是核心 LaTeXtools
包的一部分,并且被 LaTeX 团队视为 LaTeX 的必需部分。因此任何LaTeX 安装应该有tool
,因此ifthen
:没有必要将其列为 TeX Live 的依赖项,因为安装latex-base
但没有安装的用户latex-tools
从一开始就创建了“损坏的” LaTeX 设置。
您还必须记住,一些包将是其他包的依赖项,例如tikz
需要xcolor
,因此如果正在使用tikz
,则无需将其列为xcolor
依赖项。
因此,依赖项列表充其量只是一个指南。
如果您想确定 TeX Live 包依赖关系,请创建一个虚拟机并从您满意的方案开始逐步安装包(我会选择infra-only
完全控制)。