> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/vi/cac-lenh/01-commands.md).

# Các lệnh

## Giới thiệu

Bài viết này cung cấp phần giới thiệu đầu tiên về *lệnh*, vốn là một thành phần thiết yếu trong khả năng dàn trang của LaTeX. Hầu hết các lệnh LaTeX là những từ đơn giản được đặt sau một ký tự đặc biệt, thường là `\`, ký tự gạch chéo ngược. Hãy xem một vài ví dụ:

```latex
\documentclass{article}
\begin{document}
Trong một tài liệu có nhiều loại \textbf{lệnh}
xác định cách các phần tử được hiển thị. Những
lệnh này có thể chèn các phần tử đặc biệt: $\alpha \beta \Gamma$
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+commands+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AIn+a+document+there+are+different+types+of+%5Ctextbf%7Bcommands%7D+%0Athat+define+the+way+the+elements+are+displayed.+This+%0Acommands+may+insert+special+elements%3A+%24%5Calpha+%5Cbeta+%5CGamma%24%0A%5Cend%7Bdocument%7D)

Ví dụ này tạo ra kết quả sau:

![Định dạng văn bản cơ bản bằng LaTeX](/files/0e30c0d93cd64abd5022839aa56d5cc8e620a7d9)

Trong ví dụ trước, có nhiều loại lệnh khác nhau; chẳng hạn, `\textbf` sẽ làm cho văn bản được truyền làm tham số cho lệnh trở nên đậm. Ở chế độ toán học, có những lệnh đặc biệt, chẳng hạn như `\alpha`, `\beta` và `\Gamma` để hiển thị các ký tự Hy Lạp.

## Các lệnh

Sau đây là một ví dụ về mã LaTeX với các lệnh để tạo một danh sách gạch đầu dòng:

```latex
\documentclass{article}
\begin{document}
Ví dụ về danh sách:
\begin{itemize}
  \item[\S] Mục đầu tiên
  \item Mục thứ hai
\end{itemize}
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+itemized+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AA+list+example%3A%0A%5Cbegin%7Bitemize%7D%0A++%5Citem%5B%5CS%5D+First+item%0A++%5Citem+Second+item%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Ví dụ này tạo ra kết quả sau:

![Một danh sách cơ bản được dàn trang trong LaTeX](/files/17c1830b6605616b6512036fee10bf981bc8ee90)

Lệnh `\begin{itemize}` bắt đầu một `itemize` *môi trường*—xem [bài viết về môi trường](/latex/vi/cac-lenh/02-environments.md) để biết thêm chi tiết. Bên dưới khai báo môi trường là lệnh `\item` lệnh này cho LaTeX biết bắt đầu một mục danh sách mới: để định dạng nó, thêm một dấu đặc biệt (một chấm đen nhỏ gọi là bullet) và thụt lề mục đó.

Một số lệnh yêu cầu một hoặc nhiều *tham số*; ví dụ, `\textbf` lệnh (đã dùng ở trên) nhận một tham số duy nhất—văn bản cần hiển thị in đậm, được viết trong dấu ngoặc nhọn như thế này: `\textbf{làm cho đoạn này in đậm}`.

Cũng có *tùy chọn* các tham số có thể được truyền cho một lệnh để thay đổi hành vi của nó; những tham số tùy chọn đó phải được đặt trong dấu ngoặc vuông: `[...]`. Trong ví dụ trên, lệnh `\item[\S]` thực hiện tương tự như `\item`, ngoại trừ việc bên trong dấu ngoặc vuông là `\S`, ký tự này thay thế một ký tự khác để thay cho chấm đen trước văn bản của mục đó.

## Định nghĩa một lệnh mới

Mặc dù LaTeX đi kèm với rất nhiều lệnh, đôi khi vẫn cần tự định nghĩa các lệnh đặc biệt của riêng bạn để đơn giản hóa công việc, giảm các tác vụ lặp lại hoặc thực hiện một số định dạng phức tạp.

### Các lệnh đơn giản

Các lệnh mới được định nghĩa bằng `\newcommand`; vậy hãy xem một ví dụ đơn giản:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\newcommand{\R}{\mathbb{R}}
Tập hợp các số thực thường được biểu diễn
bằng chữ R in hoa kiểu đậm bảng đen: \( \R \).
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+simple+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5CR%7D%7B%5Cmathbb%7BR%7D%7D%0AThe+set+of+real+numbers+are+usually+represented+%0Aby+a+blackboard+bold+capital+R%3A+%5C%28+%5CR+%5C%29.%0A%5Cend%7Bdocument%7D)

Ví dụ này tạo ra kết quả sau:

![Kết quả đầu ra từ một lệnh mới](/files/c0309e8a032f39eb66a2c15af103cbbcb1018396)

Câu lệnh `\newcommand{\R}{\mathbb{R}}` có hai tham số để định nghĩa một lệnh mới, trong đó:

* `\R`: là tên của lệnh mới.
* `\mathbb{R}`: là chức năng của lệnh mới. Trong trường hợp này, chữ R sẽ được viết theo kiểu đậm bảng đen. Việc sử dụng lệnh `\mathbb` yêu cầu gói `amssymb` này, đã được thêm vào ví dụ trên (trong phần đầu tài liệu).

Sau khi lệnh được định nghĩa, chúng ta có thể dùng nó trong văn bản, như đã minh họa ở trên. Trong ví dụ này, lệnh mới được định nghĩa ngay trước đoạn văn nơi nó được dùng; tuy nhiên, việc rải các định nghĩa như vậy khắp tài liệu của bạn không được xem là thực hành tốt nhất. Thông thường, các định nghĩa cho lệnh mới được tập hợp trong phần đầu tài liệu hoặc, với các bộ lớn hơn, được đặt vào một tệp riêng có thể [được nhập vào tài liệu chính của bạn](/latex/vi/cau-truc-tai-lieu/07-management-in-a-large-project.md#inputting-and-including-files).

### Các lệnh có tham số

Cũng có thể tạo các lệnh mới chấp nhận một số tham số; ví dụ:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\newcommand{\bb}[1]{\mathbb{#1}}
Các hệ thống số khác cũng có ký hiệu tương tự.
Các số phức \( \bb{C} \), các số hữu tỉ
\( \bb{Q} \) và các số nguyên \( \bb{Z} \).
\end{document}
```

