可能重复:
TikZ 中的“Z 级别”
在 tikz 中使用图层时我通常执行以下操作:
\begin{pgfonlayer}{background}
\draw[red] (0,0)--(1,0);
\end{pgfonlayer}
有没有办法内联使用图层?例如:
\draw[layer=background, red] (0,0) -- (1,0);
答案1
我不知道该怎么做。我的解决方法是为图层创建新命令:
\documentclass{minimal}
\usepackage{tikz}
\pgfdeclarelayer{background}
\pgfsetlayers{main,foreground}
\newcommand{\onlayer}[2]{%
\begin{pgfonlayer}{#1}%
#2%
\end{pgfonlayer}%
}
\newcommand{\bglayer}[1]{%
\begin{pgfonlayer}{background}%
#1%
\end{pgfonlayer}%
}
\begin{document}
\begin{tikzpicture}
\fill (0,0) rectangle (2,2);
\bglayer{\fill [gray] (1,1) rectangle (3,3);}
\end{tikzpicture}
\end{document}
它不像你的内联版本那么舒适,但比使用环境更好(更短)pgfonlayer
...
编辑另一种方式如下TikZ 中的“Z 级别”