有所谓的 .dtx 格式。

有所谓的 .dtx 格式。

我发现自己正在为常用的乳胶命令创建新的命令,以减少我所写内容的认知负荷。

一个例子是编写矩阵,而不是编写完整的命令,我可以将其简化为这样的内容

\newcommand\mat[1]{\begin{bmatrix}#1\end{bmatrix}}

随着重新定义的命令数量的增加,我开始怀疑其他人是否已经做过我正在尝试做的事情,或者我如何才能让其他人从我创建的命令中受益。

我猜我描述的可能是一个包?但我以前没有制作包的经验,也不知道这里面会涉及什么。我制作包的目的是减少输入数学命令所需的字符数,并减少编写 latex 时的认知负荷。

如果有人能为我指出这个问题的最佳方向,我将不胜感激。

答案1

您似乎打算将自己的缩写级别(以 (La)TeX 宏集合的形式)添加到已经存在的事物中。

一方面,这确实可以让您更容易理解文档的代码。

另一方面,如果您分发 .tex 源代码以便其他人可以编译它,这可能会使事情变得复杂:

虽然这可能会让您更容易理解代码,但并不能保证其他人也能更容易理解代码,因为其他人可能不习惯您的宏。

除此之外,这可能会导致一些可用于直接从 (La)TeX 代码导出/渲染 .html 文件等的程序出现问题。(例如,TeX4htLaTeX 转 HTML甲状腺激素塑料超乳胶,...)

也许添加“私有级别的缩写”可以不通过 (La)TeX 宏来实现,而是通过编辑器宏来实现,编辑器宏允许您键入一些缩写,以便将大部分 (La)TeX 代码插入 .tex 文件中。
当然,这样做的缺点是,在键入过程中使用缩写时,您通常只能使用那些可以按照您的方式自定义编辑软件的机器,并且您有足够的可能性和权限为编辑软件导入您的私有自定义设置。
如果您在许多不同的计算机上工作,因此使用各种不同的文本编辑程序,可能不是您管理的所有机器,仅通过编辑器宏将您的工作流程绑定到该特定编辑软件可能不是一种可行的方法。

是因为它可能。

即使不想减少输入代码并使阅读/理解代码更加容易,您也很快就会发现无法避免编写 (La)TeX 宏,因为您需要尚未提供的功能。

所以:

如果您决定提供自己的一组 LaTeX 宏,那么在单个包中提供所有内容可能是一个好主意。

有所谓的 .dtx 格式。

与 .sty 文件和 .tex 文件一样,.dtx 文件实际上只是包含 (La)TeX 代码的文本文件。

文件扩展名“.dtx”是“Documented LaTeX source”的缩写。

.dtx 格式允许您将代码、用户手册和用于解释代码的注释保存在一个文本文件中,该文件的文件扩展名为 .dtx 。

\usepackage从 .dtx 文件中,可以轻松获得可通过和文件加载的 .sty 文件,.pdf其中包含格式良好的用户手册和/或格式良好的注释包源代码。

LaTeX 2e 内核本身的源代码以.dtx 格式维护。

许多提交给综合 TeX 档案网络 (CTAN)以.dtx 格式管理。

简而言之:

.dtx 格式允许您(并编译出一个好看的 .pdf 文件)使用软件包的注释源代码和手册文档,并让你产生.sty 文件(可通过 加载\usepackage)通过包文档条

你可以通过让 (La)TeX 加载文档条\generate并从相关 .dtx 文件内部执行所谓的-directives,或者通过放置加载指令文档条并将指令执行\generate到单独的纯文本文件中,该文件的扩展名应为 .ins 。


一些加拿大运输安全局- 感兴趣的资源可能是:

clsguide – LaTeX 类和包编写文档

CTAN描述:

编写 LaTeX 类或包时有用的命令(字体处理命令除外)的文档。

文档集的一部分,还涵盖新的 LaTeX 2e 命令、字体处理、排版西里尔文、LaTeX 字体编码、配置选项和 LaTeX 的修改。


doc – 格式化 LaTeX 文档

CTAN描述:

该包提供了格式化 LaTeX 内核和包源文件(Literate LaTeX)文档所必需的定义,其中包含文档和代码。

这个包是 LaTeX 发行版的一部分。

包装文档:
Frank Mitelbach:doc 和 shortvrb 软件包


docstrip – 从文件中删除注释

CTAN描述:

该软件包通过删除文档和元数据来准备 LaTeX 内核或软件包源文件以供实际使用。该软件包可以有条件地包含源文件的部分内容,从单个源生成多个文件,并从多个源文件生成单个输出。

该软件包是 LaTeX 发行版的一部分。

包装文档:
Frank Mittelbach、Denys Duchier、Johannes Braams、Marcin Woliński、Mark Wooding:DocStrip 程序


Scott Pakin:如何打包你的 LaTeX 包

摘要中写道:

本教程适用于高级 LaTeX 2ε 用户,他们想要学习如何创建 .ins 和 .dtx 文件以分发其自制的类和样式文件。


DTX 画廊 – 极简 DTX 示例的小集合

CTAN描述:

一组文件展示了使用灵活且未被重视的 docstrip 文件格式可以实现的简单功能。该集合中的每个文件都以 .dtx 文件和相应的 .pdf 格式提供。

该套件旨在作为 Scott Pakin 的优秀且具有影响力的 dtxtut 示例的配套产品,该示例以这种方式制作 LaTeX 包。


如果你有一天打算通过将软件包提交到综合 TeX 档案网络 (CTAN),您可能会对以下内容感兴趣:

我如何上传包裹?

针对 CTAN 上传者的附加信息

将 TDS 打包材料上传至 CTAN 的指南

TeX Live 软件包贡献

相关内容