LaTeX
Chủ Nhật, 23/10/2016, 00:10
LaTeX 15 - Header và Footer trong LaTeX

LaTeX 15 - Header và Footer trong LaTeX

Bài viết hướng dẫn bạn tùy chỉnh header và footer cho các loại văn bản khác nhau. Bài có kèm theo các ví dụ cụ thể cho từng trường hợp. Nếu bạn có thắc mắc hay nhu cầu nào mà Math2IT chưa đề cập đến, vui lòng comment bên dưới bài viết nhé. [mks_icon icon="fa-chevron-right" color="#dd3333" type="fa"] Xem thêm Tự học LaTeX từ A-Z (tổng hợp)

Làm header footer một cách tự động

Chỉ cần thêm vào trước \begin{document}  dòng code sau đây thì văn bản của bạn sẽ được tự động thêm vào header và footer. Nhược điểm là bạn không thể tùy chỉnh gì khác được, nó sẽ hiện cái gì nó muốn. Nó muốn gì thì bạn xem ví dụ ở hình bên dưới nhé.
\pagestyle{headings}
Đoạn code đầy đủ cho ví dụ
notion image
\documentclass[a4paper,12pt,twoside]{book} \usepackage[utf8]{vietnam} \usepackage{lipsum} %\pagestyle{empty} \pagestyle{headings} %\pagestyle{plain} \begin{document} \chapter{Chương mẫu} \section{Mục mẫu 1} \lipsum \section{Mục mẫu 2} \lipsum \end{document}
Lưu ý có 3 kiểu pagestyle cho bạn lựa chọn
  • headings : giống trong ví dụ trên. Footer không ghi gì, header trang chẵn thì ghi tên chương và số trang, trang lẻ thì ghi tên mục và số trang. Có sự khác biệt ở trang đầu tiên của chương.
  • empty : Không có gì cả ở cả header và footer.
  • plain (mặc định) : Chỉ có duy nhất số trang nằm ở giữa ở footer.

Làm cho một trang cụ thể nào đó

Thay vì dùng \pagestyle{...} sẽ có tác dụng cho toàn bộ văn bản kể từ dòng lệnh này trở đi, nếu bạn muốn một trang nào đó có một page style khác thì bạn dùng câu lệnh sau ngay trang mà bạn muốn.
\thispagestyle{...}
Hãy thử cũng bằng đoạn code ở phần trước nhé.

Header và footer tùy chỉnh cho tài liệu 1 mặt

[su_note note_color="#e3e4ff" text_color="#000000"]Thế nào là tài liệu một mặt? Có nghĩa là tài liệu ấy không phân biệt trang chẵn, trang lẻ. Còn nếu tài liệu phân biêt trang chẵn trang lẻ thì gọi là tài liệu hai mặt (xem ở mục tiếp theo).[/su_note] Để có thể tùy chỉnh header và footer cho tài liệu một mặt, bạn thêm đoạn code sau đây vào tài liệu của bạn (chú ý không dùng cái đã nêu ở mục trước)
\usepackage{fancyhdr} \pagestyle{fancy} \fancyhf{} \rhead{Math2IT.com} \lhead{Toán học và Công nghệ} \rfoot{Trang \thepage} \lfoot{\leftmark}
Giải thích ở đoạn code
  • \pagestyle{fancy} : Đây là gói lệnh cần sử dụng.
  • \fancyhf{} : dòng này là để xóa các header và footer mặc định của mục trước. Nếu không có dòng này thì cái plain ở mục trước sẽ được áp dụng.
  • \lhead{...}, \rhead{...} : nội dung tùy chỉnh trên header, tương ứng cho bên rái (l = left) và bên phải (r = right).
  • \lfoot{...}, \rfoot{...} : nội dung tùy chỉnh cho footer, tương ứng cho bên trái và bên phải.
Dưới đây là đoạn code ví dụ đầy đủ
notion image
\documentclass[a4paper,12pt]{book} \usepackage[utf8]{vietnam} \usepackage{lipsum} \usepackage{fancyhdr} \pagestyle{fancy} \fancyhf{} \rhead{Math2IT.com} \lhead{Toán học và Công nghệ} \rfoot{Trang \thepage} \lfoot{\leftmark} \begin{document} \chapter{Chương mẫu} \section{Mục mẫu 1} \lipsum \section{Mục mẫu 2} \lipsum \end{document}

Header và footer tùy chỉnh cho tài liệu 2 mặt

Để có được tài liệu 2 mặt (có sự khác nhau ở trang chẵn và trang lẻ), bạn cần thêm twoside vào trong tùy chỉnh của \documentclass như dòng code dưới đây
\documentclass[a4paper,12pt,twoside]{book}
Cách dùng là thêm đoạn code sau đây vào tài liệu của bạn
\usepackage{fancyhdr} \pagestyle{fancy} \fancyhf{} \fancyhead[LE,RO]{Math2IT.com} \fancyhead[RE,LO]{Toán học, Giáo dục và Công nghệ} \fancyfoot[CE,CO]{\leftmark} \fancyfoot[LE,RO]{\thepage}
Giải thích cho đoạn code
  • \pagestyle{fancy} : Đây là gói lệnh cần sử dụng.
  • \fancyhf{} : dòng này là để xóa các header và footer mặc định của mục trước. Nếu không có dòng này thì cái plain ở mục trước sẽ được áp dụng.
  • \fancyhead[LE,RO]{...}  : tùy chỉnh cho header.
  • \fancyfoot[CE,CO]{...}  : tùy chỉnh cho footer.
  • Bạn cần lưu ý các chữ cái viết hoa trong ngoặc vuông ở trên. L (trái), C (giữa), R (phải), O (trang lẻ), E (trang chẵn). Bạn kết hợp 2 chữ cái lại với nhau, ví dụ LE (bên trái của trang chẵn)
Dưới đây là đoạn code ví dụ đầy đủ
notion image
\documentclass[a4paper,12pt,twoside]{book} \usepackage[utf8]{vietnam} \usepackage{lipsum} \usepackage{fancyhdr} \pagestyle{fancy} \fancyhf{} \fancyhead[LE,RO]{Math2IT.com} \fancyhead[RE,LO]{Toán học, Giáo dục và Công nghệ} \fancyfoot[CE,CO]{\leftmark} \fancyfoot[LE,RO]{\thepage} \begin{document} \chapter{Chương mẫu} \section{Mục mẫu 1} \lipsum \section{Mục mẫu 2} \lfoot{\rightmark} \lipsum \end{document}

Các thành tố tùy chỉnh của văn bản

Bạn muốn thêm số trang, tên chương, số chương,... thì có các thành tố dưới đây
  • \thepage  : số trang của trang hiện tại.
  • \thechapter  : số chương của chương hiện tại.
  • \thesection  : số mục của mục hiện tại.
  • \chaptername : hiện chữ "Chương" ứng với ngôn ngữ hiện tại của tài liệu, ví dụ "Chapter" cho tiếng Anh.
  • \leftmark  : Hiện số và nội dung của Chương (nếu tài liệu là "book" hay "report"), của Mục (section, nếu tài liệu là "article").
  • \rightmark  : Hiện số và nội dung của Mục (section, nếu tài liệu là "book" hay "report"), của Mục con (subsection, nếu tài liệu là "article").

Trang trí cho header và footer

Nói là trang trí chứ thật ra bạn chỉ có thể thêm một đường ngang vào header và footer mà thôi. Mặc định thì có 1 lằn ngang mỏng ở trên header và không có lằn nào ở footer, thật ra là độ dày của nó là 0 nên nó không hiện. Dưới đây là đoạn code các bạn có thể thay đổi độ dày này của hai lằn.
\renewcommand{\headrulewidth}{2pt} % cho header \renewcommand{\footrulewidth}{1pt} % cho footer
Các bạn đặt chúng ở ngay bên dưới đoạn code của các phần khác.

Làm cho một trang cụ thể nào đó với header và footer tùy chỉnh được

Các thủ thuật trên với gói lệnh fancyhdr  là áp dụng cho toàn bộ văn bản. Bây giờ bạn muốn ở một số trang thì áp dụng header và footer riêng thì làm sao? Dưới đây là đoạn code tạo định nghĩa style riêng của bạn, ví dụ cho kiểu tài liệu 2 mặt.
\usepackage{fancyhdr} \fancypagestyle{kieu_thu_nhat}{% \fancyhf{} \fancyhead[LE,RO]{\rightmark} \fancyhead[LO,RE]{\leftmark} \fancyfoot[C]{\thepage} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0pt}} \fancypagestyle{kieu_thu_hai}{% \fancyhf{} \fancyhead[C]{header} \renewcommand{\headrulewidth}{0pt}}
Bạn có thể thấy, nội dung cần thêm chỉ là dòng code
\fancypagestyle{kieu_thu_hai}{% % nội dung giống như ở các mục khác }
Với kiểu tài liệu 1 mặt, bạn chỉ việc thay chỗ "nội dung giống..." bằng những tùy chỉnh ở mục 1 mặt ở trên. Cách dùng làm sao? Rất đơn giản, bạn dùng nó bằng câu lệnh giống y như ở mục có sẵn của latex đầu bài tôi có nói. Bởi hai câu lệnh sau
\pagestyle{kieu_thu_nhat} % áp dụng cho toàn bộ văn bản \thispagestyle{kieu_thu_hai} % áp dụng cho riêng trang này
Cùng chủ đề