我想检查用于在 PGF/TikZ 中实现标准矩形形状的源代码。我原本想\pgfdeclareshape{rectangle}
在 PGF 文件中搜索类似内容,但不知道该去哪里找。
我找到了一个pgfbaseshapes.sty
文件texmf-dist/tex/latex/pgf/basiclayer/
但它几乎是空的并且被标记为过时的。
有什么提示我应该看哪里吗?
如果有人可以简单解释一下 PGF/TikZ 代码是如何组织成文件的,那就太好了,也就是说,应该在哪里寻找特定形状、库等的代码。
答案1
第一个答案已经在评论中提到了。基本答案是查找 TeX 发行版的
tex/pgf/generic
文件夹。(TikZ/PGF 具有不同的实现细节,具体取决于驱动程序的选择,因此它进一步将代码分类为ConTeXt/Lua/Xe/PDF/La(TeX)
等。)通用倾向于包含独立于驱动程序的代码。要从 TeXnicCenter 添加另一个选项,如果您使用Ctrl++并输入作为使用目录Shift,它将在单独的窗口中搜索所有相关的 PGF 文件(有两个)。屏幕截图F
C:\Program Files (x86)\MiKTeX 2.9\tex\generic\pgf
Find
奇怪的是,如果它在文件中找不到任何内容,它会说
Cannot access file!
但事实上它确实访问了所有文件。文件大致的组织结构;
- 前端层(TikZ 文件)
tikz.code.tex
是一切的主要文件。 - 基本层(PGF 文件)
- 系统层(驱动程序相关的最低级文件)
- 库(PGF 版本)
- 数学、密钥、实用程序等。
当我们使用
\usetikzlibrary{<lib name>}
它时会查找库文件tikzlibrary<lib name>.code.tex
在 Front-End 文件夹 TikZ 中。然而,这些库调用还涉及
pgflibrary<lib name>.code.tex
在引擎盖下。因此,我们也可以认为,库也有一个前端,主要用于以方便的方式获取主要功能,并传递到实际的 PGF 代码。
- 前端层(TikZ 文件)