PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Darstellung von Verweisen auf \item in enumerate Umgebungen



infutura
18-10-2009, 21:21
Folgendes Beispiel:



\begin{enumerate}
\item foo \label{foo}
\item bar
\end{enumerate}

Referenz auf foo ist \ref{foo}.


Falls die Nummerierung innerhalb der enumerate Umgebung nicht als übliche Dezimalzahl dargestellt wird, sondern z.B. als römische Zahl, dann hätte man bei \ref{} auch gern diese Darstellung. Vermutlich wird innerhalb von enumerate ein Kommando aufgerufen, das die normalen Counter umwandelt. Wie heißt es? Kann ich das gleiche dann auch um \ref{foo} setzen oder gibt es eine bessere Alternative?

Vielen Dank für Hinweise!

localghost
18-10-2009, 21:27
Nimm enumitem (http://ctan.org/pkg/enumitem). Dann brauchst Du dir darüber keine Gedanken mehr zu machen.

\documentclass[11pt,a4paper,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{geometry}
\usepackage{enumitem}

\begin{document}
\begin{enumerate}[label={\Roman*}]
\item foo \label{foo}
\item bar
\end{enumerate}

Referenz auf foo ist \ref{foo}.
\end{document}


MfG
Thorsten¹

infutura
18-10-2009, 21:54
Vielen Dank für deine Antwort, Thorsten. Mit diesem Paket werden die Referenzen richtig dargestellt.

Ich habe aber noch ein Problem, was öfter auftaucht und benachbart ist:

Oft tauchen solchen Listen innerhalb von Theorem-Umgebungen auf wie z.B. hier:



\documentclass[11pt,a4paper,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{geometry}
\usepackage{enumitem}
\usepackage{amsmath}

\newtheorem{thm}{Theorem}[section]

\begin{document}

\section{Einleitung}

\begin{thm}
\begin{enumerate}[label={\Roman*}]
\item Teil 1 \label{foo}
\item Teil 2
\end{enumerate}
\label{thm_main}
\end{thm}

Referenz auf Teil 1 ist: Theorem \ref{thm_main} \ref{foo}.
\end{document}


Um die Referenz eindeutig zu machen, möchte man sich dann auf das Theorem und die Nummer des Item beziehen. Muss man dazu immer wie hier beide Referenzen angeben oder gibt es vielleicht eine Möglichkeit, mit der man nur die Referenz auf das \item angibt und die andere automatisch ermittelt wird und das ganze dann zusammen schön formatiert wird?

localghost
20-10-2009, 19:30
Es wird dir nicht viel mehr übrig bleiben, als einen eigenen Befehl zu definieren, dem Du die beiden Marken als Argumente übergibst.

\newcommand{\thmitemref}[2]{\ref{#1}.\ref{#2}}