是否有适用于 Mac 的 LaTeX 发行版具有或接近 MiKTeX 自动下载缺失软件包的能力?
答案1
MikTeX 可以即时下载软件包,这是因为在用于构建编译器的源代码中添加了自定义内容,例如pdftex
。这种方法的缺点是,新的编译器(最近的一个例子是 )luatex
会延迟发布,直到完成集成支持即时下载的 MikTeX 附加功能的工作。
除了 MikTeX 发行版之外,我还没有发现有 TeX 编译器能够自动下载缺失的软件包。你可以尝试编译并安装MikTeX 工具这是将 MikTeX 包管理器以及与其集成的 TeX 编译器版本移植到 UNIX 和 Linux 的尝试。
坚持使用 MacTeX 可能仍然是在 OS X 上获得完整、稳定的 TeX 发行版的最佳方式。由于 MacTeX 基于 TeX live 而不是 MikTeX,因此您无法进行即时安装;但您将拥有他tlmgr
在回答中描述的出色的包管理器 domwass。
答案2
在麦金塔电脑,TeX 直播包括閱讀器(TeX live 管理器)来更新和安装软件包(参见概述MacTeX 中包含的内容)。还有TeX Live 实用程序,tlmgr 的 Mac OS X 图形界面。
问候,多米尼克。-
答案3
我今天遇到了同样的问题,所以我编写了这个 bash 函数。
installOnFly () {
fn=${1-main}
pdflatex $fn | tee /tmp/tmp.log
ret=${PIPESTATUS[0]}
while [[ $ret != 0 ]] ; do
mspkg=$(grep "LaTeX Error: File \`.*' not found." /tmp/tmp.log | sed -e 's#! LaTeX Error: File `##g' -e "s#.sty' not found.##g")
echo "********* Installing $mspkg *******"
sudo tlmgr install $mspkg
echo "******* Recompile $fn *******"
pdflatex $fn | tee /tmp/tmp.log
ret=${PIPESTATUS[0]}
done
}
益处:大大加快了我的工作流程。
局限性:当样式文件和包名称不一样,或者缺少字体而不是样式文件时,此方法不起作用。