¿Cómo usar algo como \label fuera del entorno de la tabla?

¿Cómo usar algo como \label fuera del entorno de la tabla?

Me gustaría preguntar si hay alguna forma de utilizar un \labelcomando tipo -fuera de a longtablepara hacer referencia a esta tabla en látex. También sería útil si la etiqueta de la tabla pudiera proporcionarse como \label{table:var}, donde varhay una variable que almacena la etiqueta misma.

P.ej, mi tabla es la siguiente:

\documentclass{article}

\usepackage{longtable}

\begin{document}

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

\end{document}

donde el nombre del título viene dado por un nuevo comando \capName.

Me gustaría hacer referencia a esta tabla en el texto. La tabla se regenera varias veces; por lo tanto, no colocaría nada antes \begin{longtable}y después \end{longtable}.

Respuesta1

Puede crear etiquetas personalizadas definiéndolas localmente, \@currentlabelpor ejemplo, en \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}

información relacionada