将 CTAN 包添加到 MacPorts 维护的 TeX 安装中

将 CTAN 包添加到 MacPorts 维护的 TeX 安装中

我已经安装特克斯利夫通过麦金塔现在发现我缺少一些包。为了清楚起见,让我们举一个简单的例子,假设我缺少 lipsum.sty。

我现在有两个选择:

选项1

我去了一个加拿大运输安全局网站,查找 lipsum.sty,下载并安装~/Library/texmf/tex

这还不错,但这可能会让我在某个时候得到第二个口交。这就是为什么第二个选项是可取的。

选项 2

2.1--我发现哪个 MacPorts 软件包包含 lipsum.sty

2.2——Isudo port install必要的包装。

我该怎么做2.1?

答案1

您的问题很好,但揭示了 Linux 类(我这里包括 MacPorts)软件包管理系统在处理 TeX 发行版时的一个根本缺陷。问题在于软件包(TeX 意义上的)与 Linux 意义上的软件包在质量上有所不同,但 Linux 软件包制作者似乎并未意识到这种区别,因此,如果您使用基于 Linux 的 TeX 发行版,那么您通常无法通过简单的方式更新 TeX 软件包。

TeX 包和常规软件包之间的本质区别在于,TeX 包是简单的文本文件,未经编译,实际上不可执行。而常规软件包通常是经过编译的软件或一堆脚本。当然,在整个 TeX 发行版中,肯定有经过编译的二进制文件和脚本,但这些不像 TeX 包那样更新频繁,因为它们通常每年只更新一次。但新的 TeX 包和对现有包的更新一直在发生,TeXLive(和 MikTeX)用户可以不断访问这些更新。

因此,理想的基于 Linux 的软件包将安装仅有的TeX 二进制文件和支持软件,包括 tlmgr然后允许tlmgr处理 TeX 软件包的安装,而不是让 Linux 软件包管理器执行此操作。但是,出于某些我并不完全清楚的原因,这不是基于 Linux 的系统所采用的路线(因此导致了许多过时的 TeX 发行版;Ubuntu 在这方面是众所周知的罪魁祸首。)由于情况并非如此,大多数有经验的 TeX 用户都会安装自己的 TeXLive 版本并绕过软件包管理器;(参见如何在 Debian 或 Ubuntu 上安装“原始” TeXLive?)同样,Mac 用户使用MacTeX 发行版

MacPorts 似乎确实保持最新状态,但除非它能够识别“TeX 包”与“Linux 包”的区别并实际安装,否则tlmgr我认为没有办法回答您的问题 2.2。

我认为有一种可能性:同时安装 MacPorts 版本和 MacTeX,然后确保/usr/local/texlive即使使用 MacPorts 二进制文件也能找到 TeX 包。

答案2

lipsum是软件包的一部分texlive-latex-extra。您可以通过以下方式安装

sudo port 安装 texlive-latex-extra

您可以通过索引名称来找到所需的包https://trac.macports.org/wiki/TeXLivePackages

答案3

选项 2

2.1:packages.ubuntu.com,查找“搜索包裹内容”,输入后lipsum.sty按搜索。

结果:

在此处输入图片描述

2.2: sudo port install texlive-latex-extra

我曾经讨厌 MacPorts 有限的搜索功能,直到我发现99% 的病例MacPorts 软件包的名称与相应的 Ubuntu 软件包相同。这不仅适用于查找 LaTeX 内容,也适用于基本上任何内容:有人建议pdfnup生成幻灯片讲义,而您想将其用于 Mac?只需在“搜索软件包竞赛”中输入它,您就会发现要安装的 MacPorts 软件包是pdfjam

答案4

MacPorts 将软件包分成几组,然后在 TeXLive 的原始安装中只安装其中的几个组。您可以在终端提示符下输入以下命令来查看系统上安装了哪些 TeXLive 端口组:

port installed texlive-*.  

此命令将列出相当数量的组,一些是活动的,一些不是,这取决于您在端口系统中更新的程度。

您可以访问以下 MacPorts wiki 网站并搜索包来查找哪些包位于哪个端口组中:

https://trac.macports.org/wiki/TeXLivePackages

如果您尚未安装该软件包,则可以在终端提示符下输入以下命令来安装特定的 MacPorts TeXLive 包:

sudo port install texlive-<package>

相关内容