我曾经.pic
多次使用同一张图片。我注意到在 内部和外部的相同代码之间存在行为差异.pic
。在下面的示例中,可以注意到在 内部.pic
,边缘上的节点不在应在的位置。
\documentclass{standalone}
\usepackage{tikz}
\tikzset{thepic/.pic = {\draw (0, 0) edge node {0} (1, 0);}}
\begin{document}
Without \texttt{.pic}: \tikz{\draw (0, 0) edge node {0} (1, 0);}
With \texttt{.pic}: \tikz{\pic{thepic};}
\end{document}
结果
这是一个已知的错误?
答案1
我不知道这个问题的原因,它可能与 的路径构造有关.pic
。但如果你明确地说节点应该在路径中,midway
它就可以正常工作:
\documentclass{standalone}
\usepackage{tikz}
\tikzset{thepic/.pic = {\draw (0, 0) edge node[midway]{0} (1, 0);}}
\begin{document}
Without \texttt{.pic}: \tikz{\draw (0, 0) edge node {0} (1, 0);}
With \texttt{.pic}: \tikz{\pic{thepic};}
\end{document}