这个问题与确定包属于哪个 TeX Live 集合,也许远远超出TeX live 中安装了哪些字体包?。
\usepackage
我对 TeX Live 软件包在“官方”合集中的组织方式以及一些 TeX Live 软件包的内容有些困惑。此外,可以使用的“软件包”与“软件包”之间的关系加拿大运输安全局对我来说不是很清楚。此外,我不知道 CTAN 中的软件包是否与 TeX Live 的软件包一一对应。(但我知道特定于操作系统的 TeX Live 发行版有自己的软件包。)
我知道 TeX Live 软件包通常被组织成诸如
collection-latexrecommended
、collection-latexextra
、之类的集合collection-science
。是否存在将软件包划分为集合的“官方”方法?我可以去某个地方浏览吗?我在这里找到了一些列表:- http://mirror.ctan.org/systems/texlive/tlnet/tlpkg/texlive.tlpdb这是 TeX Live 软件包组织的可靠来源吗?还有更好的吗?
在哪里可以查看
\usepackage
每个 CTAN 包提供哪些 -type 包,反之亦然,哪个 CTAN 包提供给定\usepackage
-type 包?例如,我对以下关系感到困惑lmodern
LaTeX 包之间的关系感到困惑,它有一个有点晦涩的条目在 CTAN和lm
CTAN 包。例如,可以lmodern
在不安装的情况下使用吗lm
?如果可以,在这种情况下会安装 Latin Modern 字体吗?相反,我是否会出现这样的情况:lm
安装了,但lmodern
包或实际的 Latin Modern 字体不可用?[^debugging_case]
[^debugging_case]:我实际上正在调试一种情况,其中TeX Live 包必须安装在 NixOS 用户配置文件中,但如果没有安装特定于操作系统的 Latin Modern 字体包,则lm
XeLaTeX 中无法使用 Latin Modern 字体。\setmainfont
答案1
这里的混乱源于 这个词的完全泛滥package
,它可以指代许多不同的东西。让我们从最小的单位开始,尝试进一步区分这些包。
- 样式文件:
\usepackage{aaa}
这用于 LaTeX 源代码并引用.sty
将要加载的一个特定文件。 - CTAN 包:这些是由同一个人或团队开发的文件集,有时只包含一个
.sty
文件,有时包含许多文件和其他文件(字体、指标、数据等)。 - TeX Live 软件包:这是您可以在 TeX Live 中安装的
tlmgr
不称为collection-*
或 的软件包scheme-*
。这些软件包通常与 CTAN 软件包相同,只有极少数例外。 - TeX Live 合集:这些是 TeX Live 软件包 / CTAN 软件包的组。这些软件包大致按用途和相关性排序。
- 分发包:发行版(如 Debian、RedHat 和 SuSE)经常将 TeX Live 发行版重新打包成自己的格式和单元。Debian 为 TeX Live 中的每个集合创建一个 Debian 包。其他发行版的做法不同。
你问的是官方的检查的地方。这并不容易:
- 样式文件:没有简单的方法,因为它们太多了,而且很多都不能直接用于
\usepackage
。唯一的方法是检查可用文件列表。在 TeX Live 中,您可以使用 来执行此操作tlmgr search --file .sty
,它将为您提供一长串 CTAN/TeX Live 包名称和所含样式文件(顺便说一下,目前有 4509 个文件)。 - CTAN 包:CTAN 本身具有广泛的搜索和浏览选项。
- TeX Live 软件包:TeX Live 中软件包的权威来源最好在
tlpsrc
文件列表中找到颠覆存储库。但是,这不会对您有太大帮助,因为没有包含任何描述或文件。您可以再次使用tlmgr info
which 列出所有软件包,包括它们是否已安装以及简短描述。您还提到http://mirror.ctan.org/systems/texlive/tlnet/tlpkg/texlive.tlpdb,这绝对很好并且可读性强,但tlmgr
查询这些数据可能会更舒服。 - TeX Live 合集:参见上文,或使用
tlmgr info collections
- 分发包:每个发行版都有自己的信息页面
lm
要查看与相比的示例lmodern.sty
,您可以执行以下操作。
用于tlmgr
查找哪个包提供了lmodern.sty
:
$ tlmgr search --file lmodern.sty
lm:
texmf-dist/tex/latex/lm/lmodern.sty
然后使用tlmgr info
获取更多详细信息:
tlmgr info lm
package: lm
category: Package
shortdesc: Latin modern fonts in outline formats
longdesc: The Latin Modern family of fonts consists of 72 text fonts and 20 mathematics fonts, and is based on the Computer Modern fonts released into public domain by AMS (copyright (c) 1997 AMS). The lm font set contains a lot of additional characters, mainly accented ones, but not exclusively. There is one set of fonts, available both in Adobe Type 1 format (*.pfb) and in OpenType format (*.otf). There are five sets of TeX Font Metric files, corresponding to: Cork encoding (cork-*.tfm); QX encoding (qx- *.tfm); TeX'n'ANSI aka LY1 encoding (texnansi-*.tfm); T5 (Vietnamese) encoding (t5-*.tfm); and Text Companion for EC fonts aka TS1 (ts1-*.tfm).
installed: Yes
revision: 28119
sizes: src: 4817k, doc: 2629k, run: 42581k
relocatable: No
cat-version: 2.004
cat-date: 2015-08-03 05:43:12 +0200
cat-license: gfsl
cat-topics: font font-proportional font-mono font-type1 font-otf font-cm
collection: collection-fontsrecommended
如果您想查看其中包含的所有文件lm
,只需添加--list
到上述调用,它就会为您提供所有包含的文件。
最后,您还可以lm
通过以下方式浏览该软件包:https://ctan.org/pkg/lm,您可以在其中确认相应的 TeX Live 包名称是否为lm
(“包含在 TEX Live 中为 lm”)。
答案2
tlmgr
工具包含了你需要的大部分信息,例如如果你查询lmodern
它
$ tlmgr list lmodern
tlmgr: package repository http://anorien.csc.warwick.ac.uk/mirrors/CTAN/systems/texlive/tlnet (verified)
tlmgr: cannot find package lmodern, searching for other matches:
Packages containing `lmodern' in their title/description:
fixcmex - Fully scalable version of Computer Modern Math Extension font
Packages containing files matching `lmodern':
lm:
texmf-dist/tex/latex/lm/lmodern.sty
因此在 texlive 中lmodern.sty
只是在lm
包中。 ctan 条目lmodern
似乎特别奇怪,它是讨论的历史记录,而不是与任何实际下载相关。它可能被重命名了。