有没有可移植的极简 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.cfg
,fontmath.cfg
并将preload.cfg
Latin 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 安装中复制必要的文件,以使这个最小安装也能够编译它。
也就是说,如果你在旅途中或处于资源匮乏的环境中,但有互联网连接,你可能更喜欢使用
- http://latex.informatik.uni-halle.de/latex-online/latex.php
- https://www.codecogs.com/latex/eqneditor.php
- https://www.overleaf.com/
- https://papeeria.com/
- https://www.mathjax.org/
它可能为您提供编译一些 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
,,,,,,,,,,,,,,,,,,,,,cmssbx10
。cmss10
cmssbx10
cmssi10
cmsl10
cmtt10
cmcsc10
cmmi10
cmsy10
cmbx10
eusm10
eusb10
eufm10
eufb10
cmr10
cmmi7
cmr7
KerTeXtex
可执行文件(将.tex
源代码编译成.dvi
)和我的 DVI 驱动程序(将.dvi
代码渲染到屏幕和图像)需要该plain.fmt
文件才能工作,而字体则需要.pfb
和.tfm
文件。(虽然我认为tex
只需要 TFM 文件?)
就是这样。
(实际上,由于某种原因,KerTeX 的tex
可执行文件也需要KXPATH
字体文件夹中的文件,但它只有6
字节......)
(顺便说一下,KerTeXtex
可执行文件可以在大约 2 毫秒内编译小型 TeX 文件,因此它足以.tex
实时编译和渲染源,因为 DVI 驱动程序也可以变得非常快。)