如何在表格环境之外使用类似 \label 的东西?

如何在表格环境之外使用类似 \label 的东西?

我想问一下是否有办法\label在 a 之外使用 -like 命令longtable来引用 latex 中的该表?如果可以将表的标签提供为 也会很有帮助\label{table:var},其中var是存储标签本身的变量。

例如,我的表格如下:

\documentclass{article}

\usepackage{longtable}

\begin{document}

\begin{longtable}{c|c|c|c}
\caption{\capName}
A & B & A & B \\ \hline
\end{longtable}

\end{document}

标题的名称由新命令给出\capName

我想在文中引用此表。该表已重新生成多次;因此,我不会在 之后\begin{longtable}和 之前放置任何内容\end{longtable}

答案1

您可以通过\@currentlabel基于 \thetable 等本地定义来创建自定义标签:

\documentclass{article}

\usepackage{longtable}

\begin{document}

\begin{longtable}{c|c|c|c}
A & B & A & B \\ \hline
\end{longtable}{\makeatletter\def\@currentlabel{\thetable}\label{tab:A}}



\begin{longtable}{c|c|c|c}
A & B & A & B \\ \hline
\end{longtable}{\makeatletter\def\@currentlabel{\thetable}\label{tab:B}}

Table \ref{tab:A}, Table \ref{tab:B}

\end{document}

相关内容