我是使用 pdflatex 的 Latex 新手。我正在尝试将一些数学符号更改为不同的系列。就我而言,我想将 xi 更改为 XITS math。将 XITS 与 pdflatex 结合使用我可以简单地使用stix
包来实现这一点。但是,在我的文档中,我使用了其他字体的符号,例如MnSymbol
。当我同时使用两者时,会导致错误,\UndeclareText命令来自stix
包。我使用的工作模型是
\documentclass{report}
\usepackage{amsmath}
\usepackage{MnSymbol}
\usepackage{stix}
\begin{document}
$\xi$
\end{document}
使用不带 的上述代码MnSymbol
,我会将所有符号更改为stix
。但是,我只想使用 中的某些符号stix
。我可以找到一些关于从特定字体系列中选择特定符号的讨论。作为一名初学者,我无法理解解决方案,以至于无法将其应用于我的情况。
我能找到的一个简单解决方案是https://tex.stackexchange.com/a/324207/180603。但是,此代码无法使用 pdflatex 运行!
改变符号的最简单的方法是什么?
答案1
如果您使用unicode-math
,则有一种标准方法可以做到这一点,即range=
。\setmathfont
假设您想使用 XITS Math(STIX 的固定版本)中的“墓碑”QED 符号而不是默认符号。您可以写,
\setmathfont{Latin Modern Math}
\setmathfont{XITS Math}[
range=\QED, Scale=MatchUppercase ]
该\QED
符号现在将是一个黑色矩形,而不是白色正方形。(您可以\renewcommand\qedsymbol{\QED}
在证明中使用它amsthm
。)
许多遗留软件包有 OpenType 版本。 \setmathfont[range=...]
可以混合并匹配 Unicode 中的任意符号的任意组合。
如果您想继续使用旧式数学软件包,或者无法使用 LuaLaTeX 或 XeLaTeX,则没有通用方法。最好的通用方法是打开文件.sty
,复制定义所需符号所需的最少代码行,然后将其粘贴到文档中。通常,这些代码行后面会\DeclareSymbolFont
跟着\DeclareMathSymbol
,但 STIX 的不同之处在于它还声明了一些自定义字体编码。
由于 8 位传统 TeX 中数学字母数量有限,您可能会用完。如果您只需要一两个符号,则解决这个问题的一种方法是在数学模式下使用文本符号。您可以将数学类(例如或)包裹在\mathrel
或框\mathbin
周围,使用选择其中的特定编码、系列和系列,然后在字体表中查找所需的字符(如果软件包文档附带一个),然后使用插入它。\mbox
\text
\usefont
\symbol