パッケージによって提供される合計記号を使用したいと思います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
。