我正在使用该库来用 来标记的decorations.markings
中间:plot
\node
\documentclass[a4paper,11pt]{article}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\tikzset{midmark/.style={
postaction=decorate,decoration={pre length=1pt, post length=1pt,
markings,mark=at position 0.5 with \node #1;}}}
\begin{document}
\begin{tikzpicture}
\draw[domain=0:pi,variable=\t,midmark={[above,xshift=1em]{text}}]
plot (\t,{sin(deg(\t))});
\end{tikzpicture}
\end{document}
但我得到了错误
! Package pgfkeys Error: I do not know the key '/pgf/decoration/\pgfkeyscurrent
name ', to which you passed '1em]{text};', and I am going to ignore it. Perhaps
you misspelled it.
,xshift=1em
如果删除则不会出现错误。
tikzpicture
单独包含的编译也\node [above,xshift=1em]{text};
不会出现错误。
为什么我们不能使用xshift
with decorations.markings
,是否有一种不涉及重新定义的解决方法midmark
?
答案1
看起来它的参数接受方式有问题midmark
。如果你使用花括号来包含节点选项,那么一切都会正常:
midmark={[{above,xshift=1em}]{text}}