该软件包未安装
tlmgr、MiKTeX 以及使用 Tectonic 或 Oleafly 进行按需获取。
该包没有安装
编译迟早会因像“!”这样的行而停止。 LaTeX 错误:找不到文件“siunitx.sty”。该消息的含义正如其所言:您的文档通过“\usepackage{siunitx}”请求一个包,而编译器在您的计算机上找不到该包的“.sty”文件。您的文档没有任何问题。默认情况下,LaTeX 发行版并不提供每个包,修复取决于您运行的发行版。
TeX 直播
TeX Live 是 Linux 和 macOS(如 MacTeX)上的标准发行版,包含一个名为“tlmgr”的包管理器。从终端安装缺少的包:
tlmgr install siunitx如果安装了完整的 TeX Live(有很多 GB),则一切都已存在,并且不应出现此错误。它通常与较小的“基本”或“小型”安装方案一起出现。请注意,“tlmgr”的参数是包名称,而不是文件名,因此没有“.sty”扩展名。
MiKTeX
MiKTeX 在 Windows 上很常见,有两种机制。它的即时安装功能会在编译过程中检测到丢失的文件,并提供获取它的功能,要么提示您,要么根据设置自动继续。或者,打开 MiKTeX 控制台,转到“软件包”选项卡,搜索软件包,然后将其安装在那里。如果即时安装似乎挂起编译,它通常正在等待隐藏在另一个窗口后面的确认对话框。
构造
Oleafly 捆绑的 Tectonic 引擎跳过了手动步骤:在编译期间按需下载包并存放在引擎的本地缓存中。第一个使用“siunitx”的编译会获取它;稍后编译重用缓存。下载依赖项时,首次运行可能需要更长的时间,并且需要网络连接。
安装时没有修复它
如果包管理器报告不存在这样的包,请根据 CTAN(ctan.org 上的中央 LaTeX 包存档)上的包页面检查拼写。最顽固的情况是由两种不匹配造成的。首先,文件和包可以有不同的名称,因为一个分发包可能包含多个“.sty”文件。从错误消息中搜索 CTAN 查找确切的“.sty”文件名可以解决此问题。其次,该错误有时会命名您自己的项目中的文件,例如模板忘记包含的类文件,并且没有包管理器可以提供该文件。该文件必须来自模板所在的位置。
关于旧建议的最后一点:从互联网下载一个单独的“.sty”文件到您的项目文件夹中确实有效,因为 LaTeX 首先搜索当前目录,但它会将该包冻结在随机版本并将其隐藏以防止更新。更喜欢包管理器,并保留手动复制技巧,以应对截止日期前的紧急情况。