如何在 LaTex 中安装单独的包(如 commath)?

如何在 LaTex 中安装单独的包(如 commath)?

我无法理解 LaTex 如何处理包,所以这是一个相当普遍的问题,源于我对 commath 包的特定问题。

我想使用 commath 包,所以我从加拿大运输安全局为了安装它,我尝试了两种不同的方法:

第一次尝试
我以前使用过 amsmath 包,因此我检查了它在系统上的位置并发现了这一点:

/usr/share/texmf-dist/tex/latex/amsmath
/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty

所以我创建了一个文件夹/usr/share/texmf-dist/tex/latex/commath并将文件放入commath.sty其中。我重启了电脑。它不起作用(kile 和 texmaker 都不起作用)。

第二次尝试
根据一些论坛的建议,我检查了我的TEXMFLOCAL路径:

$kpsewhich -var-value TEXMFLOCAL
/usr/local/share/texmf:/usr/share/texmf

我的电脑上没有这两个文件夹,所以我创建了一个文件夹,在其中/usr/share/texmf创建了文件夹,将文件放在了 commath 文件夹中。我重启了电脑。还是没用。commathcommath.sty

那么有人能告诉我我做错了什么吗?如果它们位于同一个父目录中,为什么 kile/texmaker 使用一个包(amsmath)而不使用另一个包?我如何才能具体找出编辑器搜索的目录?

我在 Manjaro Linux 上使用 TexLive。

答案1

如果您通过包管理器安装了 TeX,则您希望通过同一个包管理器为其安装新包。您提到这是 Manjaro,因此您需要使用pacman -Ss关键字或pacman -Qo文件搜索包列表。或者您可能在线查找包。

或者,完整安装 TeX Live,您可能永远不需要阅读这句话或再担心它。

一般来说,您会寻找一个.sty用来调用的包的文件\usepackage。一个.cls用于文档类的文件、一个.tfm用于旧字体的文件,.otf或者有时.ttf是一个.ttc用于现代字体的文件,或者.mf一个用于非常古老的字体的文件。

如果你使用自己的 TeX Live 安装,则需要设置PATH以使用其可执行文件。在 Manjaro 或 Arch 上,其命令行实用程序默认不起作用。然后,你需要在 CTAN 中搜索所需的包,并查看它是否有类似“Contained in TeX Live as commath”的行。然后使用 进行安装tlmgr。你可能需要以管理员身份运行tlmgrsudo。由于我通常只为安装 TeX 创建一个帐户,alias因此我的 shell 中有一个sudo -u tex -E $(which tlmgr)

如果您正在运行 MikTeX,您可能希望通过 MikTeX 控制台进行更新。

极少数情况下,您可能需要手动安装任何包管理器都无法提供的包。在这种情况下,放置它的最佳位置通常是您找到的目录TEXMFLOCAL,使用以下命令

kpsewhich --var-value=TEXMFLOCAL

在 Linux 上,您通常希望将自己的文件放在 下/usr/local/share/,而不是 下/usr/share/。否则,您就走在正确的轨道上:创建子目录并复制文件。如果您像这样安装自己的软件包,您几乎肯定会想要删除操作系统附带的过时 TeX,并安装最新的 TeX Live 或 MikTeX。否则,较新的软件包甚至可能无法工作。

如果您运行的是 MikTeX 而不是 TeX Live,则需要在其控制台中添加这个新目录作为本地 TeX 树。

复制文件后,运行

texhash
updmap-sys

就像任何拥有你的 TeX 安装的帐户一样。

如果您使用的是多用户系统,无法保存到TEXMFLOCAL,请使用TEXMFHOME。您可以用类似方法找到它的位置,

kpsewhich --var-value=TEXMFHOME

作为最后的手段,您可以创建一个目录~/texmf并尝试TEXINPUTS=$HOME/texmf; export TEXINPUTS使用它。

相关内容