Cách đánh số trong LaTeX

Thay đổi kiểu đánh chỉ mục trong enumerate


Khi dùng latex để soạn thảo một nội dung gồm có nhiều ý nhỏ, bạn cần phải dùng môi trường liệt kê. Và enumerate là một trong những môi trường giúp bạn thực hiện điều đó.

Theo mặc định, môi trường enumerate dùng các số 1, 2, ... để liệt kê ra các ý nhỏ như trong hình dưới đây.

Cách đánh số trong LaTeX

Tuy nhiên việc đánh số như vậy nhiều lúc cũng đơn điệu và bạn muốn thay đổi sang kiểu liệt kê như a, b, c,...; hoặc i, ii, ... Để đáp ứng yêu cầu này, bạn chỉ cần sử dụng gói enumerate bằng cách thêm lệnh \usepackage{enumerate} trong phần khai báo và dùng môi trường enumerate trong soạn thảo với cú pháp

\begin{enumerate}[tùy chọn]
  \item Nội dung
  \item Nội dung
\end{enumetate}

1) Đổi sang kiểu liệt kê: a), b), c),... thì trong phần tùy chọn bạn điền a)

Cách đánh số trong LaTeX


2) Đổi sang kiểu liệt kê: đánh số La Mã thường như i), ii), iii), v),... thì trong phần tùy chọn bạn điền i)

Cách đánh số trong LaTeX


3) Đổi sang kiểu liệt kê: C-1), C-2), C-3),... thì trong phần tùy chọn bạn điền {C}-1)

Cách đánh số trong LaTeX

Trên đây là các kiểu đánh chỉ mục thông dụng. Hy vọng bài viết sẽ giúp cho các bạn mới làm quen với Latex có thêm sự lựa chọn khi dùng môi trường enumerate.

Cách đánh số trong LaTeX

I. Giới thiệu

Đánh số trong một văn bản không thể thiếu nhất là soạn một tài liệu khoa học. Đánh số các công thức, các đề mục của văn bản bao giờ cũng xảy ra. TeX cung cấp một số lệnh để đánh số bằng nhãn một cách tự động và khi soạn thảo một tài liệu dài, lắp gép các đoạn khác nhau không theo một thứ tự nào thì nhãn vẫn được đánh số tự đông cho công thức, đề mục một cách chính xác. Bài này giới thiệu cách đanh số trong LaTeX và VieTeX cho một số chức năng trợ giúp tiện lợi.

II. Các nhãn đánh số trong LaTeX

Một văn bản chuẩn thường có nhiều vị trí phải đánh số để khi trích dẫn lại vị trí đó thuận tiện và ngắn hơn. Trong LaTeX chia ra bốn loại đánh số tự động khác nhau:
1. Đánh số các đoạn, chương, khối văn bản sau lệnh \part, \chapter, \section, \subsection,
\subsubsection, \paragraph,…

2. Đánh số các định lí, mệnh đề, hệ quả,… Khi bắt đầu định nghĩa \newtheorem{defn}[theorem]{Definition} sau đó là môi trường đều được đánh số, hoặc các khuôn dạng đã có các môi trường theorem, lemma, corollary, … Đánh số định lí và bổ đề liên thông nhau và phụ thuộc vào nhau thông qua khi tạo lập có đối số [theorem] như trên, nghĩa là đánh số tiếp theo định lí.

3. Đánh số các công thức một hàng hoặc nhiều hàng như môi trường
\begin{equation}\label{eq:pt1}

\end{equation}

công thức được đánh số về bên phải là mặc định, nếu đánh số về bên trái thì đầu văn bản có tùy chọn leqno. Các môi trường công thức toán khác đều tự động đánh số như các môi trường align, split, multline, eqarray, …  Các số công thức có thể đánh theo chương, đoạn, … ví dụ đánh số kèm với số chương lần lượt thì phần khai báo có lệnh:
\numberwithin{equation}{chapter}

4. Môi trường hình figure, các môi trường bảng table được đánh số tự động ở dưới mỗi hình, có nhiều gói lệnh thiết lập lại vị trí đánh số ở trên hoặc bên cạnh, ví dụ như môi trường listings đánh số các thuật toán có thể ở phía trên.

Muốn ghi nhớ số đanh ở đâu người ta đặt ngay lệnh \label{} sau đó muốn trích dẫn chéo thì dùng .

III. Quy tắc gán nhãn và ghi số

