Wie verwende ich \ref, um den Wert eines Zählers so auszudrucken, wie er ursprünglich erstellt wurde?

Wie verwende ich \ref, um den Wert eines Zählers so auszudrucken, wie er ursprünglich erstellt wurde?

Ich möchte die Zeilen einer Tabelle mit römischen Ziffern nummerieren und beim Querverweis die Referenz auf die gleiche Weise drucken lassen.

Zum Beispiel,

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

gibt

Bildbeschreibung hier eingeben

Aber was ich will ist:

Bildbeschreibung hier eingeben

Antwort1

Jeder Zähler hat ein zugehöriges Makro namens \the..., sagen wir, der Zähler foohat \thefoo. Dieses \the...Makro gibt den Zählerwert standardmäßig mit arabischen Zahlen aus.

\thefoowird auch für das Label verwendet, wenn es in die .auxDatei geschrieben wird. Wenn das Format (i)gewünscht wird, muss dieses in die .auxDatei geschrieben und in verwendet werden \thefoo.

Also

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

ist der Name des Spiels ;-)

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

Bildbeschreibung hier eingeben

Hier die Version mit automatischer Zeilennummerierung

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

Bildbeschreibung hier eingeben

Antwort2

\labelSchreiben Sie \theXden letzten Zähler X, aktualisieren Sie dies also entsprechend:

Bildbeschreibung hier eingeben

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

Als Referenz sieheFunktionsweise von Referenzen und Beschriftungen.

verwandte Informationen