如果我使用 lualatex,是否需要使用 \usepackage[T1]{fontenc}?

如果我使用 lualatex,是否需要使用 \usepackage[T1]{fontenc}?

使用 pdflatex 制作可能包含特殊 utf-8 字符的文档时,建议在序言中添加以下内容

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

我知道使用 lualatex 时 inputenc 行不是必需的,因为默认情况下所有设置都使用 utf-8 编码。但我不知道如何处理 fontenc 行。如果我使用 lualatex,我是否需要包含它?

答案1

如果您想使用pdflatex,您应该在序言中使用:

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

如果您想使用lualatexxelatex,您应该在序言中使用:

\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}

相关内容