Có bốn loại có thể gán nhãn để đánh số tự động như trên, theo lời khuyên của các chuyên gia soạn thảo văn bản thì ta phải quản lí thống nhất tất cả cách gán nhãn này. Như vậy mỗi loại gán nhãn trên có đặc trưng riêng của chúng và sử dụng cũng khác nhau. Nhưng có quy tắc chung cho việc gán nhãn này:

1. Các lệnh hoặc môi trường có đánh số có thể bỏ tác dụng đó bằng cách cho thêm * vào bên cạnh như: \section* hoặc \begin{equation*}, …

2. Nắm bắt được các số LaTeX chỉ cung cấp một lệnh \label{…} sau ngay các lệnh và môi trường đánh số. Ví dụ ta muốn nhớ số tự động vào biến dinhli1 thì ngay sau môi trường định lí ta đưa vào lệnh \label{dinhli1} và biến này có số để dùng sau này.

3. Để phân biệt nhãn các loại trên người ta thường quy định chung cho thống nhất trong nhãn có đặc trưng của các loại nhãn như:

a) Trong các đoạn văn bản: \label{sec:chuong11}, \label{sec:chuong12},… đây là cách gán nhãn cho các đoạn trong chương văn bản thường quy định sec: là chung sau đó rồi đến kí tự thật sự khác nhau của các đoạn.

b) Trong các nhãn hình và bảng:\label{fig:hinh21} là hình 1 chương 1, \label{fig:hinh22}, … hoặc \label{tab:bang1} là bảng số 1, ….

c) Các định lí và hệ quả cũng tương tự: \label{theo:chuong23} là định lí 3 chương 2,… hoặc\label{lem:chuong22}, … hoặc tên các định lí nổi tiếng như \label{theo:pitagoras}, ….

d) Đánh số các công thức rất đa dạng ta nghiên cứu phần sau, nhưng cũng quy định chung \label{eq:so1},… để dễ nhớ nên quy định nhãn theo một quy ước nào đó như công thức số: eq:so1, eq:so2, …

Trong LaTeX đánh số đoạn, hình, bảng, định lí dễ dàng thực hiện, riêng đánh số công thức rất đa dạng và thường được ứng dụng trình bầy văn bản chặt chẽ và chinhd xác, ta xét ở phần sau.

4. Chỉ ra các số bằng nhãn có các lệnh \eqref{eq:so1} dành cho công thức toán, \ref{fig:hinh2} dùng cho hình, bảng, đoạn văn bản và không dấu ngoặc tròn bao quanh. Ngoài ra còn các lệnh \pageref{} cho số trang.

IV. Đánh số công thức toán

Phải xác định là công thức trên một dòng mới đánh số công thức, còn các công thức có kèm theo văn bản nên chuyển thành danh sách để tiện sử dụng.

1. Công thức không cần đánh số nên sử dụng trong $$…$$ hoặc các môi trường dóng công thức có dấu * như: equation*, align*, multline*, gather*, … Ta nên dùng môi trường có dấu * vì trong VieTeX có cấu trúc kẹp gấp.

2. Ta thường dùng gói lệnh amsmath nên các môi trường trên sử dụng thuận lợi, ngoài ra công thức được đánh số tự động như:
\begin{align}
a^2+b^2&=c^2\label{eq:so11}\\
\sin^2\alpha+\cos^2\alpha&=1\label{eq:so12}
\end{align}
Lấy số nhãn bằng lệnh \ref{eq:so11} không có ngoặc tròn bao quanh , \eqref{eq:so11} có ngoặc tròn bao quanh. Một điều cần chú ý là dùng \eqref{} thì trong môi trường định lí chữ nghiêng các dấu ngoặc ( ) vẫn đứng thẳng theo đúng nhãn.

3. Muốn chỉ đánh số một công thức hoặc tự đánh nhãn kí hiệu riêng ta dùng lệnh \notag và \tag*{*}
\begin{align}
a^2+b^2&=c^2\notag\\
\sin^2\alpha+\cos^2\alpha&=1\tag{eq:so13}
\end{align}
Tham khảo nhãn vẫn bình thường \ref{eq:so13}. Đánh số còn theo các đoạn bằng lệnh ở đầu văn bản là
\numberwithin{equation}{section}

4. Ta có thể đánh số công thức phụ thuộc nhau dùng lệnh \tag và \ref như
\begin{align}
s_1&=x_1+x_2+x_3\label{eq:viet1}\\
s_2&=x_1x_2+x_1x_3+x_2x_3\tag{\ref{eq:viet1}a}\label{eq:viet2}\\
s_3&=x_1x_2x_3\tag{\ref{eq:viet1}b}\label{eq:viet3}
\end{align}

Khi đó ~\eqref{eq:viet1}, ~\eqref{eq:viet2}, ~\eqref{eq:viet3}.

5. Ta có thể dùng môi trường subequations
\begin{subequations}
\begin{align}
s_1&=x_1+x_2+x_3\label{eq:viet11}\\
s_2&=x_1x_2+x_1x_3+x_2x_3\label{eq:viet22}\\
s_3&=x_1x_2x_3\label{eq:viet33}
\end{align}
\end{subequations}
Khi đó ~\eqref{eq:viet11}, ~\eqref{eq:viet22}, \eqref{eq:viet33}.

6. Nhiều công thức gán chung một nhãn~\eqref{eq:so44}như:
\begin{equation}\label{eq:so44}
\begin{aligned}
a^2+b^2&=c^2\\
\sin^2\alpha+\cos^2\alpha&=1
\end{aligned}
\end{equation}

V. VieTeX trợ giúp kiểm soát nhãn khi tạo ra và gán tra cứu nhãn

Để kiểm soát nhãn và tự động liệt kê danh sách nhãn đã gán VieTeX thông báo như sau:

1. Lệnh \label{} cho liệt kê nhãn đã có để tạo nhãn không trùng với nhãn đã có

Cách đánh số trong LaTeX

2. Gán một nhãn đã gán rồi, thì khi gõ xong lệnh vào \label{eq:so1} sẽ thông báo đã gán rồi ở dòng bao nhiêu như hình:

Cách đánh số trong LaTeX

3. Khi muốn tham khảo nhãn bằng lệnh \ref{} hoặc\eqref{} hoặc \pageref{} thì hiện lên danh sách các nhãn đã có như hình. Chú ý   \ref{} ra số tham khảo, còn \eqref{} ra số trong ngoặc tròn.

Cách đánh số trong LaTeX

Còn nếu nhãn đúng chỉ ra nhãn đó ở dòng thứ bao nhiêu như hình .

Cách đánh số trong LaTeX

4. Danh sách nhãn chỉ hiện ra các nhãn ở tệp hiện hành, còn ở các tệp khác thì không liệt kê được. Điều này khó khăn cho soạn một dự án có nhiều tệp (Trong VieTeX có chức năng sưu tập lệnh hoặc nhãn, môi trường ở các tệp trước để đưa vào tệp đang soạn thảo). Ta gán nhãn cũng phải có quy luật tránh trùng với các nhãn của các tệp khác trong cùng dự án. Ta có thể tam khảo tất cả các nhãn trong dự án bằng cách thực hiện ở phần sau. Nhiều khi chính trong một tệp cũng chẳng nhớ đã gán đến nhãn nào rồi, VieTeX cũng cung cấp trợ giúp khi con trỏ trong ngoặc nhọn trong \label{} xuất hiện bảng liệt kê các nhãn đã gõ vào từ đầu tệp đến giờ và nhờ đó sửa lại nhãn cuối cùng một chút thành nhãn mới như hình

Cách đánh số trong LaTeX

5. Ta có thể tham khảo tất cả các nhãn được liệt kê trong cửa sổ output ở dưới bằng lệnh:

Project –> References –>list of label

Cách đánh số trong LaTeX

6. Trong khi dùng lệnh \ref{},\cite{},… muốn nhảy về vị trí có nhãn gán lần đầu trong \label{} dùng chức năng

Search–>jump to label

thì con trỏ từ vị trí nhẫn đang đứng nhảy đến vị trí có nhãn này trong văn bản lần đầu.

7. Để thuận tiện cho việc gán nhãn trong VieTeX đã cài sẵn các phím gõ tắt ra các lệnh để lấy ngay danh sách đó là:
Alt+( –> \eqref{}
Ctrl+) –>\ref{}
Alt+[ –> \begin{}

Ctrl+] —> \end{}

Alt+@—>\label{}

Tự động hoành thành nhãn, nhưng không phải chủ đề bài này ta sẽ đề cập trong bài Autocomplete (tự động điền đầy đủ).

VI. Kết luận

Khi đã có công cụ trợ giúp không nên đánh số thủ công, gán số trực tiếp dẫn đến nhiều sai sót và trùng số công thức gây ra mất tính chân thực của văn bản. Mặt khác khi gán thủ công qua thời gian các số gán bị thay đổi làm ta không kiểm soát được các số này mỗi khi sửa lại. LaTeX giúp ta soạn thảo văn bản như là nhà chuyên nghiệp với độ chính xác cao.

This entry was posted on 18/04/2009 at 3:45 AM and is filed under VieTeX. Tagged: lecture, TeX, VieTeX. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.