如何在 IEEEtran 文档中使用 unicode-math

如何在 IEEEtran 文档中使用 unicode-math

IEEEtran是与 一起使用的pdflatex(对于期刊论文,人们无法选择应该发布的文档)。但在两种用例中,lualatex可能需要使用 进行编译。

  • 对于会议论文,我希望实现在我看来最令人满意的外观。这包括使用unicode-math,因为我最近发现了它的所有便捷功能。
  • 对于期刊论文,我包括所有图表(使用 TiZ 或 pgfplots) 作为单独的 .pdf 文档。因此,这些文档可以用 进行编译lualatex,特别是当我想在 pgfplots 中使用 lua-backend 时。

作为具有合理数学字体的参考,一个简单的pdflatex兼容文档可能看起来像

\documentclass{IEEEtran}
\usepackage{mathtools}
\usepackage{newtxtext} % possible but not completely OK ?
\usepackage[cmintegrals]{newtxmath}
\usepackage{bm}

\begin{document}
aR$aR\bm{a}\mathbb{R}$
\end{document}

使用该包更改文本字体newtxtext显然是可以接受的,因为我刚刚检查了一个示例 PDFpdf-express并通过了 IEEE探索兼容性测试。

我如何创建一个使用和加载正确字体IEEEtran的编译文档,类似于?lualatexfontspecunicode-mathnewtx

在这里可以找到相关问题:IEEEtran:使用 lualatex 正确获取字体。不幸的是,没有令人满意的解决方案。

答案1

经过一些实验,这似乎对一个简单的示例有效。不保证。您可能需要对类文件进行一些调整。

\documentclass[nofonttune]{IEEEtran}

%% Lie to [comsoc]{IEEEtran} about loading a font package it accepts.
\ProvidesPackage{newtxmath}

\usepackage{mathtools}
\usepackage{unicode-math}

\defaultfontfeatures{Scale = MatchLowercase}
\setmainfont{TeX Gyre Termes}[Scale = 1.0, NFSSFamily = tgtermes]
\setmathfont{TeX Gyre Termes Math}

% Monkey-patch the default font family.
\makeatletter
\def\@IEEEstringptm{tgtermes}
\makeatother

\begin{document}
aR$aR\mathbfit{a}\mathbb{R}$
\end{document}

您可以尝试一些技巧和调整。

默认情况下,文档将使用ptm,在大多数安装中将使用 TeX Gyre Termes。如果您想要 的精确副本newtxtext,您可以加载 TeX Gyre Termes X。

IEEEtran 强制cmintegrals使用 选项newtxmath。如果您想要像 Computer Modern 这样的积分,您可以在主程序下方添加以下行\setmathfont

\setmathfont{Latin Modern Math}[
   range={"222B-"2233, "2A0C-"2A1C},
   Scale=MatchUppercase ]

您还可以加载直立的(而不是倾斜的)积分:

\setmathfont{XITS Math}\setmathfont[
   range={"222B-"2233, "2A0C-"2A1C},
   Scale=MatchUppercase,
   StylisticSet=8 ]

bm包不兼容。使用\mathbf\symbfit\symbfup表示粗体字母。如果您还需要粗体数学符号,可以加载

\setmathfont[version=bold]{XITS Math Bold}

然后使用\boldmath\boldsymbol。注意:截至 2019 年 8 月,version=请勿range=混合!

我设置nofonttune为禁用该包在双列模式下调整单词间距的尝试。您可能希望打开\sloppy并在 LuaLaTeX 中加载microtype以获得字体扩展。这应该会大大减少您需要的连字符数量和您获得的过满的水平框。

IEEEtran 有一个选项可以将字体更改为 Palatino 的克隆。您可以通过选择 Palatino、TeX Gyre Pagella 或 TeX Gyre Pagella X 作为主字体,并选择 TeX Gyre Pagella Math 或 Asana Math 作为数学字体来匹配此外观。

相关内容