
Я хочу пронумеровать строки в таблице римскими цифрами, а затем, когда я буду ссылаться на них, печатать ссылку таким же образом.
Например,
\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}
Для справки см.Понимание того, как работают ссылки и метки.