我尝试了很多次(2 天),并尝试找到一种方法来扩展答案
但我无法理解这里的方法。我如何扩展上面的答案以包括像'\oint'这样的垂直闭积分
到目前为止,我一直在使用垂直积分符号,现在我需要闭式积分。我该怎么做?
答案1
根据链接答案你奉献了自己,我想这就是你所寻找的。
\documentclass{article}
\usepackage{amsmath}
\DeclareFontEncoding{LS2}{}{\noaccents@}
\DeclareFontSubstitution{LS2}{stix}{m}{n}
\DeclareSymbolFont{integrals}{LS2}{stixcal}{m}{n}
\DeclareMathSymbol{\ointupop}{\mathop}{integrals}{"B2}
\makeatletter
\renewcommand*{\oint}{\DOTSI\ointupop\ilimits@}
\makeatother
\begin{document}
\[
\oint
\]
\end{document}
您可以找到字符代码点的定义(例如,B2
对于\oint
)在tex/latex/stix/stix.sty
您的 LaTeX 发行版中。
答案2
简单的方法
正如 egreg 所写,简单的答案是\usepackage[upint]{stix}
。XITS 是 STIX 字体的一个分支。
\documentclass{article}
\usepackage[upint]{stix}
\begin{document}
\[ \int \oint \oiint \iint \iiint \]
\end{document}
复杂的方法
如果你想以传统方式添加单个符号,你需要查找包装文档它们位于哪种字体的哪个插槽中。您要查找的符号位于第 39 页,位于字体的“E8”插槽中stix-mathcal
。然后打开文件stix.sty
并对该符号字体的必要设置进行逆向工程。
由于该符号有两个版本,一个是显示样式的版本,位于插槽“E8”,另一个是较小的版本,位于“B2”,您实际上需要使用 在它们之间进行选择\mathchoice
。
\documentclass{article}
\DeclareFontEncoding{LS2}{}{\noaccents@}
\DeclareFontSubstitution{LS2}{stix}{m}{n}
\DeclareSymbolFont{integrals}{LS2}{stixcal}{m}{n}
\DeclareMathSymbol{\ointupbig}{\mathop}{integrals}{"E8}
\DeclareMathSymbol{\ointupsmall}{\mathop}{integrals}{"B2}
\DeclareRobustCommand{\ointup}{\mathchoice{\ointupbig}{\ointupsmall}{\ointupsmall}{\ointupsmall}}
\begin{document}
\( \displaystyle
\oint_{\oint_{\oint}} \quad
\ointup_{\ointup_{\ointup}} \)
\( \oint \quad
\ointup \)
\end{document}
我不推荐这样做,因为它依赖于stix
包的繁琐的实现细节,遇到了传统数学字母的限制,并且还有其他怪癖。
但我想这正是您要问的,该怎么办?
现代方式
您也可以使用 来执行此操作unicode-math
,我建议这样做,除非您被迫提交到尚不支持 LuaLaTeX 或 XeLaTeX 的网站。
如果你想使用 XITS Math 作为你的数学字体,你可以使用
\setmathfont[StylisticSet=8]{XITS Math}
如果要将 XITS 直立积分与其他字体一起使用,可以添加命令
\setmathfont[range={"222B-"2233,"2A0B-"2A1C},StylisticSet=8]{XITS Math}
加载主程序后\setmathfont
。这也适用于 STIX Two Math。如果您要混合使用具有不同高度的不同数学字体,则可能需要添加Scale=MatchUppercase
字体选项。
答案3
wasysym.sty
是最简单的方法之一,并且MWE
(因为您没有提供任何方法MWE
,所以我根据标准模板给出了建议)是:
\documentclass{book}
\usepackage[integrals]{wasysym}
\begin{document}
\[
\int
\]
\end{document}