Как использовать \ref для вывода значения счетчика в том виде, в котором оно было получено изначально?

Как использовать \ref для вывода значения счетчика в том виде, в котором оно было получено изначально?

Я хочу пронумеровать строки в таблице римскими цифрами, а затем, когда я буду ссылаться на них, печатать ссылку таким же образом.

Например,

\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}

дает

введите описание изображения здесь

Но я хочу:

введите описание изображения здесь

решение1

У каждого счетчика есть свой макрос \the..., скажем, у счетчика fooбудет \thefoo. Этот \the...макрос по умолчанию выводит значение счетчика с арабскими цифрами.

\thefooиспользуется также для метки, поскольку она записывается в .auxфайл. Если (i)запрашивается формат , это должно быть записано в .auxфайл и использоваться в \thefoo.

Так

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

вот в чем суть игры ;-)

\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}

введите описание изображения здесь

Вот версия с автоматической нумерацией строк

\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}

введите описание изображения здесь

решение2

\labelзапись \theXпоследнего счетчика X, поэтому обновите это соответствующим образом:

введите описание изображения здесь

\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}

Для справки см.Понимание того, как работают ссылки и метки.

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