Como usar algo como \label fora do ambiente de tabela?

Como usar algo como \label fora do ambiente de tabela?

Gostaria de perguntar se existe alguma maneira de usar um \labelcomando -like fora de a longtablepara fazer referência a esta tabela em latex? Também seria útil se o rótulo da tabela pudesse ser fornecido como \label{table:var}, onde varé uma variável que armazena o próprio rótulo.

Por exemplo, minha tabela é a seguinte:

\documentclass{article}

\usepackage{longtable}

\begin{document}

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

\end{document}

onde o nome da legenda é dado por um novo comando \capName.

Gostaria de fazer referência a esta tabela no texto. A tabela é gerada novamente diversas vezes; portanto, eu não colocaria nada depois \begin{longtable}e antes \end{longtable}.

Responder1

Você pode criar rótulos personalizados definindo localmente, \@currentlabelpor exemplo, em \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}

informação relacionada