例如,在任何 TikZ 命令中\draw
,TikZ 如何提取键,因为它们可以按任何顺序排列。
例如,以下\draw
语句给出相同的输出(尽管在二维空间中的不同位置):
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikz \draw[->,red,thick,dashed] (0,0) |- (2,2);
\tikz \draw[->,thick,red,dashed] (3,0) |- (0,5);
\end{document}
第一个\draw
命令有键red
、、thick
和dashed
。
第二个\draw
命令有键thick
、、red
和dashed
。
TikZ/LaTeX 如何知道,red
表示颜色,thick
是线条的粗细。
这背后的逻辑是什么?
答案1
该pgfkeys
包允许将“样式”定义为正常键值的快捷方式。因此,thick
是的快捷方式,line width = 0.8pt
并且red
(大约)是的快捷方式draw = red
。最终,定义哪些取决于pgf
实施者。
正如所提到的pgfkeys、tikz 和个人宏之间的问题,其中一些快捷键实际上不是普通键,而是在解析器的特定编码路径上找到的pgfkeys
。特别是,许多 TikZ 命令在“放弃”之前尝试将未知键视为颜色。
答案2
事实证明,颜色、形状名称和箭头名称不可能是实际的键,因为它们的数量太多了。这里@percusse 解释了如何在代码中处理它。