2009-03-27 4 views
11

Ich habe eine Liste/Unterlist Struktur in meinem LaTeX Dokument. Standardmäßig ist die Unterliste mit Buchstaben begrenzt, so am Ende mit auf dem Punkt:Wie können Referenzen auf Unterlisten in LaTeX angepasst werden?

1. Item 
    (a) sub item 
    (b) sub item 

In meinem Dokument habe ich mehr als 26 Unterpunkte bekommt, so war ich in einen Zählerüberlauf-Fehler ausgeführt wird, was ich fixiert, indem der Unterpunkt Etikett Umschreiben, so dass sie diese nun so aussehen

1. Item 
    1.1 sub item 
    1.2 sub item 

ich ein Etikett auf einen der Punkte gesetzt haben, so dass ich später auf den spezifischen Schritt verweisen können. Das Problem besteht darin, dass beim Rendern der Referenz ein Buchstabe und nicht die Nummer des Unterelements gerendert wird.

Hier ist ein Beispieldokument, das das Problem zeigt.

1. Item 
    1.1 Label here 
Ref: 1a 

Also anstatt zu sagen "Ref: 1.1"

\documentclass[11pt]{report} 

\begin{document} 

\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}} 

\begin{enumerate} 
    \item Item 
    \begin{enumerate} 
     \item \label{lbl} Label here 
    \end{enumerate} 
\end{enumerate} 

Ref: \ref{lbl} 

\end{document} 

Dies wird wie folgt gemacht ": 1.a Ref", ist es mit. Gibt es eine Möglichkeit, das \ ref die Nummerierung der Quellenaufzählung zu verwenden? Wenn nicht, gibt es trotzdem korrekte Referenzen auf Artikel in einer Unterliste mit mehr als 26 Artikeln?

Antwort

10

ich meine Kopie von The LaTeX Companion, S.129 suchen, und von dem, was ich sehe, würde ich so etwas wie die vorschlagen, folgende:

\renewcommand{\theenumii}{\arabic{enumii}} 
\renewcommand{\labelenumii}{\theenumi.\theenumii.} 
\makeatletter 
\renewcommand{\[email protected]}{\theenumi.} 
\makeatother 

Ich habe keinen Zugriff auf ein Im Moment arbeitet die LaTeX-Umgebung, um dies zu testen.

+0

Das war es - ich muss wirklich dieses Buch bekommen. Vielen Dank! –

+0

Man kann auch \ usepackage {fnyllab} verwenden –

3

Also für 2 verschachtelte Listen sollte auf folgende Weise erfolgen:

\begin{enumerate} 
\renewcommand{\theenumi}{\arabic{enumi}} 
\renewcommand{\theenumii}{\arabic{enumii}} 
\renewcommand{\theenumiii}{\arabic{enumiii}} 

\renewcommand{\labelenumi}{\theenumi.} 
\renewcommand{\labelenumii}{\theenumi.\theenumii.} 
\renewcommand{\labelenumiii}{\theenumi.\theenumii.\theenumiii.} 

\makeatletter 
\renewcommand{\[email protected]}{\theenumi.} 
\renewcommand{\[email protected]}{\theenumi.\theenumii.} 
\makeatother 

... 

\end{enumerate} 

Es ist mir zu viel Zeit, um es zu verstehen. Ich hoffe, das hilft, da dieser Thread mir geholfen hat.

Danke.