[Mở ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+command+with+1+parameter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5Cbb%7D%5B1%5D%7B%5Cmathbb%7B%231%7D%7D%0AOther+numerical+systems+have+similar+notations.+%0AThe+complex+numbers+%5C%28+%5Cbb%7BC%7D+%5C%29%2C+the+rational+%0Anumbers+%5C%28+%5Cbb%7BQ%7D+%5C%29+and+the+integer+numbers+%5C%28+%5Cbb%7BZ%7D+%5C%29.%0A%5Cend%7Bdocument%7D)

Ví dụ này tạo ra kết quả sau:

![Kết quả đầu ra từ một lệnh LaTeX với một tham số](/files/3d2d6df2c767dd46df06edb773604588dcc98094)

Dòng `\newcommand{\bb}[1]{\mathbb{#1}}` định nghĩa một lệnh mới nhận một tham số, trong đó:

* `\bb` là tên của lệnh mới.
* `[1]` là số lượng tham số mà lệnh mới sẽ nhận.
* `\mathbb{#1}` là chính việc lệnh thực hiện—định nghĩa của nó.

Trong trường hợp này, tham số, được tham chiếu là `#1`, sẽ được viết bằng các ký tự đậm kiểu bảng đen. Nếu một lệnh cần nhiều hơn một tham số, bạn có thể tham chiếu từng tham số bằng `#1`, `#2` và cứ thế tiếp tục. Hỗ trợ tối đa 9 tham số.

### Các lệnh có tham số tùy chọn

Các lệnh do người dùng định nghĩa có thể còn linh hoạt hơn cả các ví dụ đã nêu đến nay: bạn có thể định nghĩa các lệnh nhận *tùy chọn* tham số:

