如何在 Linux 上以命令行方式搜索有关 tex 函数的文档?

如何在 Linux 上以命令行方式搜索有关 tex 函数的文档?

如何在命令行中搜索有关 Linux 上 LaTeX 中的某些函数的内容?

已尝试texdoc,但是texdoc cite,例如,不起作用。

我想要一个在终端中搜索 LaTeX 函数的工具,就像pydoc if搜索 python 的 if 语句一样。

答案1

(La)TeX 的构建方式与 Python 不同,Python 可以在代码本身中存储和构建文档。您需要找出哪个包正在定义宏(又称“命令”),然后使用 加载包手册texdoc <package name>。除了 Google & Co. 所做的之外,没有从宏到其包的交叉引用。TeX 也不了解命名空间等。虽然它是图灵完备的,但不应将其与软件编程语言进行比较,尤其是那些年轻 30 多年的语言。

您正在寻找的最接近的东西是 Perl 脚本texdef(也可以安装为latexdef),它通常显示宏的定义,但它还有一个--find/-f选项来显示给定宏的首次定义位置。 问题是你需要自己加载它应该搜索的包。 它在内部使用 LaTeX,无法自动将所有已安装的包加载到一个文档中。 因此,例如latexdef -f -p hyperref href告诉您 的定义\href并且它首先由 定义url.sty(由 加载hyperref)。 这可用于查找列表中的哪些包定义了宏。 不幸的是,这很麻烦,网络搜索可能更容易,更有成效。

答案2

一般来说,你不能。没有这样的文件包含全部TeX 中的宏。

不过有些书和文档是可以搜索宏的,而且针对不同层次的书籍和文档也很多。

  • 对于用户级 LaTeX 命令和环境,你需要一本好书,例如LaTeX 指南。您可以在索引中找到命令。为了快速参考,您可以查看latex2e-help-texinfotex-refs一些其他电子文档。尝试

    texdoc latex2e-help-texinfo
    

    这些不是全面的文件,但确实有用。

    \cite当然,您可以在这些书籍/文档中找到命令。

  • 对于 LaTeX 包中的任何宏,大多数时候你必须阅读包文档 --- 它是获取信息的唯一来源。如果你想知道它在哪个包中,据我所知,Google 是最好的方法。

    比如你在Google里搜索关键字“LaTeX \citep”,就会知道这\citep是包中提供的命令natbib,然后你可以阅读包的文档natbib来查看详细信息。

  • 对于某些特殊用途,可能会有特殊的文档。几乎所有的 LaTeX 符号都可以在综合 LaTeX 符号列表texdoc symbols例如( )。其他文件包括:epslatex(TeX Live 中仅有法语版本)、、mathmodetamethebeast用于参考书目)等等。

  • 你可以找到全部LaTeX2e 内核中的宏和标准类位于 LaTeX2e 的文档化源代码中:source2eclasses文档。但是您在这些文档中找不到任何在包中定义的宏。请注意,文档化源代码更适合包编写者。在阅读它们之前,请尝试其他用户级文档。

  • 对于 Plain TeX 和 TeX 基元,你可以阅读 Knuth 的电子书。 还缺乏耐心的 TeXtexdoc impatient) 和TeX 按主题分类texdoc texbytopic)很方便。

答案3

我想没有办法搜索全部单个命令的软件包文档。使用 ,texdoc您只能访问完整的软件包文档,例如texdoc biblatex

如果我需要有关特殊命令的信息但不知道它在哪个包中,我会尝试用谷歌搜索它;-)

如果你对 latex 实现有更多了解,可以看看source2e(或者texdoc source2e

相关内容