免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

tikz这两种方式竟然不等价,关于line width

\tikz{
\node[inner sep=0pt] (x) {X};
\draw[gray,opacity=0.5,line width=2pt] (x.south west) rectangle (x.north east);
}
\tikz[line width=2pt]{
\node[inner sep=0pt] (x) {X};
\draw[gray,opacity=0.5] (x.south west) rectangle (x.north east);
}
它们的效果分别是:
QQ截图20180610181613.png
2018-6-10 18:16


@isee 你用最新版texlive试试看是不是也是这样?
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
$\href{https://kuingggg.github.io/}{\text{About Me}}$

而且,前者的线的中间也并不是在 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);
}
效果:
QQ截图20180610182659.png
2018-6-10 18:27
$\href{https://kuingggg.github.io/}{\text{About Me}}$

TOP

回复 1# kuing


这当然效果不同。
首先,我本地执行效果与你一样。

其次,当然不同啦  

\tikz{
\node[inner sep=0pt,line width=2pt] (x) {X};
\draw[gray,opacity=0.5,line width=2pt] (x.south west) rectangle (x.north east);
}  

才和第二个代码等价,不信你试。

难得你出现这样的低级错误

TOP

回复 3# isee

哦,看来我对 node 的理解不到位。
是不是说,node 就算没画线,但也会有一个 line width 的宽度存在?

TOP

回复 4# kuing


我更不懂,反正第二种是全局的。。。。。

TOP

回复 4# kuing

准确说应该是,node 的边框不管画不画,它的边角方位点(.north 等这些)都是包括那线宽的。
测试了下似乎是这样……

TOP

回复 6# kuing


实际效果是这样,我以前也碰到多,但没多想

TOP

回复 7# isee

我以前都没注意到,而且改变线宽通常都在全局改,今天在测试一些符号时写在了局部,才发现了。

TOP

返回列表 回复 发帖