跳转到内容

LaTeX/创建包文档

来自维基教科书,开放书籍,开放世界

LaTeX

入门
  1. 介绍
  2. 安装
  3. 安装额外的包
  4. 基础
  5. 如何获得帮助

常用元素

  1. 文档结构
  2. 文本格式
  3. 段落格式
  4. 颜色
  5. 字体
  6. 列表结构
  7. 特殊字符
  8. 国际化
  9. 旋转
  10. 表格
  11. 标题创建
  12. 页面布局
  13. 自定义页面页眉和页脚‎
  14. 导入图形
  15. 浮动体、图形和标题
  16. 脚注和边注
  17. 超链接
  18. 标签和交叉引用
  19. 首字母

机制

  1. 错误和警告
  2. 长度
  3. 计数器
  4. 方框
  5. 规则和支撑

技术文本

  1. 数学
  2. 高级数学
  3. 定理
  4. 化学图形
  5. 算法
  6. 源代码清单
  7. 语言学

特殊页面

  1. 索引
  2. 术语表
  3. 参考文献管理
  4. 更多参考文献

特殊文档

  1. 科学报告(学士论文、硕士论文、博士论文)
  2. 信件
  3. 演示文稿
  4. 教师专区
  5. 简历
  6. 学术期刊(MLA、APA 等)

创建图形

  1. 介绍程序化图形
  2. MetaPost
  3. 图片
  4. PGF/TikZ
  5. PSTricks
  6. Xy-pic
  7. 创建 3D 图形

编程

  1. Plain TeX
  2. 创建包
  3. 创建包文档
  4. 主题

其他

  1. 模块化文档
  2. 协作编写 LaTeX 文档
  3. 导出到其他格式

帮助和建议

  1. 常见问题解答
  2. 技巧和窍门

附录

  1. 作者
  2. 链接
  3. 包参考
  4. LaTeX 文档示例
  5. 索引
  6. 命令词汇表

编辑此框编辑目录

文档对于最终用户来说非常重要,可以让他们快速了解如何使用您的包。它们也对其他开发人员有帮助,因为它们可以使阅读您的代码更容易。每种编程语言都有自己的文档编写方式。对于 LaTeX,我们从.dtx文件生成 pdf 文档。

.dtx后缀是documentation TeX的缩写。它具有两种功能

  • 向用户解释如何使用包中的命令
  • 格式化源代码以方便阅读

基本结构

[编辑 | 编辑源代码]

假设您想要为新创建的包编写文档,该包名为mypackage例如。 的基本结构.dtx文件如下所示

% \iffalse meta-comment
% Add copyright,author,version information
% here for this documentation file
% \fi
% \iffalse
%<*driver>
\ProvidesFile{mypackage.dtx}[1.0 My package]
\documentclass{ltxdoc}
\begin{document}
  \DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
% write normal LaTeX documentation content here
% \Finale
%
\endinput

当您运行pdflatex mypackage.dtx,您可以生成mypackage.pdf,即手册。在这个 pdf 文件中,\fi\endinput 之后的全部内容都会从注释中剥离出来,并插入到文档之间。注意,当 LaTeX 引擎第一次遇到 \DocInput 时,它会再次读取同一个文件,但会剥离所有以 % 开头的行。结果是,它会忽略包含 \iffalse ...\fi 的代码块。还应注意,同一个文件的第二次传递也会忽略 %<driver>%<*driver> 之间的魔法注释。指示符 **driver** 表明内部内容是生成最终手册的包装器,您可以根据需要用其他单词替换它们。

有一些宏需要进一步解释

  • \ProvidesFile{<name>}[<version>] 的工作原理类似于 \ProvidesPackage{<name>}[<version>],它将方括号中的内容写入日志文件。
  • 元注释用于提供.dtx文件本身的信息。由于您不能使用正常的 TeX 注释,因为它们会被剥离。
  • ltxdoc类似于其他文档类,并提供一些易于使用的命令来编写包文档,如下所示。

新的宏描述

[编辑 | 编辑源代码]

要描述在您的包中定义的宏,您可以使用

% \begin{macro}{\mymacro}
% mymacro definition goes here
% \end{macro}

环境macro接受一个强制参数,即宏的名称,并在左页边距处打印。您也可以使用 \DescribeMacro{mymacro} 并将额外的解释放在正常文本中。对于新的环境描述,您可以使用 \DescribeEnv{mynewenv}。它们的区别在于索引条目类型,这将在下面说明。

索引条目和更改

[编辑 | 编辑源代码]

在包文档文件的序言中添加 \EnableCrossrefs(在行开头不要加注释)。在您想要索引出现的位置添加 \PrintIndex。您描述的所有宏都将在文档末尾打印出来。有关创建索引的常规介绍,请参见编译索引。通常,以下构建就足够了

makeindex -s gind.ist -o mypackage.ind mypackage.idx

ltxdoc还提供了记录包更改的功能。要启用此功能,请在序言中添加 \RecordChanges,并使用

\changes{v1.0}{2017/01/01}{create my package.}

在您想要索引出现的位置添加 \PrintChanges。更改将使用术语表支持进行记录,调用makeindex从命令行

makeindex -s gglo.ist -o mypackage.gls mypackage.glo
华夏公益教科书