![在文本中手动添加图例符号(无需 \label 和 \ref)](https://linux22.com/image/255089/%E5%9C%A8%E6%96%87%E6%9C%AC%E4%B8%AD%E6%89%8B%E5%8A%A8%E6%B7%BB%E5%8A%A0%E5%9B%BE%E4%BE%8B%E7%AC%A6%E5%8F%B7%EF%BC%88%E6%97%A0%E9%9C%80%20%5Clabel%20%E5%92%8C%20%5Cref%EF%BC%89.png)
我想pgfplots
在我的文本中添加图例符号。我知道可以使用\label
和命令,但我的设置很复杂,我担心让它工作会比手动设置小图更耗时。我使用外部化,我的图是用文档中多次使用的\ref
复杂模板生成的 ……\pgfplotsinvokeforeach
我正在寻找的是像这样的命令
\legendimageintext{mark=x, draw=blue}
将会绘制一条带有十字的小蓝色虚线,就像具有类似风格的情节的图例帖子一样。
注意:如果您想将图例放在标题或文本中,通常使用 pgfplots 手册中所述的 \ref 和 \label 更简单,或者那里。我的问题与规范方法不可用的特殊情况有关。
答案1
您可以采用 Christian Feuersänger 在在普通的 tikzpicture 中使用 pgfplots 样式的图例提供命令\legendimageintext{mark=x, draw=blue}
:
\documentclass{article}
\usepackage{pgfplots}
\newenvironment{customlegend}[1][]{%
\begingroup
\csname pgfplots@init@cleared@structures\endcsname
\pgfplotsset{#1}%
}{%
\csname pgfplots@createlegend\endcsname
\endgroup
}%
\def\addlegendimage{\csname pgfplots@addlegendimage\endcsname}
\newcommand{\addlegendimageintext}[1]{%
\tikz {
\begin{customlegend}[
legend entries={\empty},
legend style={
draw=none,
inner sep=0pt,
column sep=0pt,
nodes={inner sep=0pt}}]
\addlegendimage{#1}
\end{customlegend}
}%
}
\begin{document}
\addlegendimageintext{mark=x, draw=blue} A plot
\addlegendimageintext{fill=cyan, area legend} An area plot
\end{document}