今学期私が出席する講義の 1 つを読み上げる教授の筆致が遅いため、その講義の講義原稿を TeX でタイプセットしました。一部の記号の使用と、下括弧のレンダリングを改善するために、MnSymbol を使用しています。MnSymbol に詳しい方はご存知かもしれませんが、MnSymbol は amsmath パッケージとは異なる合計演算子を提供します。また、異なる積分演算子も提供しますが、私はそれらの amsmath 数学演算子の方が好きなので、最後の数学フォント パッケージとして「esint」をロードすることで、すでにこれを修正しました。MnSymbol の使用を中止せずに、合計演算子を標準の演算子に簡単に「修正」する方法はありますか? どなたか助けていただければ幸いです。
答え1
CM シンボルを MnSymbol にインポートする方法については、以下のフォローアップを参照してください。ただし、まず...
MnSymbols をインポートします:
数個のMnSymbol
sだけを使用する場合は、パッケージをロードするのではなく、それらだけをインポートする方が簡単ですMnSymbol
。その方法は次のとおりです(MnSymbol
具体的な参考として、シンボル上の破線左矢印ただし、このサイトにあるシンボルのインポートに関する他の質問も役立ちます。
MnSymbol パッケージ ドキュメント (または、さらに良いのはmnsymbol.sty
) を調べて、シンボルがどのフォント ファミリから派生したかを調べると役立ちます。次に、\fonttable
(パッケージfonttable
) を使用してフォント ファミリをテーブルに表示し、そこから目的のグリフに対応するスロット番号を決定すると役立ちます。
まず、フォント ファミリを決定するために、グリフ名を調べmnsymbol.sty
、それを使用してフォント ファミリを決定します。
上の画像から、\bigcupdot
グリフ (\displaystyle
および\textstyle
) は\mathop
s であり、symbols
フォントから取得されていることがわかります。名前はフォント ファミリsymbols
に関連付けられていますMnSymbolF
。これらは私の MWE で必要です。\cupdot
グリフは別のフォント ファミリ ( MnSymbolC
) から取得されています。
以下の MWE では、2 つの異なるフォント ファミリ ( \cupdot
、\tbigcupdot
(textstyle \bigcupdot
)、\dbigcupdot
(displaystyle \bigcupdot
)) から 3 つのグリフをインポートする方法を示します。次に、、を使用して\mathchoice
、適切な数式スタイルで適切な bigcupdot スタイルを使用するように LaTeX に指示します。
に関するコメント行のコメントを解除するとfonttable
、グリフのスロット番号を決定したフォント テーブルが表示されます。
\documentclass{article}
% =============================================
%Import symbols from font MnSymbol without importing the whole package
% =============================================
\DeclareFontFamily{U} {MnSymbolC}{}
\DeclareFontShape{U}{MnSymbolC}{m}{n}{
<-6> MnSymbolC5
<6-7> MnSymbolC6
<7-8> MnSymbolC7
<8-9> MnSymbolC8
<9-10> MnSymbolC9
<10-12> MnSymbolC10
<12-> MnSymbolC12}{}
\DeclareFontShape{U}{MnSymbolC}{b}{n}{
<-6> MnSymbolC-Bold5
<6-7> MnSymbolC-Bold6
<7-8> MnSymbolC-Bold7
<8-9> MnSymbolC-Bold8
<9-10> MnSymbolC-Bold9
<10-12> MnSymbolC-Bold10
<12-> MnSymbolC-Bold12}{}
\DeclareSymbolFont{MnSyC} {U} {MnSymbolC}{m}{n}
\DeclareMathSymbol{\cupdot}{\mathbin}{MnSyC}{60}
% =============================================
\DeclareFontFamily{U} {MnSymbolF}{}
\DeclareFontShape{U}{MnSymbolF}{m}{n}{
<-6> MnSymbolF5
<6-7> MnSymbolF6
<7-8> MnSymbolF7
<8-9> MnSymbolF8
<9-10> MnSymbolF9
<10-12> MnSymbolF10
<12-> MnSymbolF12}{}
\DeclareFontShape{U}{MnSymbolF}{b}{n}{
<-6> MnSymbolF-Bold5
<6-7> MnSymbolF-Bold6
<7-8> MnSymbolF-Bold7
<8-9> MnSymbolF-Bold8
<9-10> MnSymbolF-Bold9
<10-12> MnSymbolF-Bold10
<12-> MnSymbolF-Bold12}{}
\DeclareSymbolFont{SymbolF} {U} {MnSymbolF}{m}{n}
\DeclareMathSymbol{\dbigcupdot}{\mathop}{SymbolF}{35}
\DeclareMathSymbol{\tbigcupdot}{\mathop}{SymbolF}{34}
\def\bigcupdot{\mathchoice{\dbigcupdot}{\tbigcupdot}{\tbigcupdot}{\tbigcupdot}}
% =============================================
%\usepackage{fonttable}
\begin{document}
\centering
$ x \cupdot y$\par
$ x \bigcupdot y \quad \scriptstyle x \bigcupdot y
\quad \scriptscriptstyle x \bigcupdot y$
\[ x \bigcupdot y\]
%\clearpage\fonttable{MnSymbolF8}
%\clearpage\fonttable{MnSymbolC10}
\end{document}
フォローアップ:
OP は、MnSymbol をデフォルトにできるかどうか、たとえば\sum
デフォルトの LaTeX からインポートできるかどうかを尋ねました。barbara がコメントで指摘しているように、デフォルトは\sum
cmex フォント セットから取得されます。ここでは、次のようにインポートします\Xsum
(cm フォントに適切な呼び出しかどうかはわかりません\DeclareFontShape
が、MnSymbol に対して行われたことを模倣しました)。
\documentclass{article}
\usepackage{mnsymbol}
% =============================================
%Import symbols from font cmex without importing the whole package
% =============================================
\DeclareFontFamily{U} {cmex}{}
\DeclareFontShape{U}{cmex}{m}{n}{
<-6> cmex5
<6-7> cmex6
<7-8> cmex7
<8-9> cmex8
<9-10> cmex9
<10-12> cmex10
<12-> cmex12}{}
\DeclareSymbolFont{Xcmex} {U} {cmex}{m}{n}
\DeclareMathSymbol{\Xdsum}{\mathop}{Xcmex}{88}
\DeclareMathSymbol{\Xtsum}{\mathop}{Xcmex}{80}
\DeclareMathOperator*{\Xsum}{\mathchoice{\Xdsum}{\Xtsum}{\Xtsum}{\Xtsum}}
% =============================================
\usepackage{fonttable}
\begin{document}
\centering
sum under MnSymbol:\par
$\sum_{i=1}^2 x_i $
\[\sum_{i=1}^2 x_i \]
Defined Xsum from cmex:\par
$\Xsum_{i=1}^2 x_i $
\[\Xsum_{i=1}^2 x_i \]
\tiny\fonttable{cmex8}
\end{document}