Bài viết đầy đủ của TEXmath về soạn thảo Toán học trong LaTeX. Bài này được viết lại rõ ràng và đầy đủ hơn, hạn chế phân thành nhiều bài nhỏ để mọi người tiện theo dõi. Luôn được cập nhật thường xuyên.
Những lưu ý đầu tiên
- Bạn luôn có thể tham khảo tài liệu chính thức (có tiếng Việt) : AMS-LaTeX.
- Bạn có thể dùng MathType hoặc những trang web hỗ trợ gõ công thức và xuất ra lệnh TeX như hotsmath hay codecogs để tiết kiệm thời gian.
- Nếu không biết 1 ký hiệu toán nào đó trong LaTeX viết làm sao thì vào trang Detexify để "vẽ nó ra" và trang sẽ gợi ý giúp bạn.
- Hãy đảm bảo PHẢI CÓ 3 gói lệnh sau đây đặt trước
\begin{document}
\usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb}
[adinserter block="8"]
Đặt công thức toán ở đâu?
Không phải muốn để các câu lệnh toán ở đâu cũng được, ta phải đặt chúng trong một môi trường cụ thể để LaTeX biết rằng "Ờ, cái tụi ở trong này là công thức toán!". Vậy môi trường đó là gì?
► Công thức cùng dòng với văn bản
[su_row][su_column size="3/5"]
Công thức $a+b=c$ nằmg cùng dòng với văn bản. Bạn cũng có thể dùng \(x+y=z\) cũng được.
[/su_column][su_column size="2/5"] [/su_column] [/su_row]
► Công thức là một đoạn riêng so với văn bản (khác dòng)
[su_row][su_column size="1/2"]
Dù để \[a+b=c\] cùng dòng nhưng kq vẫn khác dòng. Tương tự cho $x+y=z$ cũng thế.
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
► Gõ phương trình hoặc muốn đánh số hay tham chiếu đến công thức (khuyên dùng)
[su_row][su_column size="1/2"]
Dùng \textit{equation} không viết nhiều dòng toán được. \begin{equation} a+b=c \\ 1+2=3 \end{equation} Khuyên dùng \textit{align} hơn. \begin{align} x+y=z \\ 2+3=5 \end{align}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
Nhận xét : Nên dùng \begin{align} , chỉ khi nào muốn đánh máy nhanh mà không cần tham chiếu đến phương trình đang viết thì dùng $$ .
Đánh số phương trình hay công thức
[adinserter block="8"]
Bạn thấy dùng equation hay align như ở trên thì nó sẽ **tự động **đánh số phương trình giùm bạn luôn. Bây giờ bạn muốn chủ động điều khiển quá trình đánh số này thì làm sao?
► Đánh số ở trước công thức thay vì ở sau như bình thường
Các bạn thêm vào trong khai báo document như dòng code bên dưới
\documentclass[12pt,leqno]{article}
► Đánh số tất cả các hàng
[su_row][su_column size="1/2"]
Mỗi lần xuống hàng là đánh 1 số \begin{align} a+b=1 \\ b+c=2\\ c+a=0 \end{align}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
► Không đánh số gì cả
[su_row][su_column size="1/2"]
Thêm dấu * vào sau align hay equation \begin{align*} a+b=1 \\ b+c=2\\ c+a=0 \end{align*}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
► Đánh số chỉ 1 hàng thôi
...sẽ bổ sung sau...
[adinserter block="8"]
► Không đánh số một hàng, còn lại đánh hết
[su_row][su_column size="1/2"]
\begin{align} a+b=1 \\ b+c=2 \nonumber \\ c+a=0 \end{align}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
► Thay vì đánh số, bạn muốn đánh chữ hay một ký tự nào đó tùy ý
[su_row][su_column size="1/2"]
\begin{align} x+y=2 \\ x^2+1=0 \tag{abc} \\ 3x-4=5 \nonumber \\ m=3x-z \end{align}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
► Đánh số chung cho cả cụm công thức gồm nhiều dòng
[su_row][su_column size="1/2"]
\begin{align} \begin{split} a+b=c \\ x+y=z \\ 1+2=3 \end{split} \end{align}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
► Đánh số dạng 1a, 1b, 1c (hệ phương trình)
[su_row][su_column size="1/2"]
% cái này đặt trước \begin{document} \usepackage{cases} % cách dùng \begin{subnumcases}{f=} x+1 & $(x<0)$ \\ x^2+2 & $(x=0)$ \\ -x+3 & $(x>0)$ \end{subnumcases}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
► Đánh số dạng 1a, 1b, 1c (phương trình tự do)
[su_row][su_column size="1/3"]
\begin{subequations} \begin{align} 1+2=3 \\ a+b=c \\ y+x=3 \end{align} \end{subequations}
[/su_column][su_column size="2/3"] [/su_column] [/su_row]
► Đánh số dạng (1.1), (2.2.1),... theo số mục và chương mà phương trình đó đang hiện hữu.
- Nếu muốn đánh theo chỉ số mục (section) (ví dụ 1.2, 1.3,...) thì bạn đặt dòng code sau đây vào trước** \begin{document}**
\numberwithin{equation}{section}
- Nếu muốn đánh theo chỉ số mục phụ (subsection) (ví dụ 1.1.2, 1.1.3,...) thì bạn đặt dòng code sau đây vào trước**** \begin{document}****
\numberwithin{equation}{subsection}
► Ghi lại một phương trình 2 lần nhưng vẫn giữ nguyên đánh số.
- Ở lần ghi đầu tiên nhất, bạn dùng \label{abcxyz}
- Ở lần ghi thứ hai, bạn dùng \tag{ref{abcxyz}} mà khỏi cần dùng label.
Lưu ý là khi bạn gọi lại phương trình ấy, tức bạn dùng \eqref{abcxyz}, nó sẽ dẫn bạn đến lần ghi đầu tiên nhất, chỗ có lệnh label. Cái thủ thuật này đa phần chỉ hữu hiệu khi bạn soạn thảo bài trình chiếu beamer.
[mks_icon icon="fa-chevron-right" color="#dd3333" type="fa"]
Tham chiếu đến công thức đã được đánh số
Mục đích của đánh số chính là cần "nhắc lại" hay tham chiếu công thức đó. Bạn dùng \label{} * để đánh dấu, còn dùng \eqref{} * để gọi lại.
[su_row][su_column size="1/2"]
\begin{align}\label{cthuc} a+b=c \end{align} \begin{align} x+z=t \label{hang1} \\ 1+2=3 \label{hang2} \end{align} Gọi lại công thức \eqref{cthuc} và công thức \eqref{hang1} và \eqref{hang2}.
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
[adinserter block="6"]
Canh đều công thức
Hay còn gọi là giống hàng. Bạn muốn những hàng công thức toán trong phương trình canh đều ở những điểm nào. Bạn dùng ký hiệu & để xác định những hàng sẽ đều nhau ở đâu.
[su_row][su_column size="1/2"]
\begin{align*} x+y&=2;\\ x+y&+z=1;\\ a&=1+2+4;\\ &=7 \end{align*}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
Gõ hệ phương trình
[su_row][su_column size="1/2"]
\begin{align} \begin{cases} x+y+z &= 1 \\ x-2y+z &= 2 \\ x-y &= 6 \end{cases} \end{align}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
**[New] **Nếu bạn muốn dấu ngoặc nhọn nằm bên phải thì dùng gói lệnh mathtools, đặt câu lệnh sau trước \begin{document}
\usepackage{mathtools}
[su_row][su_column size="1/2"]
\begin{align} \begin{rcases*} a+b &= c \\ x+y &= z \\ 1+2 &= 3 \end{rcases*} \end{align}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
Dấu ngoặc
Các dấu ngoặc to, ngoặc bé, ngoặc nhọn, ngoặc vuông sẽ được liệt kê hết ở mục này. Khi dùng những lệnh này, dấu ngoặc sẽ **tự động điều chỉnh kích thước **sao cho đẹp và bao hết công thức bên trong nó.
[su_row][su_column size="1/2"]
-Ngoặc tròn: $\left(\dfrac{1}{2}+\dfrac{2}{3}\right)$ -Ngoặc vuông: $\left[\dfrac{1}{2}+\dfrac{2}{3}\right]$ -Ngoặc nhọn: $\left<\dfrac{1}{2}+\dfrac{2}{3}\right>$ -Trị tuyệt: $\vert\dfrac{1}{2}+\dfrac{2}{3}\vert$ -Chuẩn: $\Vert \dfrac{1}{2}+\dfrac{2}{3} \Vert$ -Ngoặc móc: $\left\{\dfrac{1}{2}+\dfrac{2}{3}\right\}$
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
Những ký tự, phép toán đặc biệt
Nếu bạn không biết ký hiệu viết như thế nào trong LaTeX thì bạn có thể dùng MathType hoặc bên trong các chương trình soạn thảo LaTeX như TeXMaker hay TeXStudio,... đều có danh sách các ký tự đặc biệt cho bạn tham khảo. Trong trường hợp ký tự lạ quá thì bạn có thể tham khảo trang Detexify để vẽ sơ sơ những ký hiệu đó ra, ngay lập tức trang web sẽ gợi ý cho bạn.
[mks_icon icon="fa-chevron-right" color="#dd3333" type="fa"]
▶ Chữ cái Hy Lạp
▶ Các** tập hợp số**
[su_row][su_column size="1/2"]
-Số tự nhiên: $\mathbb{N}$ -Số nguyên: $\mathbb{Z}$ -Số hữu tỷ: $\mathbb{Q}$ -Số vô tỷ: $\mathbb{I}$ -Số thực: $\mathbb{R}$ Nói tóm lại muốn chữ giống thế thì ghi $\mathbb{K}$
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
[adinserter block="6"]
▶ Tích phân, giới hạn, tổng
[su_row][su_column size="1/2"]
-Tích phân: $\int_1^2(x^2+1)dx$ -Tích phân to hơn: $\displaystyle \int_1^2(x^2+1)dx$ -Giới hạn: $\lim_{x\to\infty}(x^2+1)$ -Giới hạn to hơn: $\displaystyle \lim_{x\to\infty}(x^2+1)$ -Tổng: $\sum_{i=1}^n(C^i_na^ib^{n-i})$ -Tổng to hơn: $\displaystyle \sum_{i=1}^n(C^i_na^ib^{n-i})$
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
[mks_icon icon="fa-chevron-right" color="#dd3333" type="fa"]
▶** [New]** Gõ lim dạng đặc biệt
[su_row][su_column size="1/2"]
- lim lên xuống nằm ngang : $\lim_{x \downarrow a}, \lim_{x \uparrow a}$ - lim lên xuống nằm dưới : $\lim\limits_{x \downarrow a}, \lim\limits_{x \uparrow a}$ - lim chéo : $\lim\limits_{x \searrow a}, \lim\limits_{x \nearrow a}$
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
▶ Căn số, phân số
[su_row][su_column size="1/2"]
- Căn số: $\sqrt{2}, \sqrt[n]{3}$ - Phân số: $\frac{1}{2}$ và $\dfrac{1}{2}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
▶ Hàm lượng giác
▶ Logarit, inf, sup, max, min
[su_row][su_column size="1/2"]
-Logarit: $\log_1^2$ -Sup, Inf: $\sup_{i\in \{1..N\}}, \inf_i$ -Sup, Inf to hơn: $\displaystyle \sup_{i\in \{1..N\}}, \inf_i$ -Max,min: $\max_{i\in \Omega}, \min_i$ -Max, min to hơn: $\displaystyle \max_{i\in \Omega}, \min_i$
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
▶ Các phím mũi tên
[adinserter block="6"]
▶ Phép toán tập hợp
▶ Một số ký tự hay dùng khác
▶ Gõ các phép toán thẳng đứng : Ví dụ bạn muốn gõ thay vì thì bạn dùng câu lệnh \operatorname{cond}
▶** [New]** Gõ dấu hai chấm bằng :=
[su_row][su_column size="1/2"]
\usepackage{mathtools} % Đặt trước \begin{document} $b := 10$ versus $b \coloneqq 10$
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
Gõ ma trận, vector
[su_row][su_column size="1/3"]
\begin{align*} \begin{matrix} 0 & 1 \\ 1 & 0 \end{matrix} \end{align*}
[/su_column][su_column size="1/6"] [/su_column] [su_column size="1/3"]
\begin{align*} \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \end{align*}
[/su_column][su_column size="1/6"] [/su_column][/su_row]
[su_row][su_column size="1/3"]
\begin{align*} \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} \end{align*}
[/su_column][su_column size="1/6"] [/su_column] [su_column size="1/3"]
\begin{align*} \begin{vmatrix} 0 & 1 \\ 1 & 0 \end{vmatrix} \end{align*}
[/su_column][su_column size="1/6"] [/su_column][/su_row]
[su_row][su_column size="1/3"]
\begin{align*} \begin{Vmatrix} 0 & 1 \\ 1 & 0 \end{Vmatrix} \end{align*}
[/su_column][su_column size="1/6"] [/su_column] [su_column size="1/3"]
\begin{align*} f= \begin{bmatrix} 0 \\ 1 \end{bmatrix} \end{align*}
[/su_column][su_column size="1/6"] [/su_column][/su_row]
Gõ ánh xạ, hàm
[su_row][su_column size="1/2"]
% đặt trước \begin{document} \usepackage{commath} \fullfunction{f}{\mathbb R}{\mathbb R}{x}{\sqrt{x}}
[/su_column][su_column size="1/2"] [/su_column] [/su_row]
Liên tục cập nhật...