我在 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}