到目前为止,每当我需要知道某个命令(或者我对某个特定任务的模糊概念)的具体定义位置时,我都会使用搜索引擎来查找。
但是,如果我了解特定的包,我们可以使用texdoc
。例如,如果我们需要了解有关graphicx
包的更多信息,我们使用,
texdoc graphicx
然后那个特定的文档就会弹出来。
现在,假设我知道命令\AtBeginEnvironment
,但不确定要使用哪个样式文件。除了使用网络搜索引擎之外,还有其他方法可以找到确实etoolbox
需要使用的样式文件吗?
如果我使用,
texdoc AtBeginEnvironment
我明白了,
Sorry, no documentation found for AtBeginEnvironment.
If you are unsure about the name, try searching CTAN's TeX catalogue at
http://ctan.org/search.html#byDescription.
更进一步说,假设我对要做的事情有一个模糊的概念(例如在环境启动时输入一些命令),但不知道如何实现这一点,有没有办法指出我正确的软件包?同样,不使用搜索引擎?
我知道我们都已经习惯了随手可得的互联网,并视其为理所当然。但是当互联网接入受限或完全不可用时,事情就会变得有点困难。
答案1
您可以tlmgr
使用文件名、详细描述等搜索有关已安装软件包的信息。这不是搜索命令。它更像 CTAN 的搜索,但功能较弱。您可以使用正则表达式等。
您并不总是能获得完整的结果。例如,搜索patch
不会返回etoolbox
:
$ tlmgr search patch
HA-prosper - Patches and improvements for prosper.
issuulinks - Produce external links instead of internal ones.
jknapltx - Miscellaneous packages by Joerg Knappen.
ltabptch - Bug fix for longtable.
lualatex-math - Fixes for mathematics-related LuaLaTeX issues
marginfix - Patch \marginpar to avoid overfull margins.
memoir - Typeset fiction, non-fiction and mathematical books.
oberdiek - A bundle of packages submitted by Heiko Oberdiek.
ogham - Fonts for typesetting Ogham script.
patch - Patch loaded packages, etc..
patchcmd - Change the definition of an existing command.
pittetd - Electronic Theses and Dissertations at Pitt.
realscripts - Access OpenType subscript and superscript glyphs.
regexpatch - High level patching of commands.
shapepar - A macro to typeset paragraphs in specific shapes.
sphack - Patch LaTeX kernel spacing macros.
tamefloats - Experimentally use \holdinginserts with LaTeX floats.
xltxtra - "Extras" for LaTeX users of XeTeX.
xpatch - Extending etoolbox patching commands.
尽管最终结果至少提到了etoolbox
。
类似地,您可以使用texdoc
搜索单词,但仅限于文件路径名。因此,此选项比 提供的搜索功能(tlmgr
还搜索包描述)更受限制。
$ texdoc -l patch
1 /usr/local/texlive/2015/texmf-dist/doc/latex/patchcmd/patchcmd.pdf
= Package documentation
2 /usr/local/texlive/2015/texmf-dist/doc/latex/regexpatch/regexpatch.pdf
= Package documentation
3 /usr/local/texlive/2015/texmf-dist/doc/latex/xpatch/xpatch.pdf
= Package documentation
4 /usr/local/texlive/2015/texmf-dist/doc/latex/regexpatch/README
= Readme
5 /usr/local/texlive/2015/texmf-dist/doc/latex/xpatch/README
= Readme
6 /usr/local/texlive/2015/texmf-dist/doc/latex/oberdiek/hopatch.pdf
7 /usr/local/texlive/2015/texmf-dist/doc/latex/base/patches.txt
8 /usr/local/texlive/2015/texmf-dist/doc/latex/flabels/makedoc-patched
Please enter the number of the file to view, anything else to skip:
如果您真的很绝望,您可以搜索所有软件包文件,然后在这些文件中搜索某个模式。例如,在 Unix 系统上,find $(kpsewhich -var TEXMFMAIN)/tex/latex -path '*.sty'
然后grep '\\AtBeginEnvironment'
对结果运行类似的操作。但您需要相当绝望(但不要着急!)才能这样做。另一方面,如果您知道它可能在哪个软件包中,只需 grep 六个软件包文件就非常快了。