```latex
\documentclass{article}
\begin{document}

Khi viết nhiều biểu thức có số mũ, chúng ta có thể đơn giản hóa công việc và tiết kiệm thời gian bằng cách định nghĩa một lệnh phù hợp:

\newcommand{\plusbinomial}[3][2]{(#2 + #3)^#1}

Chúng ta có thể dùng nó như sau: \[ \plusbinomial{x}{y} \]

Và ngay cả số mũ cũng có thể được thay đổi:

\[ \plusbinomial[4]{a}{b} \]
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+command+with+optional+parameters\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%0AWhen+writing+many+expressions+with+exponents+we+can+simplify+our+task%2C+and+save+time%2C+by+defining+a+suitable+command%3A%0A%0A%5Cnewcommand%7B%5Cplusbinomial%7D%5B3%5D%5B2%5D%7B%28%232+%2B+%233%29%5E%231%7D%0A%0AWe+can+use+it+like+this%3A+%5C%5B+%5Cplusbinomial%7Bx%7D%7By%7D+%5C%5D%0A%0AAnd+even+the+exponent+can+be+changed%3A%0A%0A%5C%5B+%5Cplusbinomial%5B4%5D%7Ba%7D%7Bb%7D+%5C%5D%0A%5Cend%7Bdocument%7D)

Ví dụ này tạo ra kết quả sau:

![Kết quả đầu ra từ một lệnh có tham số tùy chọn](/files/74ae0604eb775c9e0c5705e24169e9bbcd3d61c9)

Hãy phân tích cú pháp của dòng `\newcommand{\plusbinomial}[3][2]{(#2 + #3)^#1}`:

* `\plusbinomial` là tên của lệnh mới.
* `[3]` là số lượng tham số mà lệnh sẽ nhận, trong trường hợp này là 3.
* `[2]` là giá trị mặc định cho tham số thứ nhất. Đây là điều làm cho tham số thứ nhất trở thành tùy chọn; nếu không được truyền vào, nó sẽ dùng giá trị mặc định này.
* `(#2 + #3)^#1` là chức năng của lệnh. Trong trường hợp này, nó sẽ đặt tham số thứ hai và thứ ba theo "định dạng nhị thức" lũy thừa bởi tham số thứ nhất.

## Ghi đè các lệnh hiện có

Nếu bạn cố gắng định nghĩa một lệnh mới có cùng tên với một *lệnh LaTeX* đã tồn tại `\textbf` lệnh:

```latex
\documentclass{article}
thì việc biên dịch sẽ thất bại với một thông báo lỗi. Điều này được minh họa trong ví dụ sau, ví dụ này cố gắng định nghĩa (đã tồn tại)
\begin{document}

\section{Điều này sẽ thất bại}
\end{document}
```

[Mở ví dụ này (**gây lỗi**) trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Duplicate+command+name\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cnewcommand%7B%5Ctextbf%7D%5B1%5D%7B%231%7D%25+This+will+not+work%0A%5Cbegin%7Bdocument%7D%0A%0A%5Csection%7BThis+will+fail%7D%0A%5Cend%7Bdocument%7D)

Biên dịch ví dụ này sẽ cho ra kết quả sau:

![Lỗi do định nghĩa lệnh LaTeX trùng lặp](/files/cb0ff82a0570f4687679369fa3d662c5287b73f2)

Như hình ảnh trên màn hình cho thấy, nỗ lực của chúng ta nhằm định nghĩa `\textbf` đã thất bại: LaTeX đã tạo thông báo lỗi **Lỗi LaTeX: Lệnh \textbf đã được định nghĩa rồi**.

Nếu bạn thực sự muốn ghi đè một lệnh hiện có thì có thể thực hiện bằng `\renewcommand`, lệnh này dùng cú pháp giống như `\newcommand`:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}

\renewcommand{\S}{\mathbb{S}}

Mặt cầu Riemann (các số phức cộng với $\infty$)
đôi khi được biểu diễn bằng \( \S \).
\end{document}
```

[Mở ví dụ này trong Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Redefine+existing+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Crenewcommand%7B%5CS%7D%7B%5Cmathbb%7BS%7D%7D%0A%0AThe+Riemann+sphere+%28the+complex+numbers+plus+%24%5Cinfty%24%29+is+%0Asometimes+represented+by+%5C%28+%5CS+%5C%29.%0A%5Cend%7Bdocument%7D)

Ví dụ này tạo ra kết quả sau:

![Kết quả đầu ra từ một lệnh LaTeX được định nghĩa lại](/files/cfdb6f890ef1443709ec7062c926ab475e3a22e7)

Trong ví dụ này, lệnh `\S` (xem ví dụ trong phần [lệnh](#commands) ) được ghi đè để in ra chữ S đậm kiểu bảng đen.

## Đọc thêm

Để biết thêm thông tin, xem:

* [Các môi trường](/latex/vi/cac-lenh/02-environments.md)
* [Hiểu về các gói và tệp lớp](/latex/vi/tep-lop/01-understanding-packages-and-class-files.md)
* [Viết gói của riêng bạn](/latex/vi/tep-lop/03-writing-your-own-package.md)
* [Tự viết lớp của riêng bạn](/latex/vi/tep-lop/04-writing-your-own-class.md)
* [Độ dài trong LaTeX](/latex/vi/dinh-dang/01-lengths-in-latex.md)
* [Sử dụng màu trong LaTeX](/latex/vi/dinh-dang/13-using-colors-in-latex.md)
* [Kích cỡ trang và lề](/latex/vi/dinh-dang/07-page-size-and-margins.md)
* [Danh sách các gói và tệp lớp](/latex/vi/tep-lop/02-overleaf-and-tex-live.md)
* [Phần giới thiệu về LaTeX2ε không quá ngắn](http://www.ctan.org/tex-archive/info/lshort/)
* [LaTeX/Creating\_Packages trên WikiBooks](http://en.wikibooks.org/wiki/LaTeX/Creating_Packages)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/vi/cac-lenh/01-commands.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
