上下文
我知道如何使用append after command
在矩形内画一个十字(见下面的代码块和图像)
\documentclass[border=2]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.misc, fit}
\tikzset{
mystyle/.style = {
rectangle,
draw,
append after command={
node [
fit = (\tikzlastnode),
inner sep = -\pgflinewidth,
cross out,
draw = blue
] {}
}
},
}
\begin{document}
\begin{tikzpicture}
\node [mystyle] {a};
\end{tikzpicture}
\end{document}
如上图所示,蓝色十字线绘制在节点文本的上方。我想改变这种行为。我希望文本位于蓝色十字线的上方,这样文本就不会被任何东西覆盖。
问题
如何才能让节点的文本不被绘制的蓝色十字覆盖append after command
?
实现此目的的一种方法是让append after command
“a”下方画一个十字。是否有可以传递的选项来append after command
设置该行为?
答案1
您可以使用以下方式自定义节点“背景” path picture
:
\documentclass[border=2]{standalone}
\usepackage{tikz}
\tikzset{
mybg/.style={
path picture={
\draw[blue] (path picture bounding box.north west) -- (path picture bounding box.south east)
(path picture bounding box.north east) -- (path picture bounding box.south west);
}
},
}
\begin{document}
\begin{tikzpicture}
\node [draw,mybg] {a};
\end{tikzpicture}
\end{document}