如何获取乳胶文档中的可用命令列表?

时间:2009-05-02 11:05:47

标签: latex

我对乳胶本身知之甚少。我需要的只是可用命令列表。所有标准命令都来自“usepackage”声明。

我目前专注于MiKTeX,所以如果MiKTeX提供,它当然很棒,否则我会想到解析一些.sty或.def文件。但我不明白这些文件背后的语法。如果解析是唯一的解决方案,我应该在这些文件中查找什么?

4 个答案:

答案 0 :(得分:3)

解析TeX代码绝不是获取所有控制序列列表的唯一方法。其他可能性包括:

  • 导致TeX在加载相关包后转储其数据结构,然后解析转储文件;当您运行latex命令时,真正发生的是tex二进制文件加载latex.fmt转储文件,该文件是通过使用相同的二进制文件解析LaTeX的所有内置代码生成的并倾销其数据结构;

  • 修改TeX的源代码,以便在每次定义控制序列时输出内容;

  • 在可编写脚本的调试器中运行TeX,插入一个断点,将序列插入到哈希表中,并让脚本输出序列的名称。

这些都不是一个特别简单的解决方案,但可能比自己编写一个类似TeX的解析器更容易。要开始使用,请查看TeX: The Program和您的TeX系统的源代码。

如果你的目标是在编辑器中提供“intellisense”,那么仅仅命令序列列表就不会有多大帮助:当用户输入\ref{时,你应该提供一个在文件(如果输入Chapter~\ref{,奖励积分会产生章节标签列表,而不是所有标签);对于\settowidth{,长度命令列表;对于\begin{,环境列表;等

你可以看到AUCTeX(一种Emacs模式)的作用;它有一个有限的,基于regexp的解析器来处理常见的情况,还有一堆特定于包的库来扩展功能。

答案 1 :(得分:1)

对我来说,你可以使用类似“备忘单”的东西。有一个here,但肯定会有更多的人躺在那里。

答案 2 :(得分:0)

latex是一个宏包,宏系统(一些hygenienic除外)是众所周知难以解析的。

事实证明,这些年来,没有体面的乳胶到html转换器。

但无论如何,现有的可以给你一个例子如何继续,搜索latex2html(在Perl中),tex2ht和hevea

答案 3 :(得分:0)

从你的问题中不清楚你是否想要一个用于程序的列表,或者仅仅是你自己的文档?

在后一种情况下,最近的TeX发行版包括命令texdoc,它将为您提出的任何内容找到并打开文档,例如texdoc hyperref。它为方便起见定义了别名:texdoc koma将找到并打开koma-script手册,即使实际文件名为scrguien.pdf