直立斜体(数学模式)?

直立斜体(数学模式)?

Knuth 的精美 CMU 字体有很多变体,包括可以通过 LaTeX 访问

  • \textrm, \mathrm- 罗马字母(默认)
  • \textit, \mathit- 斜体
  • \textbf\mathbf- 大胆的
  • \textsc- 小帽子
  • \textsl- 倾斜(罗马)

然而,一些附加变体像“直立斜体”似乎没有调用命令。这是真的吗?是否有使它们可访问的软件包?

谢谢。

答案1

CMU 不是 Knuth 原始的 Computer Modern 字体,而是使用 OpenType 字体格式的较新的扩展 Unicode 集。

LaTeX 仅为最有可能使用的组合提供简单命名的宏,但可以通过指定适当的字体系列或形状来访问所有原始的 Computer Modern 集合,例如:

在此处输入图片描述

\documentclass{article}

\begin{document}



{\fontshape{ui}\selectfont abcdefg  upright italic}

{\bfseries  abcdefg bold extended}


{\fontseries{b}\selectfont  abcdefg bold non-extended}

{\fontfamily{cmfib}\selectfont  abcdefg fibonacci}

{\fontfamily{cmdh}\selectfont  abcdefg dunhill}


{\ttfamily  abcdefg non-variable typewriter}

{\fontfamily{cmvtt}\selectfont  abcdefg variable typewriter}


{\fontfamily{cmvtt}\itshape  abcdefg variable typewriter italic}





\end{document}

答案2

是否有可以使 [直立斜体] 可访问的软件包?

您可以加载流明包,它提供了\uishape开关和\textui宏。(ui是“upright italic”的缩写。)

在此处输入图片描述

\documentclass{article}
\usepackage{cfr-lm}
\begin{document}
$aaa,\ \mathit{aaa},\ \textit{aaa},\ \textui{aaa}$

$fff,\ \mathit{f{}f{}f},\ \textit{f{}f{}f},\ \textui{f{}f{}f}$
\end{document}

答案3

加拿大运输安全局/TeX Live/MiKTeX 包cm-unicode还包含可与 LuaLaTeX 或 XeLaTeX 一起使用的 OpenType 字体,例如:

\documentclass{article}
\usepackage{lipsum}
\usepackage{fontspec}

\newfontface\cmunui{CMU Serif Upright Italic}

\begin{document}
  \cmunui
  \lipsum[1]
\end{document}

结果

答案4

由于您专门询问在数学模式下使用它们,因此一种方法unicode-math是:

\documentclass[varwidth, preview]{standalone}

\usepackage{amsmath}
\usepackage[math-style=ISO]{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont[range=up/{Latin,latin,Greek,greek}]{CMU Serif Upright Italic}

\begin{document}
\begin{align*}
  \symup{e}^{\symup{i} x} &= \cos{x} + \symup{i} \sin{x} \\
  \symup{e}^{\symup{i \pi}} + 1 &= 0
\end{align*}
\end{document}

ISO 风格的直立斜体示例

以上是按 ISO 样式设置的,其中常数 e、i 和 π 竖直放置,变量X斜体显示,数字 1 和 0 保持不变(因此仍然与默认文本字体匹配,因此10看起来与 相同$10$),运算符名称 cos 和 sin 设置为文本字体。该unicode-math包非常智能,可以区分直立的数学符号、\symup和文本片段,例如\operatorname\text\mathrm

如果您想默认使用直立斜体字母,但仍使用通常的倾斜斜体\symit{x},请将选项传递[math-style=upright]\usepackage{unicode-math}。如果您想替换斜体而不是直立数学后者,请更改range=uprange=it

没有相应的粗体直立斜体字体,但如果您希望使用一种(例如用于矢量),您可以使用选项range=bfup/{latin,Latin,greek,Greek}fromunicode-mathFakeBold=选项 from重新加载常规粗细字体fontspec

Donald Knuth 参与设计的最著名的直立斜体数学字体是 Hermann Zapf 设计的 AMS Euler。OpenType 中提供该字体,名为 Neo Euler。

要使用 TrueType 或 OpenType 直立斜体字体作为文本字体,请使用 fontspec(参见 Heiko Oberdiek 的回答)。您还可以使用命令上的选项,例如\setmainfont仅替换字体系列的斜体样式。只有在被迫的情况下,您才应该使用旧版 NFSS 工具链,以便与旧文档或旧软件兼容。

相关内容