我想\partial
在 Stix2 字体中使用该符号。在我的文档的其余部分,我使用 EB Garamond 来表示文本和数学,但我不喜欢\partial
Garamond 中符号的外观。我在其他符号上也遇到了类似的问题,但能够使用以下方法解决它们:要使用\star
Latin Modern 而不是 Garamond 中的符号,我定义了一个新命令,如下所示:
\DeclareSymbolFont{LMletters}{OML}{lmm}{m}{it}
\DeclareMathSymbol{\lmstar}{\mathbin}{LMletters}{63}
然后每当我需要时就会使用\lmstar
而不是\star
。我想对\partial
Stix2 中的符号使用类似的过程。问题是我不知道用什么参数来代替{OLM}{lmm}{m}{it}
。stix2 字体应该有一些类似于lmm
Latin Modern 的缩写,但我找不到它。
我曾多次尝试查找这个问题,但总是迷失在技术解释中,而我有限的乳胶背景不允许我理解...
答案1
基本上如你所展示的,但使用 LS1 编码进行 stix
\documentclass{article}
\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix2}{m}{n}
\DeclareSymbolFont{STIXletters}{LS1}{stix2} {m}{it}
\DeclareMathSymbol\partial {\mathord}{STIXletters}{"29}
\showoutput
\begin{document}
$ \partial x $
\end{document}
我在这里没有使用 garamond,所以这是一个具有默认 cm 数学的 stix2 部分。
stix 有直立和斜体 LS1 编码字体,但\partial
在我看来是一样的
\documentclass{article}
\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix2}{m}{n}
\DeclareSymbolFont{STIXlettersup}{LS1}{stix2} {m}{n}
\DeclareMathSymbol\partialup {\mathord}{STIXlettersup}{"29}
\DeclareSymbolFont{STIXletters}{LS1}{stix2} {m}{it}
\DeclareMathSymbol\partial {\mathord}{STIXletters}{"29}
\showoutput
\begin{document}
$ \partial x + \partialup x$
\end{document}
答案2
在 LuaLaTeX 或 XeLaTeX 中,您可以使用unicode-math
:
\setmainfont{EBGaramond-Regular}[
BoldFont = EBGaramond-Bold,
ItalicFont = EBGaramond-Italic,
BoldItalicFont = EBGaramond-BoldItalic
]
\setmathfont{Garamond Math}[Scale=MatchUppercase]
\setmathfont{STIX Two Math}[Range={\partial}, Scale=MatchUppercase]