错误消息,标题为受保护的 tikz

错误消息,标题为受保护的 tikz

我在 tikz 中绘制了一个图表,使用不同的线条样式来表示所涉及的不同耦合,我想在标题中添加这些线条样式的图例。由于我将所有图例都设置为相应图表的标题,因此布局是一致的。因此,将图例添加到 tikzpicture 本身是一种选择,但最后...

代码编译并且我得到了想要的结果,但是,虽然我在标题中保护了 tikz 宏,但我收到了一条错误消息(我替换了“参数”周围的尖括号,因为否则它会被理解为 html):

! 未定义的控制序列。--参数-- ... 和一个箭头 \protect \tikz {\draw [prod] (0,0) -- (1,0.2);} ... l.27 和一些用于解释的文本}

这个错误是从哪里来的?也许我不需要担心它,但到目前为止,尝试理解这些事情从未出错过 ;)。这是 MWE:

\documentclass[11pt,a4paper,sans]{article}
\usepackage{amsmath}
\usepackage{color}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning} 
\tikzset{
    %Define standard arrow tip
    >=stealth',
    % Define arrow style
    prod/.style={
            ->,
            thick, 
            shorten <=2pt,
            shorten >=2pt}
}

\begin{document}

\begin{figure}
    \begin{tikzpicture}[node distance=1cm, auto]
        \path( 0  , 0  ) node(meanu) {$u$}
             ( 2  , 0  ) node(buoy)  {$\mathcal{B}$};
        \draw[prod] (buoy)  --   (meanu);
    \end{tikzpicture}
    \caption{some text and an arrow 
        \protect\tikz{\draw[prod] (0,0) -- (1,0.2);} 
        and some more text for explanation}
\end{figure}

\end{document}

答案1

您的问题重复于在标题中添加 tikz 图形

就你的情况而言:

\documentclass[11pt,a4paper,sans]{article}
\usepackage{amsmath}
%\usepackage{color}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning}
\tikzset{
    %Define standard arrow tip
    >=stealth',
    % Define arrow style
    prod/.style={
            ->,
            thick,
            shorten <=2pt,
            shorten >=2pt}
            }

\begin{document}

\begin{figure}
    \begin{tikzpicture}[node distance=1cm, auto]
        \path(0,0) node (meanu) {$u$}
             (2,0) node (buoy)  {$\mathcal{B}$};
        \draw[prod] (buoy)  --   (meanu);
    \end{tikzpicture}
\caption{Some text and an arrow
        \protect\tikz\protect\draw[prod] (0,0) -- (1,0.2);
        and some more text for explanation}
\end{figure}

\end{document}

在此处输入图片描述

相关内容