Как использовать что-то вроде \label вне табличной среды?

Как использовать что-то вроде \label вне табличной среды?

Я хотел бы спросить, есть ли способ использовать \labelкоманду -like вне a, 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}

Связанный контент