我有以下假设:
- TeX 是一种语言
- Plain TeX 是该语言的原始环境
- LaTeX(和其他环境)是一组使用 TeX 原语编写的编译宏。
- 假设 MikTeX 可以在本地存储库中组织这些宏,这样我就可以在我的 LaTeX 文档中重复使用它们。
但我仍然不确定 CTAN 是否包含用于 LaTeX 或 TeX 的软件包。它们是使用内置 LaTeX 宏编写的还是用纯 TeX 编写的。如果第二个是真的,我可以在纯 TeX 中使用这些包吗\input
?我应该如何组织从 CTAN 下载的宏并将其放入与我的文档相同的文件夹中?有没有纯 TeX 的包管理器?
答案1
简而言之:Plain TeX 和 LaTeX 是不同的宏包,它们定义了不同的格式。因此,一般来说,不是可以在 Plain TeX 上使用 LaTeX 包。有关所有这些相当专业的术语的简短介绍,您可以查看这篇博文
可以通过伪造 LaTeX 的一些功能在 Plain TeX 上使用一些 LaTeX 包(例如图形、颜色和 hyperref);只需加载并使包运行即可。另一个在 plain 之上构建的宏包 eplain 具有内置功能,可以加载一些基本的 LaTeX 宏包。
\beginpackages
\usepackage{graphicx,color}
\usepackage{url}
\endpackages
还可以使用提供的plain
软件包和plain
环境在 LaTeX 文档中使用一些 Plain TeX 功能。尽管如此,它并不是全部,但可以用于很多事情。
\usepackage{plain}
\begin{plain}
[plain stuff]
\end{plain}
您可以在 CTAN 中找到所有这些内容,其中包含大量与 TeX 相关的内容。但请注意,您需要学习如何在 tex-archive 树中导航。
MikTeX 包管理器主要处理 LaTeX 包,因此您可能需要学习如何手动安装普通宏文件。
答案2
这只是部分答案,因为它没有提供所要求的全部信息。
CTAN 上有专为 PlainTeX 设计的宏包(“包”),列在下方CTAN 档案并明确说明,例如
ETC。
目录CTAN 普通/贡献档案包含大量用户贡献的 TeX 包。
在 PlainTeX 中直接使用LaTeX
宏很困难,这取决于它们的复杂性,以绕过 LaTeX 样式并将它们归结为 TeX。要么需要将宏从 LaTeX 包中复制出来,要么使用一些\let\RequirePackage
……等东西来让 TeX 平静下来。
\input
我怀疑对LaTeX 包/源文件/序言所做的全部努力是否会获得任何成果。
屏幕截图仅显示相关类别中的一些宏目录。概述并不完整。
答案3
CTAN 是一个 TeX 及其相关代码库,而不是 LaTeX 爱好者 :P。内容是分开的,以方便维护,并包含一些深奥的细节(据我所知)。例如,如果您查看 MikTeX 目录,您可以清楚地看到这种分离。因为软件包也是基于此结构安装的。
但是,在纯 TeX 中使用 LaTeX 包的可能性取决于包的作者。如果您在包中使用 LaTeX 构造,而一些纯 TeX 用户想要使用它,那么它将失败,因为 LaTeX 宏将不可用。如果您使用\newcommand
代替\def
或其他 LaTeX 构造,例如\newcounter
等等,那么纯 TeX 用户需要导入带有输入的乳胶样式文件,这或多或少会使用 LaTeX,因此徒劳无功,或者从头开始重写宏。
一些作者实际上会在包导入期间检查编译引擎、分支并做出相应的决定。