Lệnh hay môi trường?

Macro lấy đối số; môi trường bao bọc các vùng.

Lệnh hay môi trường?

Mọi thứ bạn nhập vào LaTeX ngoài văn bản thuần túy đều có một trong hai hình dạng: lệnh hoặc môi trường. Sự khác biệt nghe có vẻ hàn lâm cho đến khi bạn gặp phải thông báo lỗi đầu tiên. Một nửa số khiếu nại của LaTeX là về việc một cái được sử dụng ở nơi còn lại. Học cách xem bạn đang xem hình dạng nào làm cho cả tài liệu và lỗi đều có thể đọc được.

Lệnh

\newcommand{\foo}{bar}
\foo
\textbf{argument}

Lệnh là dấu gạch chéo ngược theo sau là tên và nó thực hiện thay thế tại điểm xuất hiện. \textbf{argument} nhận một đối số trong dấu ngoặc nhọn và sắp chữ in đậm; hiệu ứng bắt đầu và kết thúc bằng dấu ngoặc nhọn. Các lệnh có thể nhận nhiều đối số trong dấu ngoặc nhọn và nhiều lệnh cũng chấp nhận một đối số tùy chọn trong dấu ngoặc vuông trước chúng, như trong \documentclass[11pt]{article}.

Hai dòng đầu tiên cho thấy lệnh là thứ bạn có thể tạo. \newcommand{\foo}{bar} định nghĩa một lệnh mới có tên \foo có phần mở rộng là văn bản bar, và từ đó gõ \foo ở bất cứ đâu sẽ tạo ra bar. Đây là cơ chế đằng sau macro tùy chỉnh và cũng là cách các gói hoạt động: một gói phần lớn là một tệp chứa các định nghĩa lệnh.

Một điều kỳ lạ đáng để biết sớm: một lệnh như \LaTeX nuốt chửng khoảng trắng sau nó, vì vậy \LaTeX is fun in các từ chạy cùng nhau. Viết \LaTeX{} is fun hoặc \LaTeX\ is để giữ chỗ.

Môi trường

\begin{center}
Centered block
\end{center}

Một môi trường bao bọc một vùng của tài liệu giữa cặp \begin{...}\end{...} phù hợp và áp dụng hành vi của nó cho mọi thứ bên trong. Ở đây môi trường center tập trung vào từng dòng của khối. Các môi trường có thể được lồng vào nhau, miễn là chúng đóng theo thứ tự ngược lại khi mở và chúng cũng có thể nhận các đối số: \begin{tabular}{ll} mở một bảng và chuyển cho nó một đặc tả cột.

Bởi vì môi trường phải cân bằng nên chúng thất bại theo một cách đặc biệt. Lỗi chẳng hạn như \begin{itemize} kết thúc bằng \end{document} có nghĩa là một môi trường đã được mở và chưa bao giờ đóng. Tìm \end còn thiếu; đừng nhìn chằm chằm vào dòng tên lỗi.

Nguyên tắc chung

Nếu nó bao bọc một vùng có điểm bắt đầu và kết thúc rõ ràng thì đó có thể là một môi trường. Nếu đó là một sự thay thế nhỏ hoặc một sự chuyển đổi thì đó là một lệnh. Hai hình dạng thậm chí còn chồng chéo lên nhau: mọi môi trường foo được triển khai dưới dạng một cặp lệnh \foo\endfoo bên dưới. Để tham quan các lệnh và môi trường mà bạn sẽ gặp nhiều nhất, hãy xem mọi lệnh được giải thích hoặc thử cả hai hình dạng trong sân chơi trực tiếp.

Commands vs environmentsOptional practice quiz5 questions

A short check on what this lesson covers. Wrong answers show the right one. Choices are shuffled each attempt. You can retry as often as you like.

Quay lại Tài liệu tham khảo bàn