創建充當標準集成符號的產品集成符號

創建充當標準集成符號的產品集成符號

情境。這產品積分是普通(黎曼、勒貝格、Denjoy、Perron 等)積分的連續模擬,由 Vito Volterra 於 1887 年引入,旨在提供一種緊湊的函數方式來表達常微分系統柯西問題的解方程。有興趣的讀者可以看看這本書作者是安東尼‧斯拉維克 (Antonín Slavík),產品整合、歷史與應用, Matfyzpress 2007
在通常的實踐中(也在上面引用的參考文獻中),乘積積分\Pi由標準命令表示為普通的“大寫” \prod,其方式類似於使用代碼獲得的方式

\prod_0^t (1+r(s))^{\operatorname{d}s} 

然而,從邏輯和清晰度的角度來看,這有點不令人滿意:為什麼我們應該對有限或無限離散項的乘積使用相同的符號,甚至對於無限「無窮小」項的乘積?
對於普通積分,我們知道這個極限運算從求和符號引向\sum符號\int,是一種腳本式的大寫「S」。

待解決的問題。我的想法是定義一個\pint命令,它會列印一種腳本樣式的大寫“P”,並且其行為與\int符號完全相同。恰恰

  1. \pint應該是標準命令,
  2. 命令後面的表達式應該相對於符號的高度在圖形上居中(就像標準\int符號一樣),
  3. \pint\limits應該是用於將產品整合限制置於符號上方和下方的命令\pint
  4. 腳本樣式的「P」可以透過使用類似的東西\mathscr{P}或透過使用.svg或透過修改標準\int符號獲得的其他向量類型的圖像來製作。

一些旨在獲得所需圖形結果的實驗。我已經通過使用以下序言代碼聲明成功地生成了此類內容

\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{stix}
\newcommand{\dm}{\mathrm{d}}

然後,為了獲得“標準樣式”,\pint我定義了以下命令

% Definition of Volterra's product integral, standard style.
\DeclareMathOperator{\pint}{{\mathlarger{\mathlarger{\mathlarger{\mathlarger{\mathscr{P}}}}}}}

在文檔正文中呼叫它\pint_{\!\!\!\!\!\!0}^{t}(1+r(s))^{\dm s},產生以下圖形輸出: 在此輸入影像描述

之後,為了獲得\int\limits風味命令,我定義了以下內容

% Definition of Volterra's product integral, \limits style.
\DeclareMathOperator*{\pint}{{\mathlarger{\mathlarger{\mathlarger{\mathlarger{\mathscr{P}}}}}}}

在文檔正文中呼叫它\pint_{\!\!\!\!\!\!0}^{\quad t}(1+r(s))^{\dm s},產生以下圖形輸出: 在此輸入影像描述

雖然所獲得的圖形風格與所需的類似,但所提出的解決方案相對於上述幾點的第一棵樹有些不令人滿意,即

  1. 呼叫該\pint命令不足以正確放置下標和上標,因為您必須“徒手”調整它們的位置,並且
  2. 表達方式沒有圖形居中尊重符號\pint,最後
  3. 為了獲得該\pint\limits行為,我必須完全重新定義該命令。

答案1

這是我的建議

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx,mathrsfs}

\makeatletter
\NewDocumentCommand{\pint}{t\limits e{_^}}{%
  \DOTSI\pint@{#1}{#2}{#3}%
}
\NewDocumentCommand{\pint@}{mmm}{%
  \mathop{%
    \IfBooleanTF{#1}{\pint@limits}{\pint@nolimits}{#2}{#3}%
  }%
}

\NewDocumentCommand{\pint@limits}{mm}{%
  \mathpalette\pint@@limits{{#1}{#2}}%
}
\NewDocumentCommand{\pint@@limits}{mm}{%
  \pint@@@limits#1#2%
}
\NewDocumentCommand{\pint@@@limits}{mmm}{%
  \mathop{\vcenter{
    \sbox\z@{\raisebox{\depth}{$\m@th#1\int$}}%
    \hbox{\resizebox{!}{0.95\ht\z@}{$\m@th\mathscr{P}$}\vphantom{\box\z@}}%
  }}\limits\IfValueT{#2}{_{#2}}\IfValueT{#3}{^{\mspace{\if@display18\else9\fi mu}#3}}%
}

\NewDocumentCommand{\pint@nolimits}{mm}{%
  \mathpalette\pint@@nolimits{{#1}{#2}}%
}
\NewDocumentCommand{\pint@@nolimits}{mm}{%
  \pint@@@nolimits#1#2%
}
\NewDocumentCommand{\pint@@@nolimits}{mmm}{%
  \vcenter{
    \sbox\z@{\raisebox{\depth}{$\m@th#1\int$}}%
    \hbox{\resizebox{!}{0.95\ht\z@}{$\m@th\mathscr{P}$}\vphantom{\box\z@}}%
  }\IfValueT{#2}{_{\mspace{-\if@display24\else12\fi mu}#2}}\IfValueT{#3}{^{#3}}%
}

\makeatother

\begin{document}

\[
\pint_a^b \int_a^b \pint\limits_a^b \int\limits_a^b
\]
\begin{center}
$\pint_a^b \int_a^b \pint\limits_a^b \int\limits_a^b$
\end{center}

\end{document} 

在此輸入影像描述

我想提一下這個prodint包。不過,有一點扭曲。

\documentclass{article}
\usepackage{amsmath}
\usepackage{prodint}

\makeatletter
\newcommand\pint{\DOTSI\if@display\PRODI\else\prodi\fi\ilimits@}
\makeatother

\begin{document}

\[
\pint_a^b \int_a^b \pint\limits_a^b \int\limits_a^b
\]
\begin{center}
$\pint_a^b \int_a^b \pint\limits_a^b \int\limits_a^b$
\end{center}

\end{document}

在此輸入影像描述

答案2

我的答案的直接改編大營運商是如何定義的?。此處,與 一樣,\foo在 中給出更大的符號,而保留與 關聯的符號的大小,即使在顯示數學中也是如此。\displaystyle\int\barr\textstyle

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\DeclareMathOperator*{\foo}{\scalerel*{\mathscr{P}}{\sum}}
\DeclareMathOperator*{\barr}{\scalerel*{\mathscr{P}}{\textstyle\sum}}
\usepackage{mathrsfs}
\usepackage{scalerel}

\begin{document}
\[
\foo_{i=3}^{6}(f^2(i))
\]

This is inline: \(\foo_{i=3}^{6}(f^2(i)) \)

\[
\barr_{i=3}^{6}(f^2(i))
\]

This is inline: \(\barr_{i=3}^{6}(f^2(i)) \)
\end{document} 

在此輸入影像描述

Mico 指出,\barr不應在任何一種腳本樣式中使用,這是事實。如果該用法是必要的,那麼\barr可以定義為

\DeclareMathOperator*{\barr}{\scalerel*{\mathscr{P}}{\mathchoice
  {\textstyle\sum}{\sum}{\sum}{\sum}}}

在上面的 MWE 中,「P」被縮放到與 相同的大小\sum。如果您希望將其縮放為 的大小\int,只需在每個s 中替換\sum為,結果如下所示:\int\DeclareMathOperator

在此輸入影像描述

答案3

在我看來,積分的函數(單字母)表示法比積分符號更簡單且更經濟,dx如果需要,它可以明確顯示(而不是將其隱藏在經常未使用的中)積分變量,並且它不依賴於維度。在課堂上在黑板上書寫時,該符號也需要易於使用。因此,一個簡單的\DeclareMathOperator*{\pint}{\mathbf{P}}應該可以完成這項工作,但在範例中,下面使用了較長的字體以進行區分,並且仍然可以輕鬆地在手寫中複製它。

\documentclass{article}
\usepackage{amsmath}
\usepackage{scalerel}

% for longer neck letters but don't use them by default
\usepackage[nodefault,typeone]{drm}

% 
\newcommand{\drm}[1]{{\fontfamily{drm}\selectfont #1}}

% Longer neck P
\DeclareMathOperator*{\pint}{\textrm{\drm{P}}}

% Longer neck P large operator
\DeclareMathOperator*{\Pint}{\scalerel*{\textrm{\drm{P}}}{\int}}
\begin{document}

\begin{tabular}{ll}
  $\pint_a^b(1+r(s))$
  & $\displaystyle \pint_a^b(1+r(s))$\\[1cm]
  $\pint_{s \in [a,b]}(1+r(s))$
  & $\displaystyle \pint_{s \in [a,b]}(1+r(s))$\\[1cm]
  $\pint_{(s,t) \in [a,b]\times[c,d]}(1+r(s,t))$
  & $\displaystyle \pint_{(s,t) \in [a,b]\times[c,d]}(1+r(s,t))$\\[1cm]
  $\pint_{s^2+t^2=1}(1+r(s,t))$
  & $\displaystyle \pint_{s^2+t^2=1}(1+r(s,t))$\\[1cm]
  $\Pint_{s^2+t^2=1}(1+r(s,t))$
  & $\displaystyle \Pint_{s^2+t^2=1}(1+r(s,t))$
\end{tabular}

\end{document}

產品積分符號

相關內容