如何在 TikZ 节点内打印子浮点数的标签?

如何在 TikZ 节点内打印子浮点数的标签?

我正在并排布置一些 tikzpictures(用 制作pgfplots,但我认为这无关紧要)。我正在尝试使用该subfig包来引用单个子图。一切正常,但我想pgfplots布局标题来描述每个子图,所以我需要:

  1. 禁止subfig包打印标题(请注意,即使没有明确的\caption命令,我也会得到一个空的标题,但无论如何都会打印计数器)
  2. 在 tikz 代码中排版当前子图编号(具体在axis环境的 title 属性中,但位置可以是任意的)
  3. 仍然能够从外部引用单个子图(即我应该把命令放在哪里\label?)

这是我现在拥有的代码的草图。

\begin{figure}
\begin{center}
  \makebox[\textwidth][c]{
    \subfloat[]{
      \begin{tikzpicture}
        \node (0,0) {How do I typeset (and advance) the subfigure counter here?};
      \end{tikzpicture}
    }
    \quad
    \subfloat[]{
      \begin{tikzpicture}
        \node (0,0) {How do I typeset (and advance) the subfigure counter here?};
      \end{tikzpicture}
      \caption{How to avoid this to print the counter even when I don't invoke this command?}
    }
  }
\end{center}
\end{figure}

我怎样才能施展这个技巧?

答案1

评论已经描述了如何使用来做到这一点,这里是使用包中的\captionof不同方法。例如,如果您生成了图形中包含子图标签的图形,则很有用,但在这种情况下也可以使用它。\phantomsubcaptionsubcaption\phantomsubcaption

在此处输入图片描述

\documentclass{article}
\usepackage{pgfplots,subcaption}
\newcommand\MakeLabel[1]{\phantomsubcaption\label{#1}\subref{#1})}
\begin{document}
In figure~\ref{fig:1} there is subfigure \ref{suba} and \ref{subb}.
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[width=4cm,title={\MakeLabel{suba} Subfigure a.}]
\addplot {rnd};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[width=4cm,title={\MakeLabel{subb} Subfigure b.}]
\addplot {rnd};
\end{axis}
\end{tikzpicture}
\caption{Caption for entire figure.}
\label{fig:1}
\end{figure}
\end{document}

相关内容