2009-03-27 7 views
11

Tôi có cấu trúc danh sách/danh sách phụ trong tài liệu LaTeX của mình. Theo mặc định, sublist được giới hạn với chữ cái, do đó bạn kết thúc với điều này:Làm cách nào để tùy chỉnh các tham chiếu đến các danh sách con trong LaTeX?

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

Trong tài liệu của tôi, tôi đã có hơn 26 mặt hàng tiểu, vì vậy tôi đã chạy vào một lỗi Counter tràn, mà tôi cố định bằng cách viết lại nhãn mục phụ, để bây giờ chúng trông giống như thế này

1. Item 
    1.1 sub item 
    1.2 sub item 

Tôi đã đặt một nhãn trên một trong các mục để tôi có thể tham khảo bước cụ thể sau này. Vấn đề là khi tham chiếu được hiển thị, nó được trả về bằng cách sử dụng một chữ cái, không phải là số của mục con.

Đây là tài liệu mẫu hiển thị sự cố.

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

này được kết xuất như thế này:

1. Item 
    1.1 Label here 
Ref: 1a 

Vì vậy, thay vì nói "Ref: 1.1", nó sử dụng "Ref: 1.a". Có cách nào để làm cho \ ref sử dụng đánh số của các điều tra nguồn? Nếu không, có cách nào để tạo tham chiếu chính xác cho các mục trong danh sách con với hơn 26 mục không?

Trả lời

10

Tôi nhìn bản sao của tôi của The LaTeX Companion, p.129, và từ những gì tôi nhìn thấy tôi sẽ đề nghị một cái gì đó như sau:

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

Tôi không có quyền truy cập vào một môi trường LaTeX đang hoạt động để kiểm tra điều này vào lúc này.

+0

Điều đó đã làm - tôi thực sự cần phải có được cuốn sách đó. Cảm ơn! –

+0

Bạn cũng có thể sử dụng \ usepackage {fncylab} –

3

Vì vậy, trong 2 danh sách lồng nhau nó nên được thực hiện theo cách sau:

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

Nó đã đưa đến cho tôi quá nhiều thời gian để hiểu nó. Tôi hy vọng điều này sẽ hữu ích khi chủ đề này đã giúp tôi.

Cảm ơn.