图表的标签和参考

图表的标签和参考

我有一张如下图所示的图表。我想添加一个带有图表编号的标题,并添加一个 \label 来引用该图表,这样当我使用 \ref{} 时,就会显示图表编号。

\begin{center}
\begin{tikzpicture}[scale = 1]
\begin{axis}[
x filter/.code=\pgfmathparse{#1 },
]
\addplot table {

   5 25
   10 100
   15 225
   20 400
   25 625
   30 900

};
\end{axis}
\end{tikzpicture}
\end{center}

有人可以解释一下我该怎么办?因为我收到了一个错误。

答案1

我详细介绍了@Mico 添加的内容:新的浮点类型、图表列表和cleveref configuration

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amstext}
\usepackage{ pgfplots}
\pgfplotsset{compat=1.14}
\usepackage{caption, float}
\floatstyle{plaintop}
\newfloat{chart}{tbph}{loc}
\floatname{chart}{Chart}
\usepackage{cleveref}
\crefname{chart}{chart}{charts}
\Crefname{chart}{Chart}{Charts}
\newcommand\listofcharts{\listof{chart}{List of Charts}}

\begin{document}

\listofcharts
\vspace{8\baselineskip}
\begin{chart}
  \centering
  \begin{tikzpicture}[scale = 1]
    \begin{axis}[
        x filter/.code=\pgfmathparse{#1 },
      ]
      \addplot table {

        5 25
        10 100
        15 225
        20 400
        25 625
        30 900

      };
    \end{axis}
  \end{tikzpicture}
  \caption{A chart test}\label{ch-test}
\end{chart}

We see from \cref{ch-test} …

\Cref{ch-test} shows us …

\end{document} 

在此处输入图片描述

答案2

LaTeX 的标签引用交叉引用系统需要(通过巧妙的幕后操作)将参数\label与最近增加的计数器变量相关联。例如,在

\section{Hello World} \label{sec:hello}

LaTeX 将字符串sec:hello与名为 的计数器关联起来section。另外:并非任何计数器递增方法都可以。通常,计数器必须通过 来递增。果然,LaTeX在执行与 关联的代码时\refstepcounter使用了 的调用。\refstepcounter{section}\section

在您的代码片段中,请注意没有与环境关联的计数器tikzpicture。因此,如果您确实提供了诸如 之类的指令\label{mypic},LaTeX 别无选择,只能mypic与最近增加的计数器关联,而该计数器(就您的文档而言)似乎就是计数器section

显然,这不是你的本意。该怎么办?我建议你 (a) 将整个tikzpicture环境放在一个figure环境中,(b) 通过语句创建标题\caption,(c) 提供\label说明 --\label{mypic}完全没问题 -语句\caption。(另外:\caption语句在环境中使用时figure,会增加一个名为的计数器figure。我知道,这并不完全是想象出来的......)


附录:我刚刚注意到你向@Bernard 发了一条评论,关于可能创建一个新的专用浮点类型。要创建一个名为 (say) 的新浮点类型chart,你可以按如下方式操作:

  • 加载漂浮包裹

  • 发出指令

    \newfloat{chart}{tbhp}{crt}
    

    加载float包后。这将设置一个名为“chart”的浮动环境,以及一个名为“chart”的计数器变量。

  • 将环境括tikzpicturechart环境中,并\caption像在环境中一样使用语句figuretable然后像在 LaTeX 文档中处理其他项目一样使用\label和。\ref

相关内容