从 PDFLaTeX 切换到 LuaLaTeX

从 PDFLaTeX 切换到 LuaLaTeX

代码

考虑以下 MWE:

\documentclass{article}

\usepackage{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[sc]{mathpazo}
\usepackage{microtype}
\DisableLigatures[f]{encoding = T1}
\usepackage{hyperref} % Used in alot of my documents.

\begin{document}
Test.
\end{document}

假设我使用pdflatex(最新的 TeX Live 发行版)进行编译,然后我使用上述设置。

问题

我有几个问题:

  1. \usepackage{inputenc}使用编译时是否需要pdflatex
  2. 如果我想使用进行编译,我应该加载哪种包以及如何正确设置字体lualatex

以下是否正确?如果不正确,我该如何正确地进行?

\documentclass{article}

\usepackage{polyglossia}
\setdefaultlanguage{danish}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures = TeX}
\usepackage{mathpazo}
\setmainfont[
  BoldFont       = texgyrepagella-bold.otf,
  ItalicFont     = texgyrepagella-italic.otf,
  BoldItalicFont = texgyrepagella-bolditalic.otf
]{texgyrepagella-regular.otf}
\usepackage{hyperref} % Used in alot of my documents.

\begin{document}
Test.
\end{document}

另外,软件包的加载顺序重要吗?(我知道hyperref几乎总是应该作为最后一个包加载,但除此之外呢?)

更新

如果我想删除所有连字符,那么以下方法是正确的吗?

\addfontfeature{
  Ligatures = {
    RequiredOff,
    CommonOff,
    ContextualOff,
    RareOff,
    HistoricOff,
    TeXOff
  }
}

代替

\defaultfontfeatures{Ligatures = TeX}

我在fontspec手动的

答案1

使用 OpenType 数学字体而不是包mathpazo

\documentclass{standalone}

\usepackage{polyglossia}
\setdefaultlanguage{danish}
\usepackage[math-style=TeX]{unicode-math}
\setmainfont[
Extension      = .otf,
UprightFont    = *-regular,
BoldFont       = *-bold,
ItalicFont     = *-italic,
BoldItalicFont = *-bolditalic,
Ligatures      = {CommonOff,TeXOff}%   no ligatures
]{texgyrepagella}

\setmathfont{texgyrepagella-math.otf}
\setmathfont{texgyrepagella-math.otf}[version=bold,RawFeature={embolden=2}]

\usepackage{hyperref} % Used in alot of my documents.

\begin{document}
    Test. -- ---  ff fl fi
    $y=f(x)$ \boldmath $y=\int_1^2f(x)\symup{d}x$
\end{document}

在此处输入图片描述

答案2

我建议进行以下更改:使用fontspec合适的 OpenType 字体(TeXGyre Pagella很好地模仿了 Palatino),并使用unicode-math合适的数学字体(同样,TeXGyre Pagella Math效果很好,在我看来它看起来比 更好mathpazo,它借用了 Computer Modern 的一些字形,它们看起来与 Palatino 不同)。您不必放弃babel,它工作得很好。此外,LuaLaTeX有一个非常好的字体搜索引擎,所以在大多数情况下,使用人类可读的字体系列名称就足以找到它。

此外,当使用一种字体会变得无聊时,你可以找到很多unicode-math在这个好问题中找到许多兼容的数学字体:有哪些 OpenType Math 字体可用?

一个例子:

\documentclass{article}

\usepackage{babel}
\usepackage{microtype}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures={TeX,NoCommon}}
\setmainfont{TeXGyre Pagella}
\usepackage{unicode-math}
\setmathfont{TeXGyre Pagella Math}

\usepackage{hyperref} % Used in alot of my documents.

\begin{document}
Test. Difficult \emph{test}. Some math --- 
\[
  \int_{-\infty}^\infty e^{-x^2}dx = \sqrt{\pi}.
\]
\end{document}

结果:

在此处输入图片描述

相关内容