使用 pdflatex 制作可能包含特殊 utf-8 字符的文档时,建议在序言中添加以下内容
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
我知道使用 lualatex 时 inputenc 行不是必需的,因为默认情况下所有设置都使用 utf-8 编码。但我不知道如何处理 fontenc 行。如果我使用 lualatex,我是否需要包含它?
答案1
如果您想使用pdflatex
,您应该在序言中使用:
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
如果您想使用lualatex
或xelatex
,您应该在序言中使用:
\usepackage{fontspec}
\setsansfont{CMU Sans Serif}%{Arial}
\setmainfont{CMU Serif}%{Times New Roman}
\setmonofont{CMU Typewriter Text}%{Consolas}
如果您想不时编译文档,lualatex
无论pdflatex
是否更改序言,都可以使用ifluatex
包。用于此目的的典型序言可能如下所示:
%%============================ Compiler Directives =======================%%
%% %%
% !TeX program = lualatex
% !TeX encoding = utf8
% !TeX spellcheck = english
%% %%
%%============================== Document Class ==========================%%
%% %%
\documentclass[14pt]{article}
\usepackage{ifluatex}
%% %%
%%========================================================================%%
\ifluatex
\usepackage{fontspec}
\setsansfont{CMU Sans Serif}%{Arial}
\setmainfont{CMU Serif}%{Times New Roman}
\setmonofont{CMU Typewriter Text}%{Consolas}
\defaultfontfeatures{Ligatures={TeX}}
\else
\usepackage[utf8]{inputenc}
\usepackage[T2A,T1]{fontenc}
\fi
\usepackage[english]{babel}
\begin{document}
\end{document}
答案2
不,Luatex 不需要使用 fontenc 包。
答案3
我仍然喜欢对 IPA(T3 编码)和非数学希腊语(LGR 编码)使用 8 位字体
我通过“substitutefont”包使用它们,并且我相信仍然需要加载 fontenc。
无论如何,我注意到的一件事是,如果在 fontspec 之后加载 fontenc,那么事情就会中断,因此如果您确实使用 fontenc,请在 fontspec 之前加载它。
在 fontspec 之前加载它似乎不会造成任何损害。
编辑:
我做了一个测试。当加载 fontenc 时后fontspec 内容,只要 TU 是最后指定的编码,一切就都正常。从此代码中移除 TU,您就会看到它是如何崩溃的。
\documentclass[letterpaper, fontsize=14pt]{scrbook}
\usepackage{fontspec}
\defaultfontfeatures{
Ligatures = TeX,
Extension = .ttf}
\setmainfont
[ UprightFont = *-Regular ,
ItalicFont = *-Italic ,
BoldFont = *-Medium ,
BoldItalicFont = *-MediumItalic ]
{ClearSans}
\setsansfont
[ UprightFont = *-Regular ,
ItalicFont = *-Italic ,
BoldFont = *-Bold ,
BoldItalicFont = *-BoldItalic ]
{ClearSans}
\usepackage[LGR,T1,TU]{fontenc}
\begin{document}
\chapter{Chapter One}
This is content.
\section{Section One}
This is more content.
\end{document}