MiKTeX 软件包

MiKTeX 软件包

我看到 MiKTeX 有 3 个软件包:

--package-set=SET
Set the package set (one of: essential, basic, complete).

但是我找不到这些内容的列表。我试过这个,但没有成功:

$ miktexsetup --print-info-only download
initializing setup service...
setup task: download
local package repository: "D:\Desktop\MiKTeX Download Files"
package set: complete
remote package repository: http://ctan.math.washington.edu/tex-archive/systems/
win32/miktex/tm/packages/

答案1

运行此命令,并在几秒钟后取消:

$ miktexsetup --verbose download
initializing setup service...
starting downloader...
starting download...
repository: https://mirrors.rit.edu/CTAN/systems/win32/miktex/tm/packages/
download directory: "D:\Desktop\MiKTeX Download Files"
visiting repository https://mirrors.rit.edu/CTAN/systems/win32/miktex/tm/
packages/...
repository type: remote package repository
loading package repository manifest...
downloading https://mirrors.rit.edu/CTAN/systems/win32/miktex/tm/packages/
miktex-zzdb1-2.9.tar.lzma...

最后一行是指向存档的链接,其中包含清单文件mpm.ini。以下是其中的一部分:

[12many]
CabMD5=78e41f641a1a0b49c79e94b6421e1988
CabSize=383872
Level=L
MD5=1c74ba5c710b75403c69a7446690c919
TimePackaged=1310767635
Type=TarLzma
Version=0.3

重点是Level=L。完整列表:

$ grep Level mpm.ini | sort | uniq -c
3555 Level=L
  83 Level=M
 193 Level=S
  62 Level=T

这让我很困惑,因为帮助中列出了 3 个级别,而不是 4 个。那么最​​后一个级别是什么?我在这里找到了答案:

MIKTEX_ASSERT(
PackageLevel::None < PackageLevel::Essential
&& PackageLevel::Essential < PackageLevel::Basic
&& PackageLevel::Basic < PackageLevel::Advanced
&& PackageLevel::Advanced < PackageLevel::Complete);

https://github.com/MiKTeX/miktex/blob/a4a7a810/Libraries/MiKTeX/PackageManager/PackageInstallerImpl.cpp#L97-L101

经过一些测试,这是我的发现:

Level=S (small): essential
Level=M (medium): basic
Level=L (large): advanced
Level=T (total): complete

相关内容