可移植的最小分布

可移植的最小分布

有没有可移植的极简 latex/xelatex 发行版?我知道 MikTeX 可移植,但 130MB 大小远远达不到极简要求。或者,我可以轻松制作自己的发行版吗?

我想要的是:

  • 能够编译预定义类型的 XeTeX 文档
  • 仅包含必需的包
  • 大小小于 5MB,最好小于 2MB

有任何想法吗?

答案1

总结各种评论作为答案,底线是 5 MB 的目标是不现实的。例如,我的系统上的 Windows XeTeX 二进制文件是 2.7 MB,而正如 Ulrike 所说

包含 XeTeX 二进制文件的 MiKTeX 包大小为 14MB。

(在我的 Unix 系统上,XeTeX 二进制文件为 17.8 MB)。当然,除了 XeTeX 之外,您还需要系统xdvipdfm(我不确定它在不同系统上是如何打包的。)

作为绝对最低限度,除了 XeTeX 二进制文件之外,您还需要一些用于查找文件的结构(kpsewhich或 MiKTeX 的等效结构)、基本字体(Computer Modern 和 Latin Modern),然后是基本 LaTeX(基础/必需/工具,以及您认为“最低限度”的内容)。这些加起来就够了。

纵观现有的小型分布,BasicTeX (仅限 Mac)为 92 MB,MiKTeX 基础是 157 MB。你可以尝试自己构建类似的东西,但最明显的方法是

获取 MiKTeX 便携版或 TeX Live 便携版,安装它,然后删除您不需要的东西(在 MiKTeX 中,您可以使用包管理器删除包)。

(再次来自 Ulrike 的评论)。

为了减小尺寸,您还应该考虑移除整个doc树,因为这往往非常大。当然,您将不会留下任何文档,但它会变小。

答案2

作为一个拥有 13 年使用经验的 LaTeX 用户,我设法从 TeXlive 中提取了我自己的最小发行版,按照 Joseph Wright 在他的回答中描述的方式,并将其安装在我工作服务器上的个人目录中(在 Windows 平台上),以便它可以在我连接的任何计算机上运行。

它包括pdflatex+bibtex8+制作索引+赛特+苏门答腊pdf和一些标准包(根据+工具+图形+几何学+标题安全+前列腺素+超链接和依赖项)。

我还调整了fonttext.cfgfontmath.cfg并将preload.cfgLatin Modern 作为默认字体,这样我就不用安装 cm 和 ec 字体了……所有这些都占 30MB(约 1300 个文件),所以我可以确认独立的 pdflatex 系统(没有编辑器、pdfviewer 和 pgf 等额外软件包)不超过 20MB。当然赛莱特路拉泰克斯由于二进制文件更大,需要更多空间。

答案3

我也一直在想为什么 TeXLive 这个东西占用了这么多空间,所有这些文件和目录都是做什么的,以及程序实际上为我使用了哪些文件和目录。

因此我只是pdflatex.exe从那里复制并添加文件,直到我可以编写一篇包含一些数学和不同字体的简单文章:

%%hello.tex
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}

\title{How to Structure a LaTeX Document}
\author{Someone}
\date{\today}
\maketitle

\begin{abstract}
Your abstract goes here...
...
\end{abstract}


\section{Structure}
This section's content...

\subsection{Top Matter}
This subsection's content...

\subsubsection{Article Information}
This subsubsection's content...

\emph{hello} hello $x^2, \mathbb R, \mathcal C, \mathfrak F, \int_0^1 \sin(x) \mathrm d x$

\end{document}

事实证明,除了 pdflatex.exe 之外,您还需要:

  • 一些.dll
  • .sty您使用的软件包的文件以及软件包的依赖项
  • 一些U*.fd用于修复表单错误的文件LaTeX Font Warning: Font shape `U/*/m/n' undefined
  • texmf.cnf
  • <the documentclass>.cls
  • size10.clo(无论这是什么)
  • .tfm(字体度量)以及.pfb您使用(或计划使用,或更多)的所有字体的文件
  • pdftex.map.map这是您使用的字体的所有文件的串联。

这些文件不必位于标准 Latex 文件夹结构中。它们可以与pdflatex可执行文件位于同一文件夹中。

我已经上传了~10MB(解压)文件夹包含运行所需的所有文件pdflatex hello.tex并生成以下内容hello.pdf

https://drive.google.com/drive/folders/1iDTmFBQt8fFUSpOoJZWLw8TEai35awCj(它包含 pdflatex。EXE文件(来自 TeXLive2016),因此 Google Drive 可能会告诉您“包含可执行代码,下载时请自担风险”)

如果您尝试编译更复杂的东西,您应该能够从完整的 TeXLive 安装中复制必要的文件,以使这个最小安装也能够编译它。


也就是说,如果你在旅途中或处于资源匮乏的环境中,但有互联网连接,你可能更喜欢使用

它可能为您提供编译一些 LaTeX 的 API。

答案4

剥离 Thierry Laronde 的超快 TeX 发行版,压缩包,你可以得到一个清楚的TeX 分布2MB

0)tex可执行文件为1,229,008字节(运行后strip)。(我稍微修改了 C 源代码,因此您的大小可能会略有不同。)

1)该plain.fmt文件是541,382字节。

总计:1,770,390字节。

2)剩下的就字体

我正在使用自定义 DVI 驱动程序(从 分叉而来dvipng),这就是我所需要的编译 .tex源代码和使成为 .dvi代码。


Type 1 字体可能会增加几 MB(因为它们数量太多了...),但您可以将总大小保持在 2MB 以下。每个 Type 1 字体都是 2 个文件:一个文件和一个文件。.pfb每个Type 1字体总共.tfm约1000字节。35,000例如,我使用这些Type 1字体:cmssbx10,,,,,,,,,,,,,,,,,,,,,cmssbx10cmss10cmssbx10cmssi10cmsl10cmtt10cmcsc10cmmi10cmsy10cmbx10eusm10eusb10eufm10eufb10cmr10cmmi7cmr7

KerTeXtex可执行文件(将.tex源代码编译成.dvi)和我的 DVI 驱动程序(将.dvi代码渲染到屏幕和图像)需要该plain.fmt文件才能工作,而字体则需要.pfb.tfm文件。(虽然我认为tex只需要 TFM 文件?)

就是这样。

(实际上,由于某种原因,KerTeX 的tex可执行文件也需要KXPATH字体文件夹中的文件,但它只有6字节......)

(顺便说一下,KerTeXtex可执行文件可以在大约 2 毫秒内编译小型 TeX 文件,因此它足以.tex实时编译和渲染源,因为 DVI 驱动程序也可以变得非常快。)

相关内容