tikz这两种方式竟然不等价,关于line width
\tikz{\node[inner sep=0pt] (x) {X};
\draw[gray,opacity=0.5,[color=Red]line width=2pt[/color]] (x.south west) rectangle (x.north east);
}
\tikz[[color=Red]line width=2pt[/color]]{
\node[inner sep=0pt] (x) {X};
\draw[gray,opacity=0.5] (x.south west) rectangle (x.north east);
}
它们的效果分别是:
[attach]6325[/attach]
@isee 你用最新版texlive试试看是不是也是这样? 而且,前者的线的中间也并不是在 x 的边界上,这可以通过将线宽改小看来出,比如:
\tikz{
\node[inner sep=0pt] (x) {X};
\draw[line width=.05pt] (x.south west) rectangle (x.north east);
}
\tikz[line width=.05pt]{
\node[inner sep=0pt] (x) {X};
\draw (x.south west) rectangle (x.north east);
}
效果:
[attach]6326[/attach] [b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=27070&ptid=5428]1#[/url] [i]kuing[/i] [/b]
这当然效果不同。
首先,我本地执行效果与你一样。
其次,当然不同啦
\tikz{
\node[inner sep=0pt,[color=Red]line width=2pt[/color]] (x) {X};
\draw[gray,opacity=0.5,line width=2pt] (x.south west) rectangle (x.north east);
}
才和第二个代码等价,不信你试。
难得你出现这样的低级错误 [b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=27074&ptid=5428]3#[/url] [i]isee[/i] [/b]
哦,看来我对 node 的理解不到位。
是不是说,node 就算没画线,但也会有一个 line width 的宽度存在? [b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=27076&ptid=5428]4#[/url] [i]kuing[/i] [/b]
我更不懂,反正第二种是全局的。。。。。{:lol:} [b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=27076&ptid=5428]4#[/url] [i]kuing[/i] [/b]
准确说应该是,node 的边框不管画不画,它的边角方位点(.north 等这些)都是包括那线宽的。
测试了下似乎是这样…… [b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=27079&ptid=5428]6#[/url] [i]kuing[/i] [/b]
实际效果是这样,我以前也碰到多,但没多想 [b]回复 [url=http://kuing.orzweb.net/redirect.php?goto=findpost&pid=27080&ptid=5428]7#[/url] [i]isee[/i] [/b]
我以前都没注意到,而且改变线宽通常都在全局改,今天在测试一些符号时写在了局部,才发现了。
页:
[1]