我正在尝试使用流程图的示例(示例链接)。在这个例子中,作者(Brent Longborough)建议修改代码以便理解。我尝试了很多修改,但我无法理解它,也找不到有关此代码的任何文档:
> % ------------------------------------------------- % Set up a new
> layer for the debugging marks, and make sure it is on % top
> \pgfdeclarelayer{marx} %---------dichiarazione del Layer chiamato marx
> \pgfsetlayers{main,marx} %--per mettere il layer marx come
> principale--- % A macro for marking coordinates (specific to the
> coordinate naming % scheme used here). Swap the following 2
> definitions to deactivate % marks. \providecommand{\cmark}[2][]{%
> \begin{pgfonlayer}{marx}
> \node [nmark] at (c#2#1) {#2}; \end{pgfonlayer}{marx} } \providecommand{\cmark}[2][]{\relax}
有人可以帮助我理解它或者找到可以解释它如何工作的文档吗?
答案1
TikZ 使用 PGF 包来定义绘图层。绘图层可以包含文档排列的任何图形对象。当文档页面呈现为 Postscript 时,这些图层将按照 定义的顺序放入堆栈中\pgfsetlayers
。想象一堆透明窗格,每个窗格都有自己的绘图。
现在,在这个例子中,\pgfdeclarelayer
声明了一个名为的新层marx
。该层应该带有调试标记(某些箭头上的青色圆圈数字),命令\pgfsetlayers
用于将该marx
层排列在主层的顶部。
定义\providecommand
了一个名为的命令\cmark
,该命令应该在marx
图层上放置标记。\providecommand
是一个特殊的 LaTeX 命令。在这里,它将检查是否\cmark
存在定义,只有当不存在时才会定义它,否则将跳过新的定义。
该示例提供了 的两个定义\cmark
,一个执行标记,另一个将丢弃标记。根据定义的顺序,您可以获得标记或不获得标记,您可以根据自己的喜好随意更改顺序。
有关软件包的文档请阅读维基页面。