> 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/dinh-dang/02-headers-and-footers.md).

# Đầu trang và chân trang

## Giới thiệu và tổng quan

Bài viết này minh họa cách sửa đổi phần đầu trang và chân trang của tài liệu bằng [gói fancyhdr](https://ctan.org/pkg/fancyhdr?lang=en). Một lựa chọn khác để tùy chỉnh đầu trang và chân trang, được đề cập trong bài viết đi kèm, [*LaTeX dàn trang đầu trang và chân trang như thế nào?*](/latex/vi/bai-viet-chuyen-sau/23-how-does-latex-typeset-headers-and-footers.md), là tìm hiểu sâu hơn mã LaTeX để định nghĩa các kiểu trang mới hoặc định nghĩa lại các lệnh mức thấp thích hợp.

Ở đây, chúng ta bắt đầu với tổng quan về một số tính năng LaTeX cơ bản xác định đầu trang và chân trang mặc định được dùng trong tài liệu:

* [các lớp tài liệu](#document-classes)
* [Các kiểu trang của LaTeX](#latex-page-styles)

Nếu bạn muốn bỏ qua phần giới thiệu, hãy chuyển đến [phần về `fancyhdr` gói](#using-the-fancyhdr-package). Như đã lưu ý, nhiều chi tiết kỹ thuật hơn được trình bày trong bài viết đi kèm [*LaTeX dàn trang đầu trang và chân trang như thế nào?*](/latex/vi/bai-viet-chuyen-sau/23-how-does-latex-typeset-headers-and-footers.md) trong đó khám phá và giải thích các cơ chế cấp thấp dựa trên dấu đánh dấu mà các bộ máy TeX dùng để tạo đầu trang và chân trang — và tại sao lệnh `\mark` là cần thiết.

### Các lớp tài liệu LaTeX

Các loại tài liệu LaTeX khác nhau được tạo bằng *các lớp tài liệu*; ví dụ, LaTeX cung cấp một số lớp chuẩn:

* `book`
* `báo cáo`
* `article`
* `letter`

được dùng thông qua `\documentclass` lệnh:

```latex
\documentclass[⟨options⟩]{⟨class⟩}
```

trong đó:

* `⟨class⟩` có thể là một trong các kiểu chuẩn (`book`, `báo cáo`, `article`, `letter`) hoặc một [do cá nhân và các tổ chức đóng góp](https://www.ctan.org/topic/class).
* `⟨options⟩` là các thiết lập dùng để cấu hình một thể hiện cụ thể của tài liệu `⟨class⟩`. Các `⟨options⟩` tùy thuộc vào `⟨class⟩` đang được sử dụng.

#### Tài liệu một mặt hoặc hai mặt

Nếu một lớp tài liệu LaTeX hỗ trợ các bố cục khác nhau cho các trang bên trái (số trang chẵn) và các trang bên phải (số trang lẻ), thì đầu trang và chân trang của tài liệu thường khác nhau trên các trang bên trái và bên phải. Mặc định cho các lớp tài liệu chuẩn là:

* `book`: hai mặt
* `article` và `báo cáo`: một mặt nhưng có thể trở thành hai mặt bằng cách dùng tùy chọn `twoside`; ví dụ:

```latex
\documentclass[twoside]{article}
```

hoặc

```latex
\documentclass[twoside]{report}
```

#### Các ⟨tùy chọn⟩ mặc định của các lớp tài liệu

LaTeX áp dụng một bộ mặc định `⟨options⟩` cho từng lớp tài liệu chuẩn:

* `article`: mặc định `⟨options⟩` đang `letterpaper,10pt,oneside,onecolumn,final`
* `báo cáo`: mặc định `⟨options⟩` đang `letterpaper,10pt,oneside,onecolumn,final,openany`
* `book`: mặc định `⟨options⟩` đang `letterpaper,10pt,twoside,onecolumn,final,openright`
* `letter`: mặc định `⟨options⟩` đang `letterpaper,10pt,oneside,onecolumn,final`

Các lớp tài liệu cũng cung cấp các lệnh cho phép người dùng cấu trúc tài liệu của mình thành các phần logic như phần, chương, mục, tiểu mục, v.v. Như bạn có thể đoán, lớp `book` có một bộ lệnh cấu trúc tài liệu rất phong phú.

### Các kiểu trang của LaTeX

Trong LaTeX, định dạng mặc định của đầu trang và chân trang của tài liệu được xác định bởi *kiểu trang* đang được sử dụng. LaTeX cung cấp một số kiểu trang định nghĩa sẵn:

* `trống`: không có đầu trang hoặc chân trang trên các trang
* `plain`: không có đầu trang; chân trang gồm số trang được căn giữa
* `headings`: không có chân trang, đầu trang chứa thông tin đặc thù của lớp và số trang
* `myheadings`: không có chân trang, đầu trang chứa số trang và thông tin do người dùng cung cấp

#### Các kiểu trang mặc định của các lớp tài liệu chuẩn

Trừ khi người dùng chỉ định khác, các lớp tài liệu chuẩn sẽ áp dụng một kiểu trang mặc định:

* trang `article` và `báo cáo` các lớp dùng `plain`
* trang `book` lớp dùng `headings`

#### Thiết lập kiểu trang

LaTeX cốt lõi cung cấp hai lệnh để thay đổi (đặt) kiểu trang:

* `\pagestyle{⟨style⟩}`: đặt kiểu của trang hiện tại, và tất cả các trang sau đó, thành `⟨style⟩`
* `\thispagestyle{⟨style⟩}`: chỉ đặt kiểu của trang hiện tại thành `⟨style⟩`

Kiểu đánh số trang được đặt bằng lệnh `\pagenumbering{⟨numberstyle⟩}`; ví dụ, `\pagenumbering{roman}` dàn trang số trang bằng chữ số La Mã viết thường: i, ii, iii...

### Bố cục trang LaTeX

Vì đầu trang và chân trang là một phần của bố cục/thiết kế tổng thể của trang, nên có thể hữu ích nếu hiểu thêm một chút về mô hình bố cục trang của LaTeX; các bài viết Overleaf sau đây có thể hữu ích:

* để có phần giới thiệu về bố cục trang LaTeX, bài viết Overleaf [Kích cỡ trang và lề](/latex/vi/dinh-dang/07-page-size-and-margins.md) minh họa cách sử dụng [**`geometry`** gói](https://ctan.org/pkg/geometry?lang=en);
* nếu bạn muốn chi tiết hơn, chúng tôi đề xuất bài viết [Hướng dẫn trực quan về các tham số bố cục trang của LaTeX](/latex/vi/bai-viet-chuyen-sau/04-a-visual-guide-to-latex-s-page-layout-parameters.md).

### Đầu trang và chân trang trong các lớp tài liệu và kiểu trang chuẩn của LaTeX

Như đã lưu ý, LaTeX cung cấp một số [kiểu trang tích hợp sẵn](#latex-page-styles) được dùng làm mặc định cho các lớp tài liệu chuẩn. Các ví dụ ngắn sau đây minh họa đầu trang và chân trang mặc định do các lớp tài liệu chuẩn tạo ra bằng kiểu trang mặc định của LaTeX `⟨options⟩` cho từng lớp.

#### Đầu trang và chân trang mặc định của lớp article

```latex
\documentclass{article}
% Chọn kích thước trang đủ nhỏ một cách thuận tiện
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=10cm]{geometry}
\usepackage{lipsum}% dùng cho một chút văn bản giả
\title{Một ví dụ lớp article}
\author{Overleaf}
\begin{document}
\maketitle

\section{Lúc bắt đầu...}
\lipsum[2]

\section{Một mục khác}
\lipsum[1]

\section{Thêm một mục nữa}
\lipsum[1]
```

[Mở **`article`** ví dụ lớp trên Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=An+article+class+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D10cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Blipsum%7D%25+for+some+dummy+text%0A%5Ctitle%7BAn+article+class+example%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cmaketitle%0A%0A%5Csection%7BIn+the+beginning...%7D%0A%5Clipsum%5B2%5D%0A%0A%5Csection%7BAnother+section%7D%0A%5Clipsum%5B1%5D%0A%0A%5Csection%7BYet+another%7D%0A%5Clipsum%5B1%5D%0A%5Cend%7Bdocument%7D)

#### Đầu trang và chân trang mặc định của lớp report

```latex
\documentclass{report}
% Chọn kích thước trang đủ nhỏ một cách thuận tiện
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=10cm]{geometry}
\usepackage{lipsum}% dùng cho một chút văn bản giả
\title{Một ví dụ lớp report}
\author{Overleaf}
\begin{document}
\maketitle
\chapter{Một}
\section{Lúc bắt đầu...}
\lipsum[2]

\section{Một mục khác}
\lipsum[1]

\section{Thêm một mục nữa}
\lipsum[1]
```

[Mở **`báo cáo`** ví dụ lớp trên Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+report+class+example\&snip=%5Cdocumentclass%7Breport%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D10cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Blipsum%7D%25+for+some+dummy+text%0A%5Ctitle%7BA+report+class+example%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cmaketitle%0A%5Cchapter%7BOne%7D%0A%5Csection%7BIn+the+beginning...%7D%0A%5Clipsum%5B2%5D%0A%0A%5Csection%7BAnother+section%7D%0A%5Clipsum%5B1%5D%0A%0A%5Csection%7BYet+another%7D%0A%5Clipsum%5B1%5D%0A%5Cend%7Bdocument%7D)

#### Đầu trang và chân trang mặc định của lớp book

```latex
\documentclass{book}
% Chọn kích thước trang đủ nhỏ một cách thuận tiện
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=10cm]{geometry}
\usepackage{lipsum}% dùng cho một chút văn bản giả
\title{Hồi ký của một người dùng \TeX{}}
\author{Overleaf}
\begin{document}

\frontmatter
\maketitle
Đây là phần đầu sách dùng chữ số La Mã.

\mainmatter
\chapter{Tôi bắt đầu từ đâu}
\lipsum[4]

\section{Lúc bắt đầu...}
\lipsum[1]

\section{Thêm một mục nữa}
\lipsum[1]

\chapter{Những điều tôi nhớ}

\section{Ồ và thêm một mục nữa}
\lipsum[1]
```

[Mở **`book`** ví dụ lớp trên Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+book+class+example\&snip=%5Cdocumentclass%7Bbook%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D10cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Blipsum%7D%25+for+some+dummy+text%0A%5Ctitle%7BMemoirs+of+a+%5CTeX%7B%7D+user%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cfrontmatter%0A%5Cmaketitle%0AThis+is+frontmatter+which+uses+Roman+numerals.%0A%0A%5Cmainmatter%0A%5Cchapter%7BWhere+do+I+start%7D%0A%5Clipsum%5B4%5D%0A%0A%5Csection%7BIn+the+beginning...%7D%0A%5Clipsum%5B1%5D%0A%0A%5Csection%7BYet+another+section%7D%0A%5Clipsum%5B1%5D%0A%0A%5Cchapter%7BThings+I+remember%7D%0A%0A%5Csection%7BOh+and+a+further+section%7D%0A%5Clipsum%5B1%5D%0A%5Cend%7Bdocument%7D)

### Thay đổi đầu trang và chân trang cho các lớp tài liệu LaTeX “không chuẩn”

Các gói/lệnh cần để thay đổi đầu trang và chân trang có thể khác nhau tùy theo lớp tài liệu đang dùng; ví dụ, [Câu hỏi thường gặp TeX](https://texfaq.org/FAQ-fancyhdr#:~:text=The%20scrlayer%2Dscrpage%20package%20provides,and%20has%20several%20predefined%20styles) ghi nhận việc sử dụng [scrlayer-scrpage](https://ctan.org/pkg/scrlayer-scrpage?lang=en) gói, thay vì [fancyhdr](https://ctan.org/pkg/fancyhdr?lang=en)để tích hợp tốt hơn với [các lớp tài liệu KOMA-script](https://ctan.org/pkg/koma-script). Ngoài ra, [lớp tài liệu memoir](https://ctan.org/pkg/memoir?lang=en) có các tính năng riêng (lệnh người dùng) để thay đổi đầu trang và chân trang.

## Sử dụng gói fancyhdr

Để tải `fancyhdr` gói, hãy thêm dòng sau vào phần khai báo đầu tài liệu của bạn:

```latex
\usepackage[⟨options⟩]{fancyhdr}
```

trong đó `⟨options⟩` được giải thích trong [tài liệu gói](http://mirrors.ctan.org/macros/latex/contrib/fancyhdr/fancyhdr.pdf).

### Cấu trúc đầu trang và chân trang của fancyhdr

Sơ đồ sau tóm tắt cấu trúc chung của đầu trang và chân trang được định nghĩa bởi `fancyhdr` cho tài liệu hai mặt:

* đầu trang và chân trang có thể chứa nội dung khác nhau ở trang bên trái (chẵn) và trang bên phải (lẻ)
* đầu trang và chân trang được cấu trúc thành ba “vùng”
  * **L***eft*
  * **C***entre*
  * **R***ight*
* đầu trang và chân trang có thể chứa một đường kẻ (line) tùy chọn

Trong **L** vùng thì nội dung được dàn trang canh trái; ở **C** vùng thì nó được căn giữa và ở **R** vùng thì nó được dàn trang canh phải.

![Sơ đồ cho thấy cấu trúc đầu trang và chân trang của fancyhdr](/files/b609ed92ec6ddf090986dd2e29fddf0a16708a22)

Các lệnh do `fancyhdr` sử dụng các chữ viết tắt một chữ cái, gọi là “tọa độ”, để xác định các vùng cụ thể của đầu trang và chân trang cũng như vị trí trang:

* **`O`** hoặc **`E`**: để chỉ định \*\*`O`trang lẻ hoặc \*\*`E`trang chẵn
* **`H`** hoặc **`F`**: để chỉ \*\*`H`đầu trang hoặc \*\*`F`chân trang
* **`L`**, **`C`** hoặc **`R`**: cho vùng \*\*`L`trái, \*\*`C`giữa và \*\*`R`phải “vùng” của đầu trang hoặc chân trang

### Giới thiệu các lệnh

Phần này thảo luận một số `fancyhdr` lệnh dùng để định nghĩa nội dung của đầu trang và chân trang:

* `\fancyhead[*locations*]{*content*}`
* `\fancyfoot[*locations*]{*content*}`
* `\fancyhf[*locations*]{*content*}`

Mỗi lệnh này sử dụng “tọa độ” để xác định các `*locations*` trong đó `*content*` nên xuất hiện. Tùy theo lệnh bạn dùng, có thể cần tối đa 2 hoặc tối đa 3 tọa độ để xác định đầy đủ `*locations*`.

#### Các lệnh dùng tối đa 2 tọa độ

Các lệnh sau yêu cầu tối đa 2 tọa độ để chỉ định các vị trí cụ thể trong đầu trang hoặc chân trang:

* `\fancyhead[*locations*]{*content*}`: giả định `**H**`tọa độ eader
* `\fancyfoot[*locations*]{*content*}`: giả định `**F**`tọa độ ooter

trong đó `*locations*` là một danh sách tùy chọn các vị trí, được chỉ định bằng 1 hoặc 2 tọa độ, để đặt `*content*`.

**Ví dụ tài liệu hai mặt**

Ví dụ sau được lấy từ `fancyhdr` tài liệu hướng dẫn:

```latex
\documentclass{book}
\usepackage[paperheight=16cm, paperwidth=12cm,% Đặt chiều cao và chiều rộng của trang giấy
includehead,
nomarginpar,% Chúng ta không muốn có đoạn ở lề
textwidth=10cm,% Đặt \textwidth thành 10 cm
headheight=10mm,% Đặt \headheight thành 10 mm
]{geometry}
\usepackage{fancyhdr}
\begin{document}
% Đặt kiểu trang thành "fancy"...
\pagestyle{fancy}
%... rồi cấu hình nó.
\fancyhead{} % xóa tất cả các trường đầu trang
\fancyhead[RO,LE]{\textbf{Hiệu suất của các tân cử nhân}}
\fancyfoot{} % xóa tất cả các trường chân trang
\fancyfoot[LE,RO]{\thepage}
\fancyfoot[LO,CE]{Từ: K. Grant}
\fancyfoot[CO,RE]{Đến: Dean A. Smith}
% Một chút nội dung:
Đây là trang 1.\newpage
Đây là trang 2.
\end{document}
```

[Mở `fancyhdr` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=fancyhdr+package+example\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D10mm%2C%25+Set+%5Cheadheight+to+10mm%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Cbegin%7Bdocument%7D%0A%25+Set+the+page+style+to+%22fancy%22...%0A%5Cpagestyle%7Bfancy%7D%0A%25...+then+configure+it.%0A%5Cfancyhead%7B%7D+%25+clear+all+header+fields%0A%5Cfancyhead%5BRO%2CLE%5D%7B%5Ctextbf%7BThe+performance+of+new+graduates%7D%7D%0A%5Cfancyfoot%7B%7D+%25+clear+all+footer+fields%0A%5Cfancyfoot%5BLE%2CRO%5D%7B%5Cthepage%7D%0A%5Cfancyfoot%5BLO%2CCE%5D%7BFrom%3A+K.+Grant%7D%0A%5Cfancyfoot%5BCO%2CRE%5D%7BTo%3A+Dean+A.+Smith%7D%0A%25+Some+content%3A%0AThis+is+page+1.%5Cnewpage%0AThis+is+page+2.%0A%5Cend%7Bdocument%7D)

Hình sau cho thấy kết quả do ví dụ này tạo ra:

![Ví dụ tài liệu hai mặt được tạo bằng gói fancyhdr của LaTeX](/files/5554c953da74f4ab5064f818faa053b3baa9f86a)

**Ghi chú về các lệnh được dùng**

* **`\fancyhead{}`**: xóa các thiết lập của đầu trang
* **`\fancyfoot{}`**: xóa các thiết lập của chân trang
* **`\fancyhead[RO,LE]{\textbf{Hiệu suất của các tân cử nhân}}`**: sử dụng các vị trí đầu trang **`RO`** (\*\*`R`**ight**`O`**lẻ) và `LE` (**`L`**eft**`E`chẵn) để đặt nội dung `\textbf{Hiệu suất của các tân cử nhân}`
* **`\fancyfoot[LE,RO]{\thepage}`**: sử dụng các vị trí chân trang **`LE`** (\*\*`L`**eft**`E`**chẵn) và `RO` (**`R`**ight**`O`lẻ) để đặt số trang do `\thepage`
* **`\fancyfoot[LO,CE]{Từ: K. Grant}`**: sử dụng các vị trí chân trang **`LO`** (\*\*`L`**eft**`O`**lẻ) và `CE` (**`C`**entre**`E`chẵn) để đặt nội dung `Từ: K. Grant`
* **`\fancyfoot[CO,RE]{Đến: Dean A. Smith}`**: sử dụng các vị trí chân trang **`CO`** (\*\*`C`**entre**`O`**lẻ) và `RE` (**`R`**ight**`E`chẵn) để đặt nội dung `Đến: Dean A. Smith`

**Tài liệu một mặt và hai mặt**

Tính năng [sơ đồ ở trên](#hfstructure) minh họa cấu trúc của đầu trang và chân trang cho một tài liệu hai mặt, chẳng hạn như `book` lớp, hoặc `article`/`báo cáo` các lớp được nạp bằng tùy chọn `twoside`.

**Ví dụ tài liệu một mặt**

Đối với *một mặt* các tài liệu dựa trên các `article` hoặc `báo cáo` lớp, tất cả các trang về thực chất là các trang bên phải nên các “tọa độ” cho `**E**`trang chẵn không áp dụng. Chúng tôi cũng không *cần* cần chỉ định `**O**` tọa độ và có thể dùng một `**L**`, `**C**` hoặc `**R**` giá trị:

```latex
\documentclass{article}
\usepackage[paperheight=16cm, paperwidth=12cm,% Đặt chiều cao và chiều rộng của trang giấy
includehead,
nomarginpar,% Chúng ta không muốn có đoạn ở lề
textwidth=10cm,% Đặt \textwidth thành 10 cm
headheight=10mm,% Đặt \headheight thành 10 mm
]{geometry}
\usepackage{fancyhdr}
\begin{document}
% Đặt kiểu trang thành "fancy"...
\pagestyle{fancy}
\title{Tài liệu một mặt}
\author{Overleaf}
\date{Tháng Tám 2022}
\fancyhf{} % xóa các mục đầu/chân trang hiện có
% Chúng ta không cần chỉ định tọa độ O
\fancyhead[R]{Hello}
\fancyfoot[L]{\thepage}
\maketitle
\section{Giới thiệu}
Một chút nội dung.
\newpage
\section{Tiếp tục...}
\end{document}
```

[Mở `fancyhdr` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Single-sided+fancyhdr+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D10mm%2C%25+Set+%5Cheadheight+to+10mm%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Cbegin%7Bdocument%7D%0A%25+Set+the+page+style+to+%22fancy%22...%0A%5Cpagestyle%7Bfancy%7D%0A%5Ctitle%7BSingle-sided+document%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7BAugust+2022%7D%0A%5Cfancyhf%7B%7D+%25+clear+existing+header%2Ffooter+entries%0A%25+We+don%27t+need+to+specify+the+O+coordinate%0A%5Cfancyhead%5BR%5D%7BHello%7D%0A%5Cfancyfoot%5BL%5D%7B%5Cthepage%7D%0A%5Cmaketitle%0A%5Csection%7BIntroduction%7D%0ASome+content.%0A%5Cnewpage%0A%5Csection%7BContinued...%7D%0A%5Cend%7Bdocument%7D)

Tính năng `fancyhdr` gói sẽ đưa ra cảnh báo nếu bạn cố chỉ định đầu trang hoặc chân trang bằng `**E**` tọa độ trong các tài liệu một mặt:

```latex
\documentclass{article}
\usepackage[paperheight=16cm, paperwidth=12cm,% Đặt chiều cao và chiều rộng của trang giấy
includehead,
nomarginpar,% Chúng ta không muốn có đoạn ở lề
textwidth=10cm,% Đặt \textwidth thành 10 cm
headheight=10mm,% Đặt \headheight thành 10 mm
]{geometry}
\usepackage{fancyhdr}
\begin{document}
% Đặt kiểu trang thành "fancy"...
\pagestyle{fancy}
\title{Cảnh báo không có twoside}
\author{Overleaf}
\date{Tháng 7 năm 2022}
\fancyhead[E]{Hello}% Điều này sẽ kích hoạt một cảnh báo!
\fancyfoot[E]{\thepage}% Điều này sẽ kích hoạt một cảnh báo!
\maketitle
\section{Giới thiệu}
Một chút nội dung.
\newpage
\section{Tiếp tục...}
\end{document}
```

[Mở ***sai*** `fancyhdr` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=fancyhdr+package+warning+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D10mm%2C%25+Set+%5Cheadheight+to+10mm%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Cbegin%7Bdocument%7D%0A%25+Set+the+page+style+to+%22fancy%22...%0A%5Cpagestyle%7Bfancy%7D%0A%5Ctitle%7BWarning+without+twoside%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7BJuly+2022%7D%0A%5Cfancyhead%5BE%5D%7BHello%7D%25+This+triggers+a+warning%21%0A%5Cfancyfoot%5BE%5D%7B%5Cthepage%7D%25+This+triggers+a+warning%21%0A%5Cmaketitle%0A%5Csection%7BIntroduction%7D%0ASome+content.%0A%5Cnewpage%0A%5Csection%7BContinued...%7D%0A%5Cend%7Bdocument%7D)

Như có thể thấy trong ảnh chụp màn hình chú thích này:

![Một cảnh báo ví dụ từ gói fancyhdr](/files/dd3514f770ddaddfa82a31d5207bd780c0d80db9)

ví dụ trên tạo ra các cảnh báo:

```latex
Package fancyhdr Warning: \fancyhead's `E' option without twoside option is useless on input line 23.
Package fancyhdr Warning: \fancyfoot's `E' option without twoside option is useless on input line 24.
```

**Sử dụng một tọa độ trong tài liệu hai mặt: bỏ E và O**

Nếu bạn dùng `\fancyhead` hoặc `\fancyfoot` trong một tài liệu hai mặt nhưng bỏ **`E`** và **`O`** khỏi một vị trí và dùng *chỉ 1 tọa độ*, **`L`**, **`C`** hoặc **`R`**, còn `*content*` sẽ được đặt ở vị trí đó trên *các trang chẵn và lẻ*.

**Ví dụ**

Ví dụ sau minh họa việc bỏ **`E`** và **`O`** từ `*locations*` được chỉ định trong `\fancyhead` và \\`fancyfoot`. Nó cũng sử dụng các lệnh sau:

* `\pagestyle{fancy}` để đặt kiểu trang thành kiểu được cấu hình bởi `fancyhdr`
* `\fancyhead{}\fancyfoot{}` được dùng để xóa tất cả đầu trang và chân trang (xem thêm `\fancyhf{}`)

```latex
\begin{document}
% Đặt kiểu trang thành "fancy"...
\pagestyle{fancy}
%... rồi cấu hình nó.

% Xóa tất cả đầu trang và chân trang (xem thêm \fancyhf{})
\fancyhead{}\fancyfoot{}

% Đặt vị trí đầu trang ở giữa nhưng không chỉ định O hoặc E
\fancyhead[C]{Ở giữa đầu trang trên tất cả các trang: \thepage}

% Đặt vị trí chân trang bên trái nhưng không chỉ định O hoặc E
\fancyfoot[L]{Ở bên trái chân trang trên tất cả các trang: \thepage}

% Một chút nội dung:
Đây là trang 1.\newpage
Đây là trang 2.
```

[Mở `fancyhdr` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=fancyhdr+package+example\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D10mm%2C%25+Set+%5Cheadheight+to+10mm%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Cbegin%7Bdocument%7D%0A%25+Set+the+page+style+to+%22fancy%22...%0A%5Cpagestyle%7Bfancy%7D%0A%25...+then+configure+it.%0A%0A%25+Clear+all+headers+and+footers+%28see+also+%5Cfancyhf%7B%7D%29%0A%5Cfancyhead%7B%7D%5Cfancyfoot%7B%7D%0A%0A%25+Set+the+Centre+header+location+but+do+not+specify+O+or+E%0A%5Cfancyhead%5BC%5D%7BIn+the+centre+of+the+header+on+all+pages%3A+%5Cthepage%7D%0A%0A%25+Set+the+Left+footer+location+but+do+not+specify+O+or+E%0A%5Cfancyfoot%5BL%5D%7BOn+the+left+of+the+footer+on+all+pages%3A+%5Cthepage%7D%0A%0A%25+Some+content%3A%0AThis+is+page+1.%5Cnewpage%0AThis+is+page+2.%0A%5Cend%7Bdocument%7D)

Hình sau là một phiên bản có chú thích của kết quả do mã này tạo ra:

![Sử dụng một tọa độ fancyhdr trong tài liệu LaTeX hai mặt](/files/f7aaecf137f0f9a0d7fe752dec17acd714e0d72e)

Như có thể thấy từ hình này, đoạn mã sau

```latex
\fancyhead[C]{Ở giữa đầu trang trên tất cả các trang: \thepage}
```

đặt \*\*`C`tọa độ giữa của đầu trang nhưng không chỉ định nó có nên xuất hiện trên \*\*`O`trang lẻ hoặc \*\*`E`trang chẵn. Việc bỏ qua **`O`** và **`E`** các tọa độ dẫn đến nội dung đầu trang ở vùng \*\*`C`giữa xuất hiện trên các trang lẻ và chẵn.

Ngoài ra, đoạn mã này

```latex
\fancyfoot[L]{Ở bên trái chân trang trên tất cả các trang: \thepage}
```

đặt \*\*`L`vị trí bên trái của chân trang nhưng không chỉ định nó có nên xuất hiện trên các trang lẻ hay chẵn. Việc bỏ qua **`O`** và **`E`** các tọa độ dẫn đến nội dung đầu trang ở vùng \*\*`L`nội dung vùng \*\*trái xuất hiện trong vùng bên trái của chân trang trên các trang lẻ và chẵn.

**Sử dụng một tọa độ trong tài liệu hai mặt: bỏ L, C và R**

Nếu bạn bỏ qua **`L`**, **`C`** và **`R`** khỏi một vị trí trong tài liệu hai mặt, và dùng *chỉ 1 tọa độ*, **`E`** hoặc **`O`**, còn `*content*` sẽ được *được đặt trong cả ba vùng* trên các trang chẵn hoặc lẻ được chỉ định trong vị trí đó.

**Ví dụ**

Ví dụ sau đặt đầu trang và chân trang cho các trang chẵn và lẻ nhưng không lệnh nào trong số `*locations*` trong `\fancyhead` và `\fancyfoot` các lệnh chỉ định “vùng”, **`L`**, **`C`** hoặc **`R`**, trong đó `*content*` nên được đặt. Lưu ý cách `*content*` được lặp lại trong cả ba vùng.

```latex
\begin{document}
% Đặt kiểu trang thành "fancy"...
\pagestyle{fancy}
%... rồi cấu hình nó.

% Xóa tất cả đầu trang và chân trang (xem thêm \fancyhf{})
\fancyhead{}\fancyfoot{}

% Đặt đầu trang và chân trang cho trang Chẵn
% trang nhưng bỏ qua vùng (L, C hoặc R)
\fancyhead[E]{Header: even page \thepage}
\fancyfoot[E]{Footer: even page \thepage}

% Đặt đầu trang và chân trang cho trang Lẻ
% trang nhưng bỏ qua vùng (L, C hoặc R)
\fancyhead[O]{Header: odd page \thepage}
\fancyfoot[O]{Footer: odd page \thepage}

% Một chút nội dung:
Đây là trang 1.\newpage
Đây là trang 2.
```

[Mở `fancyhdr` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=fancyhdr+package+example\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D10mm%2C%25+Set+%5Cheadheight+to+10mm%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Cbegin%7Bdocument%7D%0A%25+Set+the+page+style+to+%22fancy%22...%0A%5Cpagestyle%7Bfancy%7D%0A%25...+then+configure+it.%0A%0A%25+Clear+all+headers+and+footers+%28see+also+%5Cfancyhf%7B%7D%29%0A%5Cfancyhead%7B%7D%5Cfancyfoot%7B%7D%0A%0A%25+Set+the+header+and+footer+for+Even%0A%25+pages+but+omit+the+zone+%28L%2C+C+or+R%29%0A%5Cfancyhead%5BE%5D%7BHeader%3A+even+page+%5Cthepage%7D%0A%5Cfancyfoot%5BE%5D%7BFooter%3A+even+page+%5Cthepage%7D%0A%0A%25+Set+the+header+and+footer+for+Odd%0A%25+pages+but+omit+the+zone+%28L%2C+C+or+R%29%0A%5Cfancyhead%5BO%5D%7BHeader%3A+odd+page+%5Cthepage%7D%0A%5Cfancyfoot%5BO%5D%7BFooter%3A+odd+page+%5Cthepage%7D%0A%0A%25+Some+content%3A%0AThis+is+page+1.%5Cnewpage%0AThis+is+page+2.%0A%5Cend%7Bdocument%7D)

Hình sau là một phiên bản có chú thích của kết quả do mã này tạo ra:

![](/files/e5f04e4df58050a59ad5c36465ed56d1a3732a18)

Đoạn mã sau đặt đầu trang và chân trang cho **`E`trang chẵn nhưng bỏ qua một tọa độ vùng (`L`**, **`C`** hoặc **`R`**):

```latex
\fancyhead[E]{Header: even page \thepage}
\fancyfoot[E]{Footer: even page \thepage}
```

Điều này dẫn đến:

* **đầu trang của trang chẵn** chứa `Đầu trang: trang chẵn \thepage` trong cả ba vùng đầu trang (**`L`**, **`C`** và **`R`**)
* **chân trang của trang chẵn** chứa `Chân trang: trang chẵn \thepage` trong cả ba vùng chân trang (**`L`**, **`C`** và **`R`**)

Đoạn mã sau đặt đầu trang và chân trang cho **`O`trang chẵn nhưng cũng bỏ qua một tọa độ vùng (`L`**, **`C`** hoặc **`R`**):

```latex
\fancyhead[O]{Header: odd page \thepage}
\fancyfoot[O]{Footer: odd page \thepage}
```

Điều này tạo ra kết quả tương tự như đối với các trang chẵn:

* **đầu trang của trang lẻ** chứa `Đầu trang: trang lẻ \thepage` trong cả ba vùng đầu trang (**`L`**, **`C`** và **`R`**)
* **chân trang của trang lẻ** chứa `Chân trang: trang lẻ \thepage` trong cả ba vùng chân trang (**`L`**, **`C`** và **`R`**)

#### \fancyhf: sử dụng tối đa 3 tọa độ

`\fancyhf` là một lệnh tổng quát hơn, có thể được dùng để kết hợp các chỉ định cho đầu trang và chân trang. Để làm điều này, nó hỗ trợ các tọa độ **`H`** (cho \*\*`H`\*\*đầu trang) và **`F`** (cho \*\*`F`\*\*chân trang). Dạng tổng quát của lệnh là

* `\fancyhf[*locations*]{*content*}`

trong đó `*locations*` là một danh sách vị trí tùy chọn, phân tách bằng dấu phẩy, được chỉ định bằng 2 hoặc 3 tọa độ để đặt `*content*`.

Vì lệnh này có thể chỉ định nội dung của đầu trang *và* và chân trang, bạn cần tọa độ thứ ba, **`H`** hoặc **`F`** để chỉ định đầy đủ `*locations*`. Ví dụ, để dùng (tham chiếu đến) vùng giữa của chân trang ở các trang bên trái (trang chẵn) bạn sẽ chỉ định điều này bằng ba tọa độ **`EFC`**:

* \*\*`E`\*\*trang chẵn
* \*\*`F`chân trang
* \*\*`C`\*\*vùng giữa

Lưu ý rằng thứ tự của các tọa độ không quan trọng: **`EFC`** cho kết quả giống như **`FEC`** và tương tự như vậy.

Ví dụ sau sử dụng `\fancyhf` để đặt nội dung vào các \*\*`C`\*\*vùng giữa của tất cả đầu trang và chân trang:

```latex
\begin{document}
\pagestyle{fancy}
\fancyhf{}
\fancyhf[EHC]{Even+Header+Centre}
\fancyhf[EFC]{Even+Footer+Centre}
\fancyhf[OFC]{Odd+Footer+Centre}
\fancyhf[OHC]{Odd+Header+Centre}
\lipsum[1]\newpage\lipsum[1]
```

[Mở `\fancyhf` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+fancyhf+command\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D10mm%2C%25+Set+%5Cheadheight+to+10mm%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Blipsum%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cpagestyle%7Bfancy%7D%0A%5Cfancyhf%7B%7D%0A%5Cfancyhf%5BEHC%5D%7BEven%2BHeader%2BCentre%7D%0A%5Cfancyhf%5BEFC%5D%7BEven%2BFooter%2BCentre%7D%0A%5Cfancyhf%5BOFC%5D%7BOdd%2BFooter%2BCentre%7D%0A%5Cfancyhf%5BOHC%5D%7BOdd%2BHeader%2BCentre%7D%0A%5Clipsum%5B1%5D%5Cnewpage%5Clipsum%5B1%5D%0A%5Cend%7Bdocument%7D)

Hình minh họa sau là phiên bản có chú thích của kết quả được tạo ra bởi ví dụ trước:

![Ví dụ sử dụng lệnh \fancyhf của fancyhdr](/files/6d52afb66ef80740bc70eb5d9206e5fab3c835e7)

### Ví dụ

#### Sử dụng các đường kẻ cơ bản trong đầu trang và chân trang

Các lệnh liên quan đến đường kẻ sau đây được cung cấp bởi phiên bản 4.x của `fancyhdr`:

* **`\headrulewidth`**: macro để xác định độ dày của đường kẻ dưới đầu trang
* **`\footrulewidth`**: macro để xác định độ dày của đường kẻ trên chân trang
* **`\headruleskip`**: macro để xác định khoảng cách giữa đường kẻ và văn bản đầu trang (chỉ có từ phiên bản 4.0)
* **`\footruleskip`**: macro để xác định khoảng cách giữa đường kẻ và văn bản chân trang
* **`\headrule`** macro để định nghĩa lại hoàn toàn các quy tắc đầu trang (đường kẻ)
* **`\footrule`** macro để định nghĩa lại hoàn toàn các quy tắc chân trang (đường kẻ)
* **`\headwidth`** một tham số độ dài xác định tổng chiều rộng của đầu trang và chân trang

**GHI CHÚ**:

* giá trị mặc định của `\headrulewidth` là `0.4pt` và giá trị mặc định của `\footrulewidth` là `0pt` nên theo mặc định, đường kẻ đó không được hiển thị trong chân trang.
* bạn phải dùng `\renewcommand` để thay đổi giá trị độ rộng được lưu bởi `\headrulewidth` hoặc `\footrulewidth`
* tương tự, dùng `\renewcommand` để thay đổi khoảng cách giữa văn bản đầu trang hoặc chân trang, được đặt bởi `\headruleskip` hoặc `\footruleskip` tương ứng

Ví dụ:

```latex
\renewcommand{\headrulewidth}{2pt}
\renewcommand{\footrulewidth}{4pt}
\renewcommand{\headruleskip}{10mm}
\renewcommand{\footruleskip}{10pt}
```

* **Lưu ý**: Nó là *vì* các lệnh sau đây là *macro*
* * `\headrulewidth`
  * `\footrulewidth`
  * `\headruleskip`
  * `\footruleskip`

mà bạn *phải* dùng `\renewcommand` để thay đổi các giá trị được lưu bởi các lệnh này. Đoạn mã sau *sẽ không hoạt động*:

```latex
\setlength{\headrulewidth}{2pt}% không hoạt động
\setlength{\headruleskip}{10mm}% cũng sẽ không hoạt động
```

Ví dụ tiếp theo thay đổi độ rộng đường kẻ và cho thấy cách sửa khoảng cách giữa các đường kẻ (đường) và văn bản đầu trang và chân trang—sử dụng `\headruleskip` và `\footruleskip`:

```latex
\begin{document}
% Đặt kiểu trang thành "fancy"...
\pagestyle{fancy}
%... rồi cấu hình nó.
\renewcommand{\headruleskip}{10mm}
\renewcommand{\footruleskip}{10pt}
\renewcommand{\headrulewidth}{2pt}
\renewcommand{\footrulewidth}{4pt}
% Một chút nội dung:
\chapter{Thiết lập điều chỉnh}
\section{Trang 1}
Đây là trang 1.
\newpage
\section{Trang 2}
Đây là trang 2.
\end{document}
```

[Mở `fancyhdr` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=fancyhdr+package+example\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0A%25+Set+%5Cheadheight+to+15mm+to+accommodate%0A%25+value+of+%5Cheadruleskip%0Aheadheight%3D15mm%2C%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Cbegin%7Bdocument%7D%0A%25+Set+the+page+style+to+%22fancy%22...%0A%5Cpagestyle%7Bfancy%7D%0A%25...+then+configure+it.%0A%5Crenewcommand%7B%5Cheadruleskip%7D%7B10mm%7D%0A%5Crenewcommand%7B%5Cfootruleskip%7D%7B10pt%7D%0A%5Crenewcommand%7B%5Cheadrulewidth%7D%7B2pt%7D%0A%5Crenewcommand%7B%5Cfootrulewidth%7D%7B4pt%7D%0A%25+Some+content%3A%0A%5Cchapter%7BWrangling+settings%7D%0A%5Csection%7BPage+1%7D%0AThis+is+page+1.%0A%5Cnewpage%0A%5Csection%7BPage+2%7D%0AThis+is+page+2.%0A%5Cend%7Bdocument%7D)

#### Sử dụng các đường kẻ trang trí trong đầu trang

Ví dụ sau được phái sinh từ một ví dụ có trong tài liệu của `fancyhdr` gói, sử dụng [`fourier-orns` gói](https://ctan.org/pkg/fourier?lang=en).

```latex
\documentclass{book}
\usepackage[paperheight=16cm, paperwidth=12cm,% Đặt chiều cao và chiều rộng của trang giấy
includehead,
nomarginpar,% Chúng ta không muốn có đoạn ở lề
textwidth=10cm,% Đặt \textwidth thành 10 cm
headheight=14pt,% Đặt \headheight thành 14pt để chứa đường kẻ trang trí của chúng ta!
]{geometry}
\usepackage{fourier-orns}
\usepackage{fancyhdr}
\renewcommand{\headrule}{%
\vspace{-8pt}\hrulefill
\raisebox{-2.1pt}{\quad\decofourleft\decotwo\decofourright\quad}\hrulefill}
\title{Đường kẻ trang trí}
\author{Overleaf}
\date{Tháng Tám 2022}
\begin{document}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE]{\nouppercase{\rightmark\hfill\leftmark}}
\fancyhead[RO]{\nouppercase{\leftmark\hfill\rightmark}}
\fancyfoot[LE,RO]{\hfill\thepage\hfill}
\chapter{Đường kẻ fancy!}
\section{Giới thiệu}
Ví dụ này được lấy từ tài liệu \texttt{fancyhdr}.
\newpage
\section{Xem đầu trang}
\newpage
\section{Vâng, rất gọn gàng!}
\end{document}
```

[Mở ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Drawing+fancy+rules+in+headers\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D14pt%2C%25+Set+%5Cheadheight+to+14pt+to+accommodate+our+fancy+rule%21%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Bfourier-orns%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Crenewcommand%7B%5Cheadrule%7D%7B%25%0A%5Cvspace%7B-8pt%7D%5Chrulefill%0A%5Craisebox%7B-2.1pt%7D%7B%5Cquad%5Cdecofourleft%5Cdecotwo%5Cdecofourright%5Cquad%7D%5Chrulefill%7D%0A%5Ctitle%7BDecorative+line%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7BAugust+2022%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cpagestyle%7Bfancy%7D%0A%5Cfancyhf%7B%7D%0A%5Cfancyhead%5BLE%5D%7B%5Cnouppercase%7B%5Crightmark%5Chfill%5Cleftmark%7D%7D%0A%5Cfancyhead%5BRO%5D%7B%5Cnouppercase%7B%5Cleftmark%5Chfill%5Crightmark%7D%7D%0A%5Cfancyfoot%5BLE%2CRO%5D%7B%5Chfill%5Cthepage%5Chfill%7D%0A%5Cchapter%7BFancy+rules%21%7D%0A%5Csection%7BIntroduction%7D%0AThis+example+is+taken+from+the+%5Ctexttt%7Bfancyhdr%7D+documentation.%0A%5Cnewpage%0A%5Csection%7BSee+the+header%7D%0A%5Cnewpage%0A%5Csection%7BYes%2C+very+neat%21%7D%0A%5Cend%7Bdocument%7D)

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

![Một ví dụ tạo đường kẻ trang trí trong đầu trang qua gói fourier-orns](/files/e28a83835df7d8d837677a4eae9a0e88252613ef)

* Ghi chú về các lệnh trong ví dụ này
  * **`\headrule`**: một macro xác định cách vẽ đường trang trí trong đầu trang. Ở đây nó được định nghĩa lại để vẽ một đường chứa các họa tiết từ [`fourier-orns` gói](https://ctan.org/pkg/fourier?lang=en).
  * **`\leftmark`** và **`\rightmark`**: các lệnh này được dùng để lấy “dữ liệu đánh dấu” được chèn bởi các lệnh phân chia mục của LaTeX. Để có lời giải thích đầy đủ hơn về các lệnh này, chúng tôi khuyên bạn xem bài viết đi kèm [*LaTeX dàn trang đầu trang và chân trang như thế nào?*](/latex/vi/bai-viet-chuyen-sau/23-how-does-latex-typeset-headers-and-footers.md)
  * **`\nouppercase`**: một lệnh được cung cấp bởi `fancyhdr` gói để ngăn văn bản đầu trang hoặc chân trang được dàn chữ hoa, vốn là kiểu mặc định cho đầu trang và chân trang của LaTeX

#### cảnh báo fancyhdr: \headheight quá nhỏ

Nếu bạn nhận được `fancyhdr` cảnh báo rằng `\headheight` quá nhỏ thì bạn *có thể* đặt lại nó về một giá trị nào đó `chiều cao` bằng cách viết

```latex
\setlength{\headheight}{height}
```

nhưng [giải pháp được khuyến nghị là dùng `geometry` gói](https://tex.stackexchange.com/a/100408) và áp dụng tùy chọn `headheight=*height*` để đặt giá trị của `\headheight` sang `*height*`.

Ví dụ sau xem lại ví dụ lớp book trước đó của chúng ta và đặt lại `\headheight` về 2cm thông qua `headheight=2cm`:

```latex
\documentclass{book}
\usepackage[paperheight=16cm, paperwidth=12cm,% Đặt chiều cao và chiều rộng của trang giấy
includehead,% Xem bên dưới để biết giải thích
nomarginpar,% Chúng ta không muốn có đoạn ở lề
textwidth=10cm,% Đặt \textwidth thành 10 cm
headheight=2cm,% Đặt \headheight thành 2cm
showframe % Hiển thị bố cục trang
]{geometry}
\title{Hồi ký của một người dùng \TeX{}}
\author{Overleaf}
\begin{document}

\frontmatter
\maketitle
Đây là phần đầu sách dùng chữ số La Mã.

\mainmatter
\chapter{Tôi bắt đầu từ đâu}
Chương 1: Một chương ngắn kết thúc ở trang 1.

\chapter{Những điều tôi nhớ}
Chương 2: Bắt đầu ở trang 3, nên \LaTeX{} chèn một trang 2 “trống”.
\end{document}
```

[Mở trong Overleaf: ví dụ để đặt `\headheight` sử dụng gói geometry](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Setting+headheight+using+the+geometry+package\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%25+See+below+for+an+explanation%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D2cm%2C%25+Set+%5Cheadheight+to+2cm%0Ashowframe+%25+Show+the+page+layout%0A%5D%7Bgeometry%7D%0A%5Ctitle%7BMemoirs+of+a+%5CTeX%7B%7D+user%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cfrontmatter%0A%5Cmaketitle%0AThis+is+frontmatter+which+uses+Roman+numerals.%0A%0A%5Cmainmatter%0A%5Cchapter%7BWhere+do+I+start%7D%0AChapter+1%3A+A+short+chapter+that+ends+on+page+1.%0A%0A%5Cchapter%7BThings+I+remember%7D%0AChapter+2%3A+Starts+on+page+3%2C+so+%5CLaTeX%7B%7D+inserts+a+%60%60blank%27%27+page+2.%0A%5Cend%7Bdocument%7D)

**Ghi chú về gói geometry**

Ví dụ ở trên sử dụng một số tùy chọn của `geometry` gói:

* `nomarginpar`: chỉ định rằng chúng ta không muốn bất kỳ đoạn chú thích lề nào
* `textwidth=10cm`: đặt một giá trị (10cm) cho `\textwidth`, một trong các [tham số bố cục trang của LaTeX](/latex/vi/bai-viet-chuyen-sau/04-a-visual-guide-to-latex-s-page-layout-parameters.md)
* `headheight=2cm`: đặt một giá trị (2mm) cho `\headheight`, một trong các [tham số bố cục trang của LaTeX](/latex/vi/bai-viet-chuyen-sau/04-a-visual-guide-to-latex-s-page-layout-parameters.md)
* `showframe`: vẽ bố cục trang

Tính năng `geometry` gói này cũng cung cấp các tùy chọn ảnh hưởng đến cách nó tính toán một số giá trị cho các tham số bố cục trang của LaTeX; ví dụ:

* `includehead`
* `includefoot`

Ví dụ của chúng ta (ở trên) đã dùng `includehead` để đảm bảo rằng chiều cao của vùng văn bản bị ảnh hưởng trực tiếp bởi việc thay đổi giá trị của `headheight`. Sơ đồ sau, được sao chép từ `geometry` tài liệu của gói, cho thấy cách các `includehead` và `includefoot` tùy chọn ảnh hưởng đến việc tính toán chiều cao phần văn bản của tài liệu:

![Hình từ tài liệu gói geometry cho thấy cách các tùy chọn includehead và includefoot ảnh hưởng đến việc tính toán chiều cao phần văn bản của tài liệu](/files/d47a78e695210a49a04a0d8fc312696b7e0cc4ce)

Lưu ý rằng `geometry` gói này đề cập đến chiều cao của vùng văn bản thông qua tùy chọn `textheight` trong khi LaTeX dùng tham số có tên tương tự [`\textheight` tham số bố cục trang](/latex/vi/bai-viet-chuyen-sau/04-a-visual-guide-to-latex-s-page-layout-parameters.md#notes-on-the-page-layout-parameters-and-equations).

#### Chân trang chứa trang X của N

Nguồn: phiên bản đã chỉnh sửa của mã được đăng trên tex.stackexchange: <https://tex.stackexchange.com/a/282840>.

Ví dụ này tạo một chân trang hiển thị số trang hiện tại và tổng số trang. Nó sử dụng [`lastpage` gói](https://ctan.org/pkg/lastpage?lang=en) cùng với một phiên bản đã chỉnh sửa của `plain` kiểu trang được triển khai thông qua `\fancypagestyle` lệnh được cung cấp bởi `fancyhdr`.

```latex
\documentclass[12pt]{article}
\usepackage[paperheight=16cm, paperwidth=12cm,% Đặt chiều cao và chiều rộng của trang giấy
includehead,% Xem bên dưới để biết giải thích
nomarginpar,% Chúng ta không muốn có đoạn ở lề
textwidth=10cm,% Đặt \textwidth thành 10 cm
headheight=16pt % Đặt \headheight thành 16pt để tránh cảnh báo fancyhr
]{geometry}
\usepackage{lastpage}
\usepackage{fancyhdr}
\usepackage{lipsum} % chỉ để có văn bản giả
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[C]{\thepage\ của \pageref{LastPage}}
\fancypagestyle{plain}{%
  \renewcommand{\headrulewidth}{0pt}%
  \fancyhf{}%
  \fancyfoot[C]{\thepage\ của \pageref{LastPage}}}
\begin{document}
\title{Bản trình diễn fancyhdr khác}
\author{\texttt{tex.stackexchange} \textit{et al}}
\maketitle

\lipsum
\end{document}
```

[Mở ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Footers+with+page+X+of+Y\&snip=%5Cdocumentclass%5B12pt%5D%7Barticle%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%25+See+below+for+an+explanation%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D16pt+%25+Set+%5Cheadheight+to+16pt+to+avoid+fancyhr+warnings%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Blastpage%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Cusepackage%7Blipsum%7D+%25+just+for+mock+text%0A%5Cpagestyle%7Bfancy%7D%0A%5Crenewcommand%7B%5Cheadrulewidth%7D%7B0pt%7D%0A%5Cfancyfoot%5BC%5D%7B%5Cthepage%5C+of+%5Cpageref%7BLastPage%7D%7D%0A%5Cfancypagestyle%7Bplain%7D%7B%25%0A++%5Crenewcommand%7B%5Cheadrulewidth%7D%7B0pt%7D%25%0A++%5Cfancyhf%7B%7D%25%0A++%5Cfancyfoot%5BC%5D%7B%5Cthepage%5C+of+%5Cpageref%7BLastPage%7D%7D%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctitle%7BAnother+fancyhdr+demo%7D%0A%5Cauthor%7B%5Ctexttt%7Btex.stackexchange%7D+%5Ctextit%7Bet+al%7D%7D%0A%5Cmaketitle%0A%0A%5Clipsum%0A%5Cend%7Bdocument%7D)

#### Tạo các trang hoàn toàn trắng: không đầu trang hay chân trang

Như đã lưu ý trong [`fancyhdr` tài liệu gói](http://mirrors.ctan.org/macros/latex/contrib/fancyhdr/fancyhdr.pdf), nếu bạn tạo một tài liệu bằng

* trang `book` lớp *không có* trang `openany` tùy chọn, hoặc
* trang `báo cáo` lớp với `openright` tùy chọn

bất kỳ phần nào (`\part{...}`) và chương (`\chapter{...}`) sẽ bắt đầu ở các trang lẻ (bên phải).

Đôi khi, LaTeX cần chèn một trang “trống” để đảm bảo chương hoặc phần tiếp theo bắt đầu ở một trang bên phải—nhưng trang “trống” đó vẫn sẽ chứa các đầu trang mà nhiều người cho là xấu.

**Ví dụ về các trang "trống" trong tài liệu lớp book**

Các `book` ví dụ của lớp này tạo ra 5 trang, bao gồm 2 trang chương hướng sang bên phải.

```latex
\begin{document}

\frontmatter
\maketitle
Đây là phần đầu sách dùng chữ số La Mã.

\mainmatter
\chapter{Tôi bắt đầu từ đâu}
Chương 1: Một chương ngắn kết thúc ở trang 1.

\chapter{Những điều tôi nhớ}
Chương 2: Bắt đầu ở trang 3, nên \LaTeX{} chèn một trang 2 “trống”.

\end{document}
```

[Mở `book` ví dụ lớp trên Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demonstrating+blank+pages\&snip=%5Cdocumentclass%7Bbook%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D10cm%5D%7Bgeometry%7D%0A%5Ctitle%7BMemoirs+of+a+%5CTeX%7B%7D+user%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cfrontmatter%0A%5Cmaketitle%0AThis+is+frontmatter+which+uses+Roman+numerals.%0A%0A%5Cmainmatter%0A%5Cchapter%7BWhere+do+I+start%7D%0AChapter+1%3A+A+short+chapter+that+ends+on+page+1.%0A%0A%5Cchapter%7BThings+I+remember%7D%0AChapter+2%3A+Starts+on+page+3%2C+so+%5CLaTeX%7B%7D+inserts+a+%60%60blank%27%27+page+2.%0A%0A%5Cend%7Bdocument%7D)

Như hình minh họa có chú thích sau cho thấy, chương 2 bắt đầu ở trang 3 vì LaTeX chèn trang 2 vốn về danh nghĩa là “trống” nhưng lại chứa một đầu trang không đẹp mắt.

![Ví dụ về các trang trống trong tài liệu lớp book](/files/140e1ee283cea73383f223a374022795c090f4e8)

Có nhiều cơ chế—mã và gói—có thể được dùng để đảm bảo các trang được chèn, như trang 2 ở trên, hoàn toàn trống. Sau đây là một vài ví dụ:

* dùng `emptypage` gói bằng cách thêm dòng sau vào phần mở đầu tài liệu của bạn:

```latex
\usepackage{emptypage}
```

* chèn thủ công một trang trống ở cuối chương 1 để chương 2 tự nhiên bắt đầu trên một trang bên phải, loại bỏ nhu cầu để LaTeX ép tạo một trang mới. Đoạn mã sau được đề xuất trong `fancyhdr` tài liệu của gói:

```latex
\clearpage
\begingroup
\pagestyle{empty}\cleardoublepage
\endgroup
```

* tương tự, bạn có thể tạo một trang mới ở cuối chương 1 và đặt kiểu của nó thành trống bằng cách dùng `\thispagestyle{empty}`:

```latex
\newpage\thispagestyle{empty}
```

Để biết thêm thông tin và ví dụ về việc sử dụng các trang thực sự trống, hãy tham khảo [TUG FAQ](https://texfaq.org/FAQ-reallyblank) hoặc tìm kiếm [các câu hỏi được gắn thẻ `blank-page` trên TeX.stackechange](https://tex.stackexchange.com/questions/tagged/blank-page).

* **MẸO**: TeX FAQ có một mục với tiêu đề [để loại bỏ số trang](https://texfaq.org/FAQ-nopageno%7CHow) chứa một số lời khuyên hữu ích.

#### Thay đổi kiểu của một trang đơn

Đôi khi việc thay đổi kiểu của một trang cụ thể là tiện lợi; ví dụ, loại bỏ đầu trang và chân trang khỏi trang chương hiện tại:

```latex
\begin{document}
\maketitle
\chapter{Sử dụng các kiểu trang khác nhau}
\lipsum[1] % thông qua \usepackage{lipsum}
\chapter{Chương mẫu}
\thispagestyle{empty} % xóa đầu trang/chân trang khỏi trang chương
\lipsum[1]
\clearpage
\section{Mục mới}
\lipsum[1]
\end{document}
```

[Mở ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Setting+the+style+of+a+single+page\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cusepackage%7Blipsum%7D%0A%5Ctitle%7BChanging+the+style+of+a+single+page%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cmaketitle%0A%5Cchapter%7BUsing+different+page+styles%7D%0A%5Clipsum%5B1%5D+%25+via+%5Cusepackage%7Blipsum%7D%0A%5Cchapter%7BSample+Chapter%7D%0A%5Cthispagestyle%7Bempty%7D+%25+remove+headers%2Ffooters+from+the+chapter+page%0A%5Clipsum%5B1%5D%0A%5Cclearpage%0A%5Csection%7BNew+section%7D%0A%5Clipsum%5B1%5D%0A%5Cend%7Bdocument%7D)

#### Đầu trang hoặc chân trang nhiều dòng

Đầu trang và chân trang được tạo bởi `fancyhdr` có thể chứa nhiều dòng. Ví dụ sau dựa trên `fancyhdr` tài liệu nhưng được mở rộng để bao gồm một đầu trang nhiều dòng. Ví dụ này sử dụng `datetime2` lệnh gói `\DTMnow` để chèn ngày mà tài liệu nháp được dàn trang. Lệnh `\\` được dùng để kết thúc dòng đầu tiên của đầu trang.

```latex
\documentclass{book}
\usepackage[paperheight=16cm, paperwidth=12cm,% Đặt chiều cao và chiều rộng của trang giấy
includehead,
nomarginpar,% Chúng ta không muốn có đoạn ở lề
textwidth=10cm,% Đặt \textwidth thành 10 cm
headheight=25pt,% Đặt \headheight thành 25pt để chứa đầu trang nhiều dòng
]{geometry}
\usepackage{fancyhdr}
\usepackage{datetime2}
\begin{document}
% Đặt kiểu trang thành "fancy"...
\pagestyle{fancy}
%... rồi cấu hình nó.
\fancyhead{} % xóa tất cả các trường đầu trang
\fancyhead[RO,LE]{\textbf{BẢN THẢO} (Dàn trang \DTMnow)\\\textbf{Hiệu suất của các sinh viên mới tốt nghiệp}}
\fancyfoot{} % xóa tất cả các trường chân trang
\fancyfoot[LE,RO]{\thepage}
\fancyfoot[LO,CE]{Từ: K. Grant}
\fancyfoot[CO,RE]{Đến: Dean A. Smith}
% Một chút nội dung:
Đây là trang 1.\newpage
Đây là trang 2.
\end{document}
```

[Mở `fancyhdr` ví dụ này trong Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Multiline+header+fancyhdr+package+example\&snip=%5Cdocumentclass%7Bbook%7D%0A%5Cusepackage%5Bpaperheight%3D16cm%2C+paperwidth%3D12cm%2C%25+Set+the+height+and+width+of+the+paper%0Aincludehead%2C%0Anomarginpar%2C%25+We+don%27t+want+any+margin+paragraphs%0Atextwidth%3D10cm%2C%25+Set+%5Ctextwidth+to+10cm%0Aheadheight%3D25pt%2C%25+Set+%5Cheadheight+to+25pt+to+accommodate+the+multiline+header%0A%5D%7Bgeometry%7D%0A%5Cusepackage%7Bfancyhdr%7D%0A%5Cusepackage%7Bdatetime2%7D%0A%5Cbegin%7Bdocument%7D%0A%25+Set+the+page+style+to+%22fancy%22...%0A%5Cpagestyle%7Bfancy%7D%0A%25...+then+configure+it.%0A%5Cfancyhead%7B%7D+%25+clear+all+header+fields%0A%5Cfancyhead%5BRO%2CLE%5D%7B%5Ctextbf%7BDRAFT%7D+%28Typeset+%5CDTMnow%29%5C%5C%5Ctextbf%7BThe+performance+of+new+graduates%7D%7D%0A%5Cfancyfoot%7B%7D+%25+clear+all+footer+fields%0A%5Cfancyfoot%5BLE%2CRO%5D%7B%5Cthepage%7D%0A%5Cfancyfoot%5BLO%2CCE%5D%7BFrom%3A+K.+Grant%7D%0A%5Cfancyfoot%5BCO%2CRE%5D%7BTo%3A+Dean+A.+Smith%7D%0A%25+Some+content%3A%0AThis+is+page+1.%5Cnewpage%0AThis+is+page+2.%0A%5Cend%7Bdocument%7D)

Hình sau cho thấy kết quả do ví dụ này tạo ra:

![Ví dụ về đầu trang nhiều dòng do fancyhdr tạo ra](/files/db0245d079f0ea9783604cbc2849644f164e8d49)


---

# 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/dinh-dang/02-headers-and-footers.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.
