LaTeX
Thứ Năm, 04/05/2017, 00:05
Tự định nghĩa lệnh LaTeX cho riêng mình

Tự định nghĩa lệnh LaTeX cho riêng mình

Bài viết này trình bày về các các thủ thuật tự định nghĩa lệnh trong LaTeX. Lợi ích của việc tự định nghĩa lệnh cho riêng mình:
  • Câu lệnh ngắn gọn: Thay vì lặp đi lặp lại một cụm từ trong luận văn, chẳng hạn "tổng bình phương mô-đun các đa thức phức", bạn có thể "lười biếng" bằng cách quy định lệnh \tpb  sẽ cho ra cụm từ trên. Tiết kiệm thời gian soạn thảo
  • Tránh sai xót: có với những câu lệnh rất dài chỉ để thể hiện một cụm ký hiệu toán học, khi đó bạn nên định nghĩa một lệnh riêng cho nó, sẽ ít sai xót hơn khi phải gõ đi gõ lại cụm ký hiệu này.
  • Có thể chỉnh sửa hàng loạt: khi cần thay đổi những ký hiệu xuyên suốt (ví dụ khi muốn thay bằng ), bạn chỉ việc sửa định nghĩa của ký hiệu đó ở phần mở đầu, lập tức tất cả sẽ thay đổi theo. Nếu bạn không dùng định nghĩa riêng, bạn phải tự tìm sửa hết trong lài liệu.
Với những lợi ích trên, bạn nên nắm vững kỹ thuật tự định nghĩa lệnh LaTeX để phục vụ cho công việc biên soạn của mình. Bất kì khi nào bạn phải lặp lại một chuỗi lệnh dài dòng, hãy nghĩ đến việc định nghĩa lệnh tắt (lưu ý, nên định nghĩa trước \begin{document} để có tác dụng toàn tài liệu)

Tạo lệnh để thu gọn một cụm từ lặp lại

Ta bắt đầu bằng một trường hợp đơn giản nhất. Cấu trúc lệnh như sau:
\newcommand {\lệnh mới} {cụm từ thường xuyên lặp lại}
Ví dụ, ta thường xuyên phải viết cụm từ "tổng bình phương mô-đun các đa thức phức", khi đó ta sẽ định nghĩa:
\newcommand{\tbp}{bình phương mô-đun các đa thức phức}
Sử dụng:
Tổng \tbp là... Như vậy, đa thức này là một tổng \tbp.
Vì cụm từ có khi đứng đầu câu, nên ta "chừa" chữ đầu tiên ra, sẽ linh hoạt hơn. [mks_icon icon="fa-chevron-right" color="#dd3333" type="fa"] Hiện và không hiện ở mục lục trong LaTeX

Tạo lệnh ngắn gọn cho một chuỗi lệnh lặp lại

Nếu bạn soạn tài liệu toán, bạn chắc đã từng gặp trường hợp phải viết lặp lại những đoạn tương tự thế này . Khi đó, tương tự như trên, ta định nghĩa
\newcommand{\xxx}{x_1 + x_2 + \ldots + x_n}
Khi sử dụng trong môi trường toán học, bạn chỉ việc gõ vào \xxx . Tuy nhiên trong môi trường văn bản bình thường, bạn phải thêm hai dấu $  (đô-la) xung quanh lệnh này. Để đảm bảo một lệnh mới định nghĩ hoạt động trong cả 2 môi trường mà không phải chú ý đến dấu đô-la, LaTeX cung cấp thêm câu lệnh \ensuremath . Như vậy nếu ta định nghĩa
\newcommand{\xxx}{\ensuremath{x_1 + x_2 + \ldots + x_n}}
thì \xxx sẽ linh động hơn (dùng ở đâu cũng được). Bây giờ, nếu đôi khi trong tài liệu, ta cần thay chỉ số bằng chỉ số hoặc thì làm thế nào? Khi đó ta nghĩ đến việc định nghĩa một** lệnh có tham số.**

Tạo lệnh có tham số

Cấu trúc định nghĩa lệnh có tham số như sau:
\newcommand {\lệnh mới} [số lượng tham số] {lệnh sử dụng các tham số}****.
Trong lệnh sử dụng các tham số thì mỗi tham số được đại diện bằng các ký hiệu #1, #2,...  Bạn có thể sử dụng tối đa 9 tham số. Trở lại ví dụ trên, để các lệnh \xxx{m} và \xxx{k}  cho ra kết quả lần lượt là , ta định nghĩa như sau.
\newcommand{\xxx}[1]{\ensuremath{x_1 + x_2 + \ldots + x_#1}}
Sau đây là một ví dụ cho trường hợp sử dụng 3 tham số
\newcommand{\dp}[3]{\ensuremath{\partial_#1 \varphi(#2, #3)}}
Sử dụng: khi ta gõ \dp{x}{tx}{y}  sẽ cho kết quả

Định nghĩa lại một lệnh đã có

Đôi khi ta cần định nghĩa lại một lệnh đã có của LaTeX, hoặc bạn nhất quyết sử dụng lại tên lệnh đó, lúc này ta phải dùng \renewcommand thay cho \newcommand, nếu không sẽ bị báo lỗi *Command already defined. *Ví dụ điển hình của việc định nghĩa lại một lệnh có sẵn là **thay đổi cách ký hiệu **(sử dụng ký hiệu đậm, sử dụng ký hiệu phong cách khác). Ngoài ra, LaTeX cũng cung cấp lệnh \def với cách dùng hoàn toàn tương tự với \newcommand, nó cho phép ta ghi đè lên lệnh đã có mà không bị báo lỗi.
notion image

Kết

Như vậy bạn đã biết cách tự định nghĩa lệnh mới cho mình. Để sử dụng hiệu quả, có một vài lưu ý nhỏ
  • Chú ý đến phạm vi tác động của lệnh (sử dụng đúng các cặp dấu ngoặc nhọn)
  • Lệnh mới nên đặt một cách gợi nhớ và thiết kế *khéo léo *để khai thác sự linh động lệnh
  • Trừ trường hợp bất khả kháng, ta nên tránh định nghĩa lại lệnh đã có.
[mks_icon icon="fa-chevron-right" color="#dd3333" type="fa"] Loại bỏ khoảng trắng thừa khi biên dịch hình ảnh ra PDF [mks_icon icon="fa-chevron-right" color="#dd3333" type="fa"] Thay đổi cách đánh số phương trình, hình ảnh, bảng, chương trong LaTeX theo ý của bạn
Cùng chủ đề