「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\dotssumlimitsnosumlimits

  2. 定義するだけでは、\sumopシンボルは上記の機能に準拠しません。

  3. フォント エンコーディングはLS2LaTeX では認識されないため、それを使用するフォントを参照する前に宣言する必要があります。必要な\DeclareFontEncodingコマンドは にありますstix.sty

関連情報