我搜索过,没有找到与我的特定问题相关的任何内容。字体和字体管理对我来说完全是谜,我正在努力了解更多。我正在尝试mandi
使用该包改进中的数学字体,尤其是矢量和张量的数学字体,以符合 ISO 符号建议isomath
。我遇到的问题是,可能是中的某些东西mandi
阻止我同时获得正确\mathbf{\pi}
和直立的单位,它们是在\mathrm
中定义的mandi
。我不知道发生了什么。有人可以解释一下是什么原因造成的并提出解决方案吗?单位必须是直立的\mathrm
,我需要来自的矢量、张量和矩阵字母isomath
。
这是我的 MWE:
\documentclass{article}
\usepackage{mandi}
%\usepackage[OMLmathrm,OMLmathbf]{isomath} % This gives me correct \mathbf{\pi}, but italic \mathrm
\usepackage{isomath} % This gives me correct \mathrm in units, but incorrect \mathbf{\pi}
\begin{document}
\begin{align*}
\alpha &= \lambda \\
\boldsymbol{\alpha} &= \boldsymbol{\lambda}
%\mbfitsansalpha &= \mbfitsanslambda
\end{align*}
%\lipsum[1]
\begin{align}
&\tensorsym{T} \cdot \vectorsym{a} \\
&\mathbf{\pi}{\pi} \\
&\matrixsym{T} \\
&\mathbfit{I} \\
&\mathsfbfit{g}\left(\_,\_ \right)
\end{align}
\[
\mathsfbfit{a} = a^i \mathbf{e}_i = a^1\mathbf{e}_1 + a^2\mathbf{e}_2 + a^3\mathbf{e}_3
\]
Vector Symbols
\( \vectorsym{abcdefghijklmnopqrstuvwxyz} \)
Vector Symbols
\( \vectorsym{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \)
Tensor Symbols
\( \tensorsym{abcdefghijklmnopqrstuvwxyz}\)
Tensor Symbols
\( \tensorsym{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \)
Matrix Symbols
\( \matrixsym{abcdefghijklmnopqrstuvwxyz}\)
Matrix Symbols
\( \matrixsym{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \)
Galileo found that \( \mathsfbfit{g} \approx \acceleration{9.8} \).
The magnitude of the ball's velocity is \velocity{5}.
\end{document}
输出如下(请注意公式 (2) 中的问题):
我的示例基于此答案的代码:
答案1
一个解决方案是写
\usepackage[OMLmathbf]{isomath}
这将加载包含拉丁字母和希腊字母的 OML 数学字母表\mathbf
,但保持\mathrm
不变。OMLmathrm
如果您实际加载直立的 OML 编码字体,则该选项将“起作用” \mathrm
,但如果您的文档包含诸如 之类的命令\mathrm{iff}
,您可能不喜欢它的作用。
正如 Mico 在评论中提到的,你也可以使用\boldsymbol{\pi}
而不是 来自的命令isomath
。这不会给你一个常量向量的直立符号,尽管将常量向量命名为π。
在这里,我通常会谈论如何使用现代工具链,使用 Unicode 而不是传统的 8 位字体,但不幸的是,截至 2020 年 7 月,它mandi
已损坏,根本无法与 LuaLaTeX 或 XeLaTeX 编译。(它使用\newcommand
内核中定义的某些名称,这些名称应重命名或更改为\DeclareRobustCommand
。)
另一个选项是将单位排版为 而\textnormal
不是。如果您需要希腊字母,\mathrm
则可以使用类似于 的格式,而不是进入数学模式。\textmicro