我想知道数学模式下斜体\mathit
设置之间有什么区别。[math-style = TeX]
这段代码可以更好地解释这一点
\documentclass{article}
\usepackage[math-style = TeX]{unicode-math}
\begin{document}
\[ \mathit{\rho} \rho \]
\end{document}
只有后者会显示“斜体”样式(TeX 数学样式)。
如果加载了 unicode 数学字体(如 STIX Two Math),也会发生同样的情况,但这次矩形框内的十字将显示为\mathit{\rho}
以下是上述场景的代码
\documentclass{article}
\usepackage[math-style = TeX]{unicode-math}
\setmathfont{STIX Two Math}
\begin{document}
\[ \mathit{\rho} \rho \]
\end{document}
答案1
我想知道数学模式下斜体
\mathit
设置之间有什么区别。[math-style = TeX]
unicode-math
(a) 加载包并选择使用math-style
斜体表示小写拉丁字母和希腊字母的 (例如,“TeX”或“ISO”) 与 (b) 使用 之间存在巨大差异。\mathit
(附言:有关包提供的数学样式的更多信息unicode-math
,请参阅包用户指南的第 5.1 节。)
使用\mathit
与所选的数学样式完全无关。使用\mathit
可能会产生意想不到的结果——至少一开始是这样。这是因为\mathit
指令从文本字体访问其字母,不是来自数学字体。这是设计使然。根据 David Carlisle 的评论(见下文),\mathit
应该用于多字母标识符,例如变量名称。对于变量名称,最好使用文本字体中的斜体,而不是“真正的”数学模式斜体。
请看下表,其中显示了四种可用的数学样式(ISO、TeX、法语和直立),以及小写和大写的拉丁字母和希腊字母。数学字体设置为Stix Two Text
,而文本字体设置为Calibri
。我选择了无衬线文本字体,以使文本和数学字体之间的区别一目了然。
确认我上面的断言,观察\mathit
最后一列显示的输出确实不是使用数学字体系列中的字母。相反,它显然使用了文本字体系列中的字母。
\documentclass{article}
\usepackage{array}
\newcommand\myarray[1]{\par\noindent%
% Structure of table:
%col. 1: math style
%col. 2: math mode, lowercase Latin letters
%col. 3: math mode, uppercase Latin letters
%col. 4: math mode, lowercase Greek letters
%col. 5: math mode, uppercase Greek letters
%=col. 6: output of \mathit
$\begin{array}{@{}p{1.2cm} >{$}p{1cm}<{$} *{3}{>{$}p{0.6cm}<{$}} l }
#1 & abcffi & XYZ & \alpha\beta\gamma & \Phi\Psi\Omega
& \mathit{abcffi} \\ % <-- final column uses "\mathit{...}"
\end{array}$}
\usepackage{unicode-math}
\setmainfont{Calibri}[ItalicFont="Calibri Italic"] % sans-serif text font
%% or: \setmainfont{Stix Two Text}
\begin{document}
\setmathfont{Stix Two Math}[math-style = ISO]
\myarray{ISO}
\setmathfont{Stix Two Math}[math-style = TeX]
\myarray{TeX}
\setmathfont{Stix Two Math}[math-style = french]
\myarray{french}
\setmathfont{Stix Two Math}[math-style = upright]
\myarray{upright}
\end{document}