> 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/theo-linh-vuc/02-chemistry-formulae.md).

# Công thức hóa học

Bài viết này làm nổi bật hai gói LaTeX được thiết kế để dàn trang nội dung hóa học và tài liệu hóa:

* [chemfig](https://www.ctan.org/pkg/chemfig): một gói để [vẽ công thức cấu tạo của các phân tử](#using-chemfig-to-draw-molecules-structural-formulae)
* [mhchem](https://ctan.org/pkg/mhchem): một gói để [dàn trang công thức và phương trình hóa học](#using-mhchem-to-typeset-chemical-formulae-and-equations)

## Dùng chemfig để vẽ các phân tử (công thức cấu tạo)

Vẽ một phân tử chủ yếu là nối các nhóm nguyên tử bằng các đường thẳng. Các công thức tuyến tính đơn giản có thể dễ dàng được vẽ bằng `chemfig` gói, như minh họa trong ví dụ sau:

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

\section{Giới thiệu}
Viết công thức hóa học bằng chemfig rất đơn giản.

\chemfig{A=B}
\end{document}
```

[Mở `chemfig` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Chemfig+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bchemfig%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Csection%7BIntroduction%7D%0AWriting+chemical+formulae+with+chemfig+is+straightforward.%0A%0A%5Cchemfig%7BA%3DB%7D%0A%5Cend%7Bdocument%7D)

Hình sau cho thấy kết quả được tạo ra bởi ví dụ ở trên:

![Một ví dụ cơ bản về chemfig](/files/5fa07a176ee8f2708c0a465291aa219b8d6236c2)

Gói được nạp bằng `\usepackage{chemfig}` trong phần tiền đề. Lệnh `\chemfig{A=B}` này vẽ phân tử. `=` xác định loại liên kết. Xem [hướng dẫn tham khảo](#reference-guide) để xem danh sách các loại liên kết.

### Góc

Có một số cách để định nghĩa các góc giữa các liên kết trong phân tử.

```latex
Để định nghĩa công thức hóa học, bạn có thể dùng các đơn vị xác định các góc

\chemfig{A-[1]B-[7]C}

Góc tuyệt đối

\chemfig{A-[:50]B-[:-25]C}

Góc tương đối

\chemfig{A-[::50]B-[::-25]C}
```

[Mở `chemfig` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Chemfig+example+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bchemfig%7D%0A%5Cbegin%7Bdocument%7D%0ATo+define+chemical+formulae+you+can+use+units+that+define+the+angles%0A%0A%5Cchemfig%7BA-%5B1%5DB-%5B7%5DC%7D%0A%0AAbsolute+angles%0A%0A%5Cchemfig%7BA-%5B%3A50%5DB-%5B%3A-25%5DC%7D%0A%0ARelative+angles%0A%0A%5Cchemfig%7BA-%5B%3A%3A50%5DB-%5B%3A%3A-25%5DC%7D%0A%5Cend%7Bdocument%7D)

Hình sau cho thấy kết quả được tạo ra bởi ví dụ ở trên:

![Chemfig2OLV2.png](/files/8a963fdd42a1eededbd94d015410dfc05b24adb0)

Mỗi trong ba lệnh ở ví dụ trên sử dụng một phương pháp khác nhau để xác định góc giữa các liên kết.

* `đơn vị mặc định`: Trong lệnh `\chemfig{A-[1]B-[7]C}` các tham số trong ngoặc vuông đặt góc theo các đơn vị đặc biệt, mỗi đơn vị bằng 45°. Vì vậy trong ví dụ, các góc là 45° và 315°.
* `đơn vị tuyệt đối`: Các góc có thể được đặt theo đơn vị tuyệt đối, trong lệnh `\chemfig{A-[:50]B-[:-25]C}` tham số trong ngoặc vuông biểu diễn góc, tính bằng độ, đo từ đường cơ sở ngang. Có thể dùng góc âm.
* `góc tương đối`: Trong ví dụ thứ ba `\chemfig{A-[::50]B-[::-25]C}` các góc được đo từ liên kết trước đó, thay vì từ đường cơ sở.

### Vòng

Ví dụ dưới đây trình bày cú pháp để vẽ các đa giác đều:

```latex
Đa giác đều:

\chemfig{A*5(-B=C-D-E=)}

Cũng có thể tạo vòng không hoàn chỉnh:

\chemfig{A*5(-B=C-D)}
```

[Mở `chemfig` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Chemfig+example+3\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bchemfig%7D%0A%5Cbegin%7Bdocument%7D%0ARegular+polygons%3A%0A%0A%5Cchemfig%7BA%2A5%28-B%3DC-D-E%3D%29%7D%0A%0AIncomplete+rings+are+also+possible%3A%0A%0A%5Cchemfig%7BA%2A5%28-B%3DC-D%29%7D%0A%5Cend%7Bdocument%7D)

Hình sau cho thấy kết quả được tạo ra bởi ví dụ ở trên:

![Chemfig3OLV2.png](/files/5c6d378a16071e73ed130c185aff22073d305396)

Cú pháp của lệnh `\chemfig{A*5(-B=C-D-E=)}` được giải thích dưới đây:

* `Một`: Đây là nguyên tử đầu tiên, các nguyên tử còn lại sẽ được vẽ từ đây
* `*5`: Số cạnh của đa giác
* `(-B=C-D-E=)`: Phần còn lại của các nguyên tử và liên kết. Nếu không đủ để hoàn thành đa giác, một vòng không hoàn chỉnh sẽ được vẽ.

Có một tham số bổ sung có thể được truyền cho lệnh này: một dấu sao kép. Ví dụ, nếu `**5` được đặt thay vì `*5` một hình tròn được vẽ bên trong đa giác.

#### Các vòng liên kết

Ví dụ tiếp theo vẽ cấu trúc hóa học của caffeine:

```latex
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\section{Tôi cần caffeine.}

\chemfig{*6((=O)-N(-)-(*5(-N=-N(-)-))=-(=O)-N(-)-)}
\end{document}
```

[Mở `chemfig` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Drawing+caffeine+using+chemfig\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bchemfig%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BI+need+caffeine.%7D%0A%0A%5Cchemfig%7B%2A6%28%28%3DO%29-N%28-%29-%28%2A5%28-N%3D-N%28-%29-%29%29%3D-%28%3DO%29-N%28-%29-%29%7D%0A%5Cend%7Bdocument%7D)

Hình dưới đây cho thấy đầu ra được tạo bởi ví dụ caffeine:

![Bản vẽ phân tử caffeine được tạo bằng gói LaTeX chemfig](/files/870b70c10c490552f3abc63f28bc2fbc615aee47)

### Nhánh

Công thức hóa học không phải lúc nào cũng tuyến tính; thực ra công thức phân nhánh là loại phổ biến nhất. Dưới đây là một ví dụ về cách tạo chúng.

```latex
Phân tử phân nhánh \vspace{.5cm}

\chemfig{H-C(-[2]H)(-[6]H)-C(=[1]O)-[7]H}
```

[Mở `chemfig` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Chemfig+example+4\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bchemfig%7D%0A%5Cbegin%7Bdocument%7D%0ABranched+molecule+%5Cvspace%7B.5cm%7D%0A%0A%5Cchemfig%7BH-C%28-%5B2%5DH%29%28-%5B6%5DH%29-C%28%3D%5B1%5DO%29-%5B7%5DH%7D%0A%5Cend%7Bdocument%7D)

Hình sau cho thấy kết quả được tạo ra bởi ví dụ ở trên:

![Chemfig4OLV2.png](/files/ed479a648f2cc25e0d3379c6f19dbf10b6bc4355)

Các nhánh ở mỗi nút được tạo bằng cách thêm công thức trong ngoặc đơn. Ví dụ, mã

```latex
C(-[2]H)(-[6]H)
```

tạo hai nhánh ở "C", một với góc 2 đơn vị (90°) và nhánh còn lại với góc 6 đơn vị (270°).

Các nhánh cũng có thể được thêm vào các vòng:

```latex
Vòng có nhánh
\vspace{.5cm}

\chemfig{A*6(-B=C(-CH_3)-D-E-F(=G)=)}
```

[Mở `chemfig` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Chemfig+example+5\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bchemfig%7D%0A%5Cbegin%7Bdocument%7D%0ABranched+ring%0A%5Cvspace%7B.5cm%7D%0A%0A%5Cchemfig%7BA%2A6%28-B%3DC%28-CH_3%29-D-E-F%28%3DG%29%3D%29%7D%0A%5Cend%7Bdocument%7D)

Hình sau cho thấy kết quả được tạo ra bởi ví dụ ở trên:

![Chemfig5OLV2.png](/files/ced6d19d67bdbd803e182584c9a124c5c28b49b5)

Cú pháp tương tự, dùng ngoặc đơn để gắn một nhánh vào một nút (nguyên tử). Ví dụ

```latex
F(=G)
```

gắn một nhánh vào nút "F". Có thể tạo các ví dụ phức tạp hơn bằng cách dùng các nhánh lồng nhau và thậm chí gắn các vòng làm nhánh.

### Tùy chỉnh các công thức

Có thể thay đổi nhiều tham số như màu sắc và khoảng cách giữa các nút; đồng thời cũng có thể thêm văn bản mô tả công thức.

```latex
{\huge
    \setchemfig{atom sep=2em,bond style={line width=1pt,red,dash pattern=on 2pt off 2pt}}
    \chemname
    {\chemfig{H-C(-[2]H)(-[6]H)-C(=[1]O)-[7]H}}
    {Acetaldehyde}
}
```

[Mở `chemfig` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Chemfig+example+6\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bchemfig%7D%0A%5Cbegin%7Bdocument%7D%0A%7B%5Chuge+%0A++++%5Csetchemfig%7Batom+sep%3D2em%2Cbond+style%3D%7Bline+width%3D1pt%2Cred%2Cdash+pattern%3Don+2pt+off+2pt%7D%7D++%0A++++%5Cchemname%0A++++%7B%5Cchemfig%7BH-C%28-%5B2%5DH%29%28-%5B6%5DH%29-C%28%3D%5B1%5DO%29-%5B7%5DH%7D%7D++++%0A++++%7BAcetaldehyde%7D%0A%7D%0A%5Cend%7Bdocument%7D)

Hình sau cho thấy kết quả được tạo ra bởi ví dụ ở trên:

![Vẽ Acetaldehyde trong LaTeX bằng gói chemfig](/files/fb9042bf6da8ef3d1d4da020cd4cf66cc0b984fd)

Ở đây có hai lệnh mới:

* `\setchemfig{}`: Lệnh này được dùng để cấu hình các thiết lập cho việc vẽ cấu trúc hóa học.
* `\chem``name{}{}` : Tham số đầu tiên trong lệnh này là một `chemfig` công thức, tham số thứ hai là một đoạn văn bản sẽ được in bên dưới công thức. Trong ví dụ, đoạn văn bản là "Acetaldehyde".

Lưu ý thêm rằng phông chữ được dùng là `rất lớn`. Bạn có thể dùng bất kỳ [cỡ phông](/latex/vi/phong-chu/01-font-sizes-families-and-styles.md) phông cỡ nào khác và công thức sẽ được thu phóng tương ứng.

### Hướng dẫn tham khảo (chemfig)

**Các loại liên kết**

| Loại liên kết    | mã                  | kết quả                                                       |
| ---------------- | ------------------- | ------------------------------------------------------------- |
| đơn              | `\chemfig{O - H}`   | ![Bond1.png](/files/681a889533f0b5a4dbd83c923bbadf0623be09dd) |
| kép              | `\chemfig{O = H}`   | ![Bond2.png](/files/9d82d9998fdbf1f207e9bed9e2628cedc6cf92ab) |
| ba               | `\chemfig{O ~ H}`   | ![Bond3.png](/files/a799023ef2d4bde31c148938a5b1a9fcac9a7e79) |
| nêm phải đặc     | `\chemfig{O > H}`   | ![Bond4.png](/files/5ac880175327e5cfd10ae4c14f11c05653efe0fc) |
| nêm trái đặc     | `\chemfig{O < H}`   | ![Bond5.png](/files/9cac78978faf5b995a755635268c50512938f84a) |
| nêm phải nét đứt | `\chemfig{O >: H}`  | ![Bond6.png](/files/edca2808582dc456356a67ae5e45654901f4cd00) |
| nêm trái nét đứt | `\chemfig{O <: H}`  | ![Bond7.png](/files/43750a08a36aa8d62f4ddcc2b2121101a9a8e478) |
| nêm phải rỗng    | `\chemfig{O >\| H}` | ![Bond8.png](/files/bd224a141e16e3627b8b4e81398c30b992212503) |
| nêm trái rỗng    | `\chemfig{O <\| H}` | ![Bond9.png](/files/053a174851dc7445dcd830c87b286f3919bb2415) |

## Sử dụng mhchem để dàn trang công thức và phương trình hóa học

Tính năng `mhchem` tính linh hoạt của gói `\ce` lệnh, vốn được [được hỗ trợ bởi bản xem trước của Visual Editor trên Overleaf](#visual-editors-preview-of-chemical-formulae-and-equations), cho phép dàn trang các công thức và phương trình hóa học; ví dụ, khi viết `\ce{H2O}` sẽ dàn trang $$\text{H}\_2\text{O}$$, công thức hóa học của nước.

* **Lưu ý**: Các phiên bản gần đây của `mhchem` gói có thể [làm tăng thời gian cần để biên dịch dự án của bạn](/latex/vi/co-so-tri-thuc/038-fixing-and-preventing-compile-timeouts.md#mhchemtimeout). Chuyển sang [`chemformula` gói](https://ctan.org/pkg/chemformula?lang=en), và dùng lệnh `\ch` có thể làm giảm thời gian biên dịch nhưng `\ch` lệnh này hiện chưa được Visual Editor hiển thị xem trước.

### Cách nạp gói mhchem

Để dùng phiên bản mới nhất của `mhchem`, hiện là phiên bản 4, hãy thêm dòng sau vào phần tiền đề của tài liệu:

```latex
\usepackage[version=4]{mhchem}
```

Điều này nạp `mhchem` với các kiểu mặc định để định dạng công thức và phương trình hóa học. Để thay đổi các mặc định đó, bạn có thể dùng `mhchem` tùy chọn gói hoặc `\mhchemoptions` lệnh. Ví dụ, để đổi phông ở chế độ văn bản sang sans serif và vẽ mũi tên bằng PGF/Ti*k*Z, bạn có thể nạp `mhchem` bằng

```latex
\usepackage[version=4,arrows=pgf-filled,textfontname=sffamily]{mhchem}
```

hoặc bạn có thể dùng `\mhchemoptions` lệnh này trong tài liệu của bạn

```latex
\mhchemoptions{arrows=pgf-filled,textfontname=sffamily}
```

Tính năng [`mhchem` tài liệu gói](http://mirrors.ctan.org/macros/latex/contrib/mhchem/mhchem.pdf) cung cấp thêm hướng dẫn về việc cấu hình `mhchem`, cùng với nhiều ví dụ về công thức và phương trình hóa học, một số được chúng tôi tái hiện ở đây để giúp bạn bắt đầu. Lưu ý việc sử dụng ký tự khoảng trắng trong đầu vào phức tạp hơn của `\ce` lệnh. Những khoảng trắng đó là cần thiết để giúp `mhchem` phân tích đúng công thức và phương trình hóa học của bạn; bỏ qua chúng có thể gây ra lỗi [Unexpected input character](#the-unexpected-input-character-mhchem-error).

### Một số ví dụ

Dự án Overleaf sau đây nạp `mhchem` bằng ba tùy chọn gói:

* `arrows=pgf-filled`: vẽ mũi tên tô đầy bằng PGF
* `textfontname=sffamily`: ngoài chế độ toán, công thức và phương trình hóa học được dàn trang bằng phông sans serif mặc định
* `mathfontname=mathsf`: trong chế độ toán dùng phông sans serif

Tính năng `\ce` được dùng để dàn trang một loạt ví dụ.

```latex
\documentclass{article}
%Nạp mhchem bằng một số tùy chọn gói
\usepackage[version=4,arrows=pgf-filled,
textfontname=sffamily,
mathfontname=mathsf]{mhchem}
\begin{document}
\subsection*{Các phân tử đơn giản}

\begin{itemize}
\item Nước: \verb|\ce{H2O}|, \ce{H2O}
\item Benzen: \verb|\ce{C6H6}|, \ce{C6H6}
\item Peroxit hydro: \verb|\ce{H2O2}|, \ce{H2O2}
\item Axit axetic: \verb|\ce{C2H4O2}|, \ce{C2H4O2}
\item Glucozơ: \verb|\ce{C6H12O6}|, \ce{C6H12O6}
\end{itemize}

\subsection*{Phương trình hóa học}

Hai ví dụ cơ bản:

\begin{itemize}
\item \verb|\ce{2H2 + O2 -> 2H2O}| dàn trang \ce{2H2 + O2 -> 2H2O}
\item \verb|\ce{CO2 + C -> 2 CO}| dàn trang \ce{CO2 + C -> 2 CO}
\end{itemize}

\subsection*{Một ví dụ phức tạp hơn}

Viết \verb|\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}| sẽ cho ra kết quả này:\vskip10pt
\noindent \ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}.

\subsection*{Một ví dụ ở chế độ toán}

Các biểu thức hóa học có thể được dàn trang bằng các lệnh ở chế độ toán như \verb|\frac|. \vskip10pt

\noindent Viết \verb|\[K=\frac{[\ce{Hg^2+}][\ce{Hg}]}{[\ce{Hg2^2+}]}\]| sẽ tạo ra kết quả này:

\[K=\frac{[\ce{Hg^2+}][\ce{Hg}]}{[\ce{Hg2^2+}]}\]
\end{document}
```

[Mở `mhchem` ví dụ trên Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=mhchem+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%25Load+mhchem+using+some+package+options%0A%5Cusepackage%5Bversion%3D4%2Carrows%3Dpgf-filled%2C%0Atextfontname%3Dsffamily%2C%0Amathfontname%3Dmathsf%5D%7Bmhchem%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csubsection%2A%7BSimple+molecules%7D%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+Water%3A+%5Cverb%7C%5Cce%7BH2O%7D%7C%2C+%5Cce%7BH2O%7D%0A%5Citem+Benzene%3A+%5Cverb%7C%5Cce%7BC6H6%7D%7C%2C+%5Cce%7BC6H6%7D%0A%5Citem+Hydrogen+peroxide%3A+%5Cverb%7C%5Cce%7BH2O2%7D%7C%2C+%5Cce%7BH2O2%7D%0A%5Citem+Acetic+acid%3A+%5Cverb%7C%5Cce%7BC2H4O2%7D%7C%2C+%5Cce%7BC2H4O2%7D%0A%5Citem+Glucose%3A+%5Cverb%7C%5Cce%7BC6H12O6%7D%7C%2C+%5Cce%7BC6H12O6%7D%0A%5Cend%7Bitemize%7D%0A%0A%5Csubsection%2A%7BChemical+equations%7D%0A%0ATwo+basic+examples%3A%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Cverb%7C%5Cce%7B2H2+%2B+O2+-%3E+2H2O%7D%7C+typesets+%5Cce%7B2H2+%2B+O2+-%3E+2H2O%7D%0A%5Citem+%5Cverb%7C%5Cce%7BCO2+%2B+C+-%3E+2+CO%7D%7C+typesets+%5Cce%7BCO2+%2B+C+-%3E+2+CO%7D%0A%5Cend%7Bitemize%7D%0A%0A%5Csubsection%2A%7BA+more+complex+example%7D%0A%0AWriting+%5Cverb%7C%5Cce%7BHg%5E2%2B+-%3E%5BI-%5D+HgI2+-%3E%5BI-%5D+%5BHg%5E%7BII%7DI4%5D%5E2-%7D%7C+typesets+this%3A%5Cvskip10pt%0A%5Cnoindent+%5Cce%7BHg%5E2%2B+-%3E%5BI-%5D+HgI2+-%3E%5BI-%5D+%5BHg%5E%7BII%7DI4%5D%5E2-%7D.%0A%0A%5Csubsection%2A%7BA+math+mode+example%7D%0A%0AChemical+expressions+can+be+typeset+using+math+mode+commands+such+as+%5Cverb%7C%5Cfrac%7C.+%5Cvskip10pt%0A%0A%5Cnoindent+Writing+%5Cverb%7C%5C%5BK%3D%5Cfrac%7B%5B%5Cce%7BHg%5E2%2B%7D%5D%5B%5Cce%7BHg%7D%5D%7D%7B%5B%5Cce%7BHg2%5E2%2B%7D%5D%7D%5C%5D%7C+produces+this%3A%0A%0A%5C%5BK%3D%5Cfrac%7B%5B%5Cce%7BHg%5E2%2B%7D%5D%5B%5Cce%7BHg%7D%5D%7D%7B%5B%5Cce%7BHg2%5E2%2B%7D%5D%7D%5C%5D%0A%5Cend%7Bdocument%7D)

Dự án này tạo ra đầu ra sau:

![Hình minh họa các ví dụ mhchem](/files/e11519db22abb533d347c5d677908c2370d06265)

Tính năng [`mhchem` tài liệu gói](http://mirrors.ctan.org/macros/latex/contrib/mhchem/mhchem.pdf) rất đáng đọc vì nó chứa nhiều ví dụ về công thức và phương trình hóa học, ngoài ra còn có thông tin về các tùy chọn gói và cấu hình.

### Bản xem trước các công thức và phương trình hóa học của Visual Editor

Visual Editor của Overleaf cung cấp bản xem trước các công thức và phương trình hóa học được dàn trang bởi `\ce` lệnh này, như minh họa trong đoạn video sau:

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/38RMpDdTIkwBhVo4Jh2s28/aac834f5d7f2676133f884e1c6b3d0cb/VisualEditorchem.mp4>" %}

### Lỗi mhchem “Unexpected input character”

Tính năng `mhchem` lỗi của gói **`Khẳng định thất bại: Ký tự đầu vào không mong đợi`** thường là do thiếu khoảng trắng trong đầu vào của `\ce` lệnh—khoảng trắng là rất cần thiết để `mhchem` phân tích chính xác các biểu thức hóa học phức tạp hơn. Lỗi này có thể xảy ra khi sao chép và dán các ví dụ từ tài liệu PDF, nơi khoảng trắng có thể không được sao chép chính xác.

Ví dụ sau minh họa lỗi này:

```latex
\ce{CO2+C->2CO}
```

[Mở **gây lỗi** `mhchem` ví dụ trên Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=mhchem+errors+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bversion%3D4%5D%7Bmhchem%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Cce%7BCO2%2BC-%3E2CO%7D%0A%5Cend%7Bdocument%7D)

Tối thiểu, chúng ta cần đặt một khoảng trắng giữa `C` và `->` ; tuy nhiên, cách đó vẫn có thể chưa đủ để dàn trang biểu thức mong muốn. Khi tất cả khoảng trắng được thêm đúng, nó trông như sau:

```latex
\ce{CO2 + C -> 2 CO}
```

[Mở bản đã sửa này `mhchem` ví dụ trên Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=mhchem+corrected+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bversion%3D4%5D%7Bmhchem%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Cce%7BCO2+%2B+C+-%3E+2+CO%7D%0A%5Cend%7Bdocument%7D)

Dự án này tạo ra đầu ra sau:

![](/files/e2cc72b9efbb52652b55d2290d7d89ee4b25ab49)

## Đọc thêm

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

* [Sơ đồ orbital phân tử](/latex/vi/theo-linh-vuc/04-molecular-orbital-diagrams.md)
* [Các sơ đồ Feynman](/latex/vi/theo-linh-vuc/03-feynman-diagrams.md)
* [Gói TikZ](/latex/vi/hinh-va-bang/05-tikz-package.md)
* [Chèn hình ảnh](/latex/vi/chu-de-khac/27-inserting-images.md)
* [Danh sách các chữ cái Hy Lạp và ký hiệu toán học](/latex/vi/toan-hoc/11-list-of-greek-letters-and-math-symbols.md)
* [Tính năng **chemfig** tài liệu gói](http://www.ctan.org/pkg/chemfig)
* [Tính năng **tikz/pgf** tài liệu gói](http://www.ctan.org/pkg/pgf)


---

# 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/theo-linh-vuc/02-chemistry-formulae.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.
