我想使用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
安德魯的回答只是片面的。
如果你想\sum
用 STIX 符號完全替換,你必須重新定義\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}
包
amsmath
保存\sum
然後\sum@
重新定義\sum
為一個複雜的巨集;這樣做是為了遵守這些\dots
功能並尊重sumlimits
或nosumlimits
選項。僅僅定義
\sumop
並不能使符號符合上述特徵。LS2
LaTeX 不知道字體編碼,因此應該在引用使用它的字體之前聲明它。所需的\DeclareFontEncoding
命令可以在 中找到stix.sty
。