使用 MnSymbols 的標準 AMS-Sum 運算子?

使用 MnSymbols 的標準 AMS-Sum 運算子?

因為一位教授讀我這個學期參加的一個講座,寫得很慢,所以我用 TeX 為該講座排版了一個講座腳本。為了使用一些符號和更好的下括號渲染,我使用 MnSymbol。熟悉 MnSymbol 的人可能知道,它提供了與 amsmath-package 不同的求和運算符。它還提供了一個不同的積分運算符,但我已經通過加載“esint”作為最後一個數學字體包來解決這個問題,因為我更喜歡那些 amsmath 數學運算符。有沒有一種方法可以輕鬆地將求和運算符「修復」為標準運算符,而不必停止使用 MnSymbol?任何幫助,將不勝感激。

答案1

有關將 CM 符號導入 MnSymbol 的信息,請參閱下面的後續部分。但首先...

導入 MnSymbols:

如果您只使用幾個MnSymbol,最簡單的方法是僅匯入它們,而不是載入MnSymbol套件。這是如何完成的(我使用過,作為MnSymbol具體參考,符號上方的虛線左箭頭,儘管該網站上有關導入符號的其他問題也很有用)。

它有助於查看 MnSymbol 套件文件(或更好的是,mnsymbol.sty)以查找符號派生自哪個字體系列,然後它有助於使用\fonttable(package fonttable) 在表格中顯示字體系列,從中您可以確定插槽與所需字形相對應的數字。

首先,為了確定字體系列,我會尋找mnsymbol.sty字形名稱,並使用它來確定字體系列:

在此輸入影像描述

在此輸入影像描述

從上面的圖片中,我看到\bigcupdot字形(\displaystyle\textstyle)是\mathops 並且來自symbols字體。此名稱與字體系列symbols相關聯。MnSymbolF我的 MWE 需要這些。此\cupdot字形來自不同的字體系列 ( MnSymbolC)。

在下面的 MWE 中,我展示了來自兩個不同字體系列的 3 個字形的導入:\cupdot\tbigcupdot(textstyle \bigcupdot) 和\dbigcupdot(displaystyle \bigcupdot)。然後我使用\mathchoice, 告訴 LaTeX 在適當的數學樣式中使用適當的 bigcupdot 樣式。

如果您取消註解有關 的註解行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(我不確定我的\DeclareFontShape呼叫是否適合 cm 字體,但我模仿了 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}

在此輸入影像描述

相關內容