fontenc、inputenc、fontspec 和字型套件
inputenc 和 fontenc 並不需要,會被接受但沒有效果,因為原始碼一律以 UTF-8 讀取。在一般文件中,字型固定為 Latin Modern 和 New Computer Modern Math:fontspec 的 \setmainfont 以及 times 或 libertine 等套件會被忽略,只有用 \familydefault(可搭配 helvet)切換成無襯線字型有效。
套件的用途
inputenc告訴 pdfLaTeX 原始碼檔案的編碼方式。在 2018 年以前,輸入帶重音的字母需要\usepackage[utf8]{inputenc};現在的 LaTeX 預設就以 UTF-8 讀取。fontenc用來選擇字型編碼。\usepackage[T1]{fontenc}讓 pdfLaTeX 使用內建重音字母的字型,能改善斷字,也方便從 PDF 複製文字。fontspec(XeLaTeX 和 LuaLaTeX)能載入任何已安裝的 OpenType 字型:\setmainfont{...}、\setsansfont{...}、\setmonofont{...}、\newfontfamily。lmodern、times、mathptmx、helvet、libertine或newtxtext等字型套件,能把 pdfLaTeX 文件切換成其他字體。
在這裡可用的功能
| 功能 | 在 Scissor LaTeX 中 | 備註 |
|---|---|---|
| 包含 ä、é、ł、希臘文、西里爾文、中日韓文字 ... 的 UTF-8 原始碼 | 可用 | 一律可用,不論有沒有 inputenc。 |
\usepackage[utf8]{inputenc}, \usepackage[T1]{fontenc}, lmodern | 忽略 | 會被接受;不需要做任何事。 |
\renewcommand{\familydefault}{\sfdefault} | 可用 | 內文使用 Latin Modern Sans。 |
搭配上面那一行的 helvet 或 tgheros | 可用 | 無襯線字型使用 TeX Gyre Heros,一款類似 Helvetica 的字型。 |
sfmath | 可用 | 公式使用無襯線字型。 |
\texttt{...}, \ttfamily | 可用 | Latin Modern Mono。 |
\textbf, \textit, \emph | 可用 | |
\textsc{...} | 部分支援 | 在預設的 Latin Modern 字型中是一般字母。搭配 helvet 以及在研討會版面中(使用 Latin Modern 的 LNCS 除外),則是真正的小型大寫字母。 |
文字中的 \textsf{...}、\sffamily | 忽略 | 文字維持襯線字型。 |
fontspec:\setmainfont、\setsansfont、\setmonofont | 忽略 | 在導言區中會被接受,沒有效果。 |
\newfontfamily\name{Font} | 不支援 | 會被略過並顯示訊息,字型名稱會被印出。 |
times, mathptmx, palatino, libertine, newtxtext, charter ... | 忽略 | 文字維持 Latin Modern。 |
\fontsize{14}{16}\selectfont | 可用 | 取 5 到 144 pt 之間最接近的常用大小;行距會跟著大小調整。 |
\fontfamily{...}\selectfont | 忽略 | 沒有訊息;文字保持原本的字型。 |
\small, \large, \Huge ... | 可用 | 研討會和期刊版面除外,它們保持自己的大小。 |
unicode-math:\setmathfont | 忽略 | 數學字型維持 New Computer Modern Math。 |
unicode-math:公式中的 \symbf、\symit | 不支援 | 公式會以紅色顯示。請改用 \mathbf、\boldsymbol 或 bm。 |
內文字型大小由文件類別選項(10pt、11pt 或 12pt)決定;請見頁面版面。
範例
許多文件開頭的導言區設定會被接受,但不會改變任何東西;無論如何,直接輸入的重音字母都能用:
inputenc、fontenc 和 lmodern 會被接受
\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}fontspec 載入時不會出錯,但文字維持 Latin Modern:
\setmainfont 沒有效果
\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}唯一有效的字型切換:整份文件使用無襯線字型。
用 \familydefault 和 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}相容性
- 從 TeX 安裝環境搬到這裡:文字和公式都會保留,並使用 Latin Modern。用
fontspec或字型套件設定的字型不會被使用,為 XeLaTeX 撰寫的文件不需修改就能排版。 - 從這裡搬到 TeX 安裝環境:文件可以依所用套件的需求,以 pdfLaTeX、XeLaTeX 或 LuaLaTeX 編譯,選擇的字型屆時也會生效。
完整手冊在 CTAN 上:fontspec、fontenc、inputenc 和 unicode-math。另請參閱其他語言與字型。
常見問題
需要 \usepackage[utf8]{inputenc} 嗎?
在這裡不需要:原始碼一律以 UTF-8 讀取。保留這一行也沒有壞處,而較舊的 TeX 安裝環境仍然需要它。
要怎麼使用 Times New Roman 或 Arial?
在一般文件中沒辦法。內文字型是 Latin Modern;唯一能切換的是用 \renewcommand{\familydefault}{\sfdefault} 改成無襯線字型,搭配 \usepackage{helvet} 時會得到類似 Helvetica 的 TeX Gyre Heros。研討會範本會帶有自己的字型:大多數使用 TeX Gyre Termes(類似 Times 的字型),ACM 則使用 Libertinus。
fontspec 在 Scissor LaTeX 中能用嗎?
它載入時不會出錯,所以 XeLaTeX 文件可以開啟並排版,但 \setmainfont 和其他字型設定會被忽略。
本頁的每個範例都在建置網站時由 Scissor LaTeX 排版。 最後更新:2026-11-07