¿Cómo utilizar \ref para imprimir el valor de un contador tal como se produjo originalmente?

¿Cómo utilizar \ref para imprimir el valor de un contador tal como se produjo originalmente?

Quiero numerar las líneas de una tabla con números romanos, y luego, cuando las haga una referencia cruzada, imprimir la referencia de la misma manera.

Por ejemplo,

\documentclass{article}
\begin{document}
\newcounter{foo}
\newcommand{\rfoo}{\refstepcounter{foo}(\roman{foo})}

\begin{tabular}{r|l}

\hline

\rfoo\label{f1} & First line \\ \hline

\rfoo\label{f2} & Second line \\ \hline

\hline
\end{tabular}

\

The first line is \ref{f1}.  The second line is \ref{f2}.

\end{document}

da

ingrese la descripción de la imagen aquí

Pero lo que quiero es:

ingrese la descripción de la imagen aquí

Respuesta1

Cada contador tiene una macro asociada llamada \the..., digamos que el contador footendrá \thefoo. Esta \the...macro genera por defecto el valor del contador con números arábigos.

\thefoose utiliza también para la etiqueta tal como se escribe en el .auxarchivo. Si (i)se solicita el formato , este debe escribirse en el .auxarchivo y debe usarse en \thefoo.

Entonces

\renewcommand{\thefoo}{(\roman{foo})}

es el nombre del juego ;-)

\documentclass{article}



\newcounter{foo}
\renewcommand{\thefoo}{(\roman{foo})}
\newcommand{\rfoo}{\refstepcounter{foo}\thefoo}

\begin{document} 
\begin{tabular}{r|l}

\hline

\rfoo\label{f1} & First line \\ \hline

\rfoo\label{f2} & Second line \\ \hline

\hline
\end{tabular}



The first line is \ref{f1}.  The second line is \ref{f2}.

\end{document}

ingrese la descripción de la imagen aquí

Aquí la versión de numeración automática de filas.

\documentclass{article}


\usepackage{array}

\newcounter{foo}
\renewcommand{\thefoo}{(\roman{foo})}

% Define
\newcolumntype{R}{>{\refstepcounter{foo}\thefoo\arraybackslash}r}

\begin{document}

\begin{tabular}{R|l}

\hline

\label{f1} & First line \\ \hline

\label{f2} & Second line \\ \hline

 & ... line \\ \hline

\label{f4}  & ... line \\ \hline


\hline
\end{tabular}

\

The first line is \ref{f1}.  The second line is \ref{f2}.

And in line \ref{f4} you can see that

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

\labelescriba \theXel último contador X, así que actualice esto en consecuencia:

ingrese la descripción de la imagen aquí

\documentclass{article}

\newcounter{foo}
\renewcommand{\thefoo}{(\roman{foo})}
\newcommand{\rfoo}{\refstepcounter{foo}\thefoo}

\begin{document}

\begin{tabular}{r|l}
  \hline
  \rfoo\label{f1} & First line \\
  \rfoo\label{f2} & Second line \\
  \hline
\end{tabular}

The first line is~\ref{f1}. The second line is~\ref{f2}.

\end{document}

Como referencia, verComprender cómo funcionan las referencias y las etiquetas.

información relacionada