请查看以下网站手册中第 50 页顶部的两个图表和第 220 页顶部的图表。 http://mirrors.rit.edu/CTAN/graphics/pgf/base/doc/pgfmanual.pdf 我对这些图表有两个疑问。
对于第 50 页的图表,这是代码。
\begin{tikzpicture}
[place/.style={circle,draw=blue!50,fill=blue!20,thick},
transition/.style={rectangle,draw=black!50,fill=black!20,thick}]
\node at (0,2) [place] {};
\node at (0,1) [place] {};
\node at (0,0) [place] {};
\node at (1,1)[transition] {};
\node at(-1,1)[transition] {};
\end{tikzpicture}
对于第 220 页的图表,这是代码。
\begin{tikzpicture}
\draw
(0,0) node[inner sep=0pt,draw] {tight}
(0cm,2em) node[inner sep=5pt,draw] {loose}
(0cm,4em) node[fill=yellow!80!black] {default};
\end{tikzpicture}
在第 50 页,我似乎声明了变量“place”和“transition”。该/.style
命令的语法是什么?我可以写
\node at (0,2) [circle,draw=blue!50,fill=blue!20,thick] {}
代替
\node at (0,2) [place] {}; .
是对的吗?
什么时候使用node
第 220 页上的 as 以及什么时候使用\node
第 50 页上的 as?
在第 220 页上,为什么 TikZ 会围绕给定的文本绘制一个矩形?
我对第 50 页代码的语法有三个疑问。
- 矩形是用 绘制的
black!50
。有 吗black50
? - 为什么有一个感叹号?
- 指的是什么
thick
?
答案1
简单来说,<name>/.style
语法是按照声明的顺序调用的其他样式或代码的容器。
这是更通用系统的实例key=value
,它是强大pgfkeys
库的一部分,您可以在同一手册的库部分中阅读它。
因此,对于您的第一个问题,是的,这将是等效的,而不是调用样式place
。
如果您只想在路径上放置一个节点,每次都写 有点乏味,\path node
而应该\node
使用 来定义,这是一种简写。但是如果您有其他路径构建命令,那么您可以使用node
,例如,
\draw (0,0) node[draw] {a} -- (1,1) node {b};
从中可以看出,第一个节点有一个矩形,而第二个节点没有,因为我们draw
在第一个节点中为节点提供了键。每个节点都有一个形状,您可以绘制或不绘制(除非我们定义一个没有背景的新节点,但现在这并不重要)。您也可以填充该形状,例如
\node[fill=yellow,draw=red] {A};
因此,如果您为这些命令提供颜色,它们将绘制或填充键的值。
TikZ 使用xcolor
包来定义和使用颜色。颜色混合是通过完成的!
,您可以使用两种以上的颜色。如果您省略混合颜色,则默认使用白色。这里,black!50
等于均匀混合黑色和白色。0 到 100 之间的数字选择x
百分比,您取左侧并将其与100-x
右侧混合(至少您可以将其视为一种简单的思维捷径。颜色模型是棘手的事情)。示例;
\begin{tikzpicture}
\fill[blue!20!yellow!60!red] (2,0) rectangle (3,1);
\fill[blue!20!yellow!60] (1,0) rectangle (2,1); % = (blue!20!yellow)!60!white
\fill[blue!20!!60] (0,0) rectangle (1,1); % = (blue!20!white)!60!white
\end{tikzpicture}
绘图可以有不同的线宽,TikZ 为最常用的线宽参数定义了快捷方式,如下所示,
\tikzset{ultra thin /.style=line width=0.1pt,
very thin/.style =line width=0.2pt,
thin/.style =line width=0.4pt, %<= default
semithick/.style =line width=0.6pt,
thick/.style =line width=0.8pt,
very thick/.style =line width=1.2pt,
ultra thick/.style=line width=1.6pt
}
当您thick
在路径或节点上使用时draw
,绘图是使用线宽为 0.8 pt 的笔完成的。