TikZ 中是否有将新样式定义为现有样式的扩展的约定?
就目前情况而言,我可以这样做:
a/.style = { black, very thin }
然后我可以在例如一个范围内本地扩展这种风格:
\begin{scope}[a/.append style = { thick }]
…
\end{scope}
或者我可以定义一种全新的风格:
b/.style = { black, thick }
但这需要在a
和之间复制共享的样式信息b
。
似乎可以通过某种方式来指定b
作为的扩展a
(到处都等同于将的b
定义“附加”到a
的定义),类似于:
b/.style = { extends = a, thick }
或者:
b/.inherits = a,
b/.style = { thick }
除了“使用 TeX 宏来定义共享内容”之外,TikZ 中是否还有其他规范的答案?
答案1
为了他人的利益而回答我自己的问题:对我的问题的评论是正确的。
具体来说,关于我所概述的两种用于扩展或继承现有风格的伪语法,.style
是 .inherits
,并且仅使用键a
就相当于,extends = a
因为a
扩展到中定义的所有键a/.style
。
因此简单的答案很简单:
a/.style = { black, very thin },
b/.style = { a, thick } % copy styles of "a", then append "thick" which overrides "very thin"
或者:
b/.prefix style = a, % equivalent to putting "a" at the start of b's style definition above
% later...
b/.style = { thick }
当我自己搜索时,很难找到的参考资料是pgfkeys
当前 TikZ/PGF 参考手册第 63 节中记录的包。
所有荣誉归功于@Qrrbrbirlbel 和@Ryan Reich。