Nếu bạn viết luận án hay sách với nhiều chuyên mục, ngoài mục lục chính ở đầu sách ra thì sẽ rất cần thiết nếu như bạn có thể chèn thêm một mục lục con ở từng chương trong LaTeX. Bài viết sẽ hướng dẫn bạn làm điều này.
Cách thêm cơ bản
Đầu tiên giả sử bạn có một tài liệu với đầy đủ các chương. Ở đây mình sử dụng một file tài liệu đơn giản làm như trong bài viết LaTeX16. Cấu trúc của file ví dụ này như sau (mỗi chương mình để ở một file cho tiện vì nếu để chung môt file thì file đó sẽ rất lớn)
- main.tex (file chính) + loinoidau.tex + chuong1.tex + chuong2.tex + ketluan.tex
[caption id="attachment_5219" align="alignnone" width="879"] Ví dụ về mục lục mini cho chương 1[/caption] Để có thể thêm mục lục con cho từng chương, bạn dùng gói lệnh minitoc. Bước đầu tiên, bạn đặt dòng lệnh sau trước \begin{document}
\usepackage{minitoc}
Ngay chỗ mục lục chính của sách (mục lục "cha"), bạn thêm lệnh như sau
\dominitoc \tableofcontents
Ở đầu mỗi chương, bạn thêm dòng lệnh sau
\chapter{Tên chương} \minitoc
Nếu bạn để tất cả trong cùng một file thì cấu trúc sẽ có dạng
\documentclass{book} \usepackage{minitoc} \begin{document} \dominitoc \tableofcontents \chapter{Tên Chương} \minitoc % tạo mini toc cho chương \section{Tên mục} \section{Tên mục} \end{document}
[mks_icon icon="fa-chevron-right" color="#dd3333" type="fa"] Download file ví dụ cho bài này. [mks_icon icon="fa-chevron-right" color="#dd3333" type="fa"] Xem thêm các thủ thuật khác liên quan đến Mục Lục trong LaTeX.
Vài tùy chỉnh cho mục lục con
Nếu bạn muốn điều khiển "bậc" của mục được hiển thị trong mục lục, bạn có thể dùng MỘT TRONG các dòng lệnh sau, đặt ngay sau \usepackage{minitoc} và phải trước \begin{document}
\setcounter{minitocdepth}{1} % Chỉ hiện tới bậc \section \setcounter{minitocdepth}{2} % Chỉ hiện tới bậc \subsection \setcounter{minitocdepth}{3} % Chỉ hiện tới bậc \subsubsection
Nếu bạn muốn bỏ đi chữ "Contents" ở đầu mục lục con, thay chỗ \dominitoc bằng
\dominitoc[n]
Nếu bạn muốn chữ "Contents" ở đầu mục lục con nằm ngay giữa trang, thay chỗ \dominitoc bằng
\dominitoc[c]
Nếu bạn muốn thay chữ "Contents", "Figures", "Tables" bằng chữ khác, thêm dòng lệnh sau ngay sau \usepackage{minitoc}
\renewcommand{\mtctitle}{Tên khác} % Thay chữ "Contents" \renewcommand{\mlftitle}{Tên khác} % Thay chữ "Figures" \renewcommand{\plttitle}{Tên khác} % Thay chữ "Tables"
Nếu bạn muốn bỏ lằn ngang đi ở mục lục con, thêm dòng lệnh sau ngay sau \usepackage{minitoc}
\nomtcrule
Nếu bạn muốn bỏ mấy dấu chấm lửng và cả số trang, thêm dòng sau ngay sau \usepackage{minitoc}
\nomtcpagenumbers
Thêm danh sách hình và danh sách bảng cho từng chương
Gói lệnh minitoc cũng hỗ trợ bạn hiển thị danh sách hình ảnh (list of figure) và danh sách bảng (list of table) trong LaTeX. Để sử dụng, bạn thêm dòng sau vào ngay trước \listoffigures bình thường (cái này sau \begin{document} )
\dominilof \listoffigures
Ở từng chương, bạn thêm dòng sau ở đầu chương đó (có thể đặt sau \minitoc )
\minilof
Đối với danh sách bảng, bạn làm tương tự,
\dominilot \listoftables
Ở từng chương thì
\minilot
Các tùy chỉnh giống y như của \minitoc . Dưới đây là một file hoàn chỉnh ví dụ mẫu
\documentclass{book} \usepackage{minitoc} \begin{document} \dominitoc \tableofcontents \dominilof \listoffigures \dominilot \listoftables \chapter{Tên Chương} \minitoc % tạo mini toc cho chương \minilof % tạo danh sách hình cho chương \minilot % tạo danh sách bảng cho chương \section{Tên mục} \begin{figure} ... \end{figure} \section{Tên mục} \begin{table} ... \end{table} \end{document}