Chuyển đến nội dung

fontenc, inputenc, fontspec và các gói phông chữ

inputenc và fontenc không cần thiết và được chấp nhận mà không có tác dụng, vì mã nguồn luôn được đọc dưới dạng UTF-8. Trong tài liệu thông thường, phông chữ cố định là Latin Modern và New Computer Modern Math: \setmainfont của fontspec và các gói như times hay libertine bị bỏ qua, và chỉ việc chuyển sang phông không chân bằng \familydefault (có thể kèm helvet) là hoạt động.

Các gói này làm gì

  • inputenc cho pdfLaTeX biết tệp nguồn được mã hóa như thế nào. \usepackage[utf8]{inputenc} từng cần thiết để gõ chữ có dấu trước năm 2018; LaTeX hiện nay mặc định đọc UTF-8.
  • fontenc chọn bảng mã phông chữ. \usepackage[T1]{fontenc} cho pdfLaTeX các phông có sẵn chữ có dấu, giúp ngắt từ tốt hơn và sao chép văn bản từ PDF chính xác hơn.
  • fontspec (XeLaTeX và LuaLaTeX) nạp bất kỳ phông OpenType nào đã cài: \setmainfont{...}, \setsansfont{...}, \setmonofont{...}, \newfontfamily.
  • Các gói phông chữ như lmodern, times, mathptmx, helvet, libertine hay newtxtext chuyển tài liệu pdfLaTeX sang một kiểu chữ khác.

Những gì hoạt động ở đây

Tính năngTrong Scissor LaTeXGhi chú
Mã nguồn UTF-8 với ä, é, ł, chữ Hy Lạp, chữ Kirin, CJK ...Hoạt độngLuôn luôn, có hay không có inputenc.
\usepackage[utf8]{inputenc}, \usepackage[T1]{fontenc}, lmodernBỏ quaĐược chấp nhận; không cần làm gì.
\renewcommand{\familydefault}{\sfdefault}Hoạt độngVăn bản thân bài dùng Latin Modern Sans.
helvet hoặc tgheros cùng dòng ở trênHoạt độngPhông không chân TeX Gyre Heros, một phông mô phỏng Helvetica.
sfmathHoạt độngCông thức dùng phông không chân.
\texttt{...}, \ttfamilyHoạt độngLatin Modern Mono.
\textbf, \textit, \emphHoạt động
\textsc{...}Một phầnVới phông Latin Modern mặc định là chữ thường. Với helvet và trong các bố cục hội nghị (trừ LNCS, bố cục dùng Latin Modern) là chữ hoa nhỏ thật.
\textsf{...}, \sffamily bên trong văn bảnBỏ quaVăn bản vẫn dùng phông có chân.
fontspec: \setmainfont, \setsansfont, \setmonofontBỏ quaĐược chấp nhận trong phần mở đầu, không có tác dụng.
\newfontfamily\name{Font}Không hỗ trợBị bỏ qua kèm thông báo, và tên phông được in ra.
times, mathptmx, palatino, libertine, newtxtext, charter ...Bỏ quaVăn bản vẫn dùng Latin Modern.
\fontsize{14}{16}\selectfontHoạt độngCỡ gần nhất trong các cỡ thông dụng từ 5 đến 144 pt; khoảng cách dòng thay đổi theo cỡ chữ.
\fontfamily{...}\selectfontBỏ quaKhông có thông báo; văn bản giữ phông của nó.
\small, \large, \Huge ...Hoạt độngTrừ các bố cục hội nghị và tạp chí, vốn giữ cỡ chữ riêng.
unicode-math: \setmathfontBỏ quaPhông toán vẫn là New Computer Modern Math.
unicode-math: \symbf, \symit trong công thứcKhông hỗ trợCông thức hiện màu đỏ. Hãy dùng \mathbf, \boldsymbol hoặc bm.

Cỡ chữ thân bài đến từ tùy chọn của lớp (10pt, 11pt hoặc 12pt); xem Bố cục trang.

Ví dụ

Các dòng phần mở đầu mà nhiều tài liệu bắt đầu bằng chúng được chấp nhận và không thay đổi gì; chữ có dấu gõ trực tiếp vẫn hoạt động trong mọi trường hợp:

inputenc, fontenc và lmodern được chấp nhận

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
Hans Mustermann bestellt Crème brûlée, Smørrebrød und Pierogi z
kapustą. \texttt{Monospaced}, \textbf{bold} and \textit{italic}
work as usual.
\end{document}
Dàn trang bởi Scissor LaTeX: inputenc, fontenc và lmodern được chấp nhận

fontspec nạp không lỗi, nhưng văn bản vẫn dùng Latin Modern:

\setmainfont không có tác dụng

\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\begin{document}
This paragraph would be set in Pagella by XeLaTeX or LuaLaTeX.
Here it stays in Latin Modern, the default font.
\end{document}
Dàn trang bởi Scissor LaTeX: \setmainfont không có tác dụng

Cách đổi phông duy nhất hoạt động: cả tài liệu dùng phông không chân.

Phông không chân với \familydefault và sfmath

\documentclass{article}
\usepackage{helvet}
\usepackage{sfmath}
\renewcommand{\familydefault}{\sfdefault}
\begin{document}
\section{Results}
John Doe measured $v = 44\,\mathrm{m/s}$, which matches the
estimate $v \approx \sqrt{2 g h}$.
\end{document}

Khả năng tương thích

  • Từ một bản cài đặt TeX sang đây: văn bản và công thức được giữ, bằng phông Latin Modern. Phông đặt bằng fontspec hoặc các gói phông chữ không được dùng, và tài liệu viết cho XeLaTeX được dàn trang mà không cần sửa.
  • Từ đây sang một bản cài đặt TeX: tài liệu biên dịch bằng pdfLaTeX, XeLaTeX hoặc LuaLaTeX tùy theo các gói của nó yêu cầu, và khi đó các phông đã chọn sẽ có hiệu lực.

Tài liệu hướng dẫn đầy đủ có trên CTAN: fontspec, fontenc, inputenc và unicode-math. Xem thêm Ngôn ngữ khác và phông chữ.

Hỏi và đáp

Tôi có cần \usepackage[utf8]{inputenc} không?

Ở đây thì không: mã nguồn luôn được đọc dưới dạng UTF-8. Giữ dòng này cũng không gây hại, và các bản cài đặt TeX cũ vẫn cần nó.

Làm thế nào để dùng Times New Roman hoặc Arial?

Không được trong một tài liệu thông thường. Phông văn bản là Latin Modern; cách đổi duy nhất là sang phông không chân bằng \renewcommand{\familydefault}{\sfdefault}, và khi kèm \usepackage{helvet} sẽ cho TeX Gyre Heros, một phông mô phỏng Helvetica. Các mẫu hội nghị mang theo phông riêng: TeX Gyre Termes (mô phỏng Times) cho phần lớn mẫu, Libertinus cho ACM.

fontspec có hoạt động trong Scissor LaTeX không?

Gói này nạp không lỗi, nên tài liệu XeLaTeX mở và dàn trang được, nhưng \setmainfont và các thiết lập phông khác bị bỏ qua.

Mọi ví dụ trên trang này đều được Scissor LaTeX dàn trang khi xây dựng trang web. Cập nhật lần cuối 2026-11-07.