如何从“STIX”字体导入求和符号

如何从“STIX”字体导入求和符号

我想使用STIX包提供的求和符号。我确实尝试了一些方法,但没有任何效果。以下是我尝试的方法。

\documentclass{article}
\usepackage{amssymb,amsmath}
\DeclareSymbolFont{largesymbols}{LS2}{stixex}{m}{n}
\DeclareMathSymbol{\sumop}{\mathop}{largesymbols}{"B3}
\begin{document}
Hi, here is the $\sum$ and $$\sum$$ symbol of STIX
\end{document}

这显示了一个错误并且根本没有编译:(

答案1

您需要设置LS2编码并避免覆盖largesymbols

示例输出

\documentclass{article}

\usepackage{amssymb,amsmath}

\makeatletter
\DeclareFontEncoding{LS2}{}{\noaccents@}
\makeatother

\DeclareFontSubstitution{LS2}{stix}{m}{n}
\DeclareSymbolFont{xlargesymbols}{LS2}{stixex}{m}{n}
\DeclareMathSymbol{\sumop}{\mathop}{xlargesymbols}{"B3}

\begin{document}

Hi, here is the $\sumop$ and
\[ \sumop \]
symbol of STIX and here are the standard $\sum$ and
\[ \sum \]
symbols.
\end{document}

在您的示例文件中,文件中的第一个错误.log

LaTeX Error: Encoding scheme `LS2' unknown.

表示尚未定义编码方案。仔细研究文件stix.sty,可以了解该文件如何设置编码。

答案2

安德鲁的回答只是部分。

如果要用\sumSTIX 符号完全替换,则必须重新定义\sum@

\documentclass{article}
\usepackage{amssymb,amsmath}

\makeatletter
\DeclareFontEncoding{LS2}{}{\noaccents@} 
\DeclareFontSubstitution{LS2}{stix}{m}{n}

\DeclareSymbolFont{largesymbolsSTIX}{LS2}{stixex}{m}{n}
\DeclareMathSymbol{\sum@}{\mathop}{largesymbolsSTIX}{"B3}
\makeatother

\begin{document}         

Hi, here is the $\sum$ and $\displaystyle\sum$ symbol of STIX

\end{document}

在此处输入图片描述

  1. amsmath包保存\sum然后\sum@重新定义\sum为一个复杂的宏;它这样做是为了符合\dots功能并尊重sumlimitsnosumlimits选项。

  2. 仅仅定义\sumop并不能使符号符合上述特征。

  3. LaTeX 无法识别字体编码LS2,因此在引用字体之前应声明该编码。所需的\DeclareFontEncoding命令可在 中找到stix.sty

相关内容