关于 tikz 包的 latex 信息

关于 tikz 包的 latex 信息

我正在尝试使用流程图的示例(示例链接)。在这个例子中,作者(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,一个执行标记,另一个将丢弃标记。根据定义的顺序,您可以获得标记或不获得标记,您可以根据自己的喜好随意更改顺序。

有关软件包的文档请阅读维基页面

相关内容