Erstellen eines Produktintegrationssymbols, das sich wie das Standardintegrationssymbol verhält

Erstellen eines Produktintegrationssymbols, das sich wie das Standardintegrationssymbol verhält

Kontext. DerProduktintegralist das kontinuierliche Analogon des gewöhnlichen Integrals (Riemann, Lebesgue, Denjoy, Perron usw.) und wurde 1887 von Vito Volterra eingeführt, um eine kompakte funktionale Möglichkeit zu bieten, die Lösung des Cauchy-Problems für Systeme gewöhnlicher Differentialgleichungen auszudrücken. Der interessierte Leser kann einen Blick darauf werfendieses Buch von Antonín Slavík,Produktintegration, ihre Geschichte und Anwendungen, Matfyzpress 2007.
In der üblichen Praxis (auch in der oben zitierten Referenz) wird das Produktintegral \Pidurch den Standardbefehl \prodin der üblichen „Großschreibung“ dargestellt, ähnlich dem, was man durch Verwendung des Codes erhält

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

Aus logischer und übersichtlicher Sicht ist dies jedoch etwas unbefriedigend:warum sollten wir für das Produkt endlicher oder unendlicher diskreter Terme dasselbe Symbol verwenden, selbst für das Produkt unendlicher „infinitesimaler“ Terme?
Beim gewöhnlichen Integral wissen wir, dass diese Grenzwertoperation vom Summationssymbol \sumzum \intSymbol führt, also eine Art großes „S“ im Schreibschriftstil ist.

Das zu lösende Problem. Meine Idee ist, einen Befehl zu definieren \pint, der eine Art Großbuchstaben „P“ im Skriptstil ausgibt und sich genau wie das \intSymbol verhält. Genau

  1. \pintsollte der Standardbefehl sein,
  2. Der Ausdruck nach dem Befehl sollte grafisch zentriert sein, bezogen auf die Höhe des Symbols (wie es beim Standardsymbol der Fall ist \int),
  3. \pint\limitssoll der Befehl sein, um die Produktintegrationsgrenzen oberhalb und unterhalb des \pintSymbols zu setzen,
  4. Das „P“ im Schreibschriftstil könnte durch die Verwendung von etwas Ähnlichem \mathscr{P}oder durch die Verwendung einer SVG- oder anderen Vektorbilddatei erstellt werden, die durch Ändern des Standardsymbols erhalten wurde \int.

Einige Experimente zielten darauf ab, das gewünschte grafische Ergebnis zu erzielen. Ich habe es geschafft, etwas dieser Art zu produzieren, indem ich die folgenden Präambel-Codedeklarationen verwendet habe

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

Um einen "Standardstil" zu erhalten, \pinthabe ich dann den folgenden Befehl definiert

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

welches, im Hauptteil des Dokuments als aufgerufen \pint_{\!\!\!\!\!\!0}^{t}(1+r(s))^{\dm s}, die folgende grafische Ausgabe erzeugt: Bildbeschreibung hier eingeben

Um einen \int\limitsFlavour-Befehl zu erhalten, habe ich danach Folgendes definiert

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

welches, im Hauptteil des Dokuments als aufgerufen \pint_{\!\!\!\!\!\!0}^{\quad t}(1+r(s))^{\dm s}, die folgende grafische Ausgabe erzeugt: Bildbeschreibung hier eingeben

Während die erzielte grafische Darstellung der gewünschten ähnelt, sind die präsentierten Lösungen in Bezug auf den ersten der oben genannten Punkte etwas unbefriedigend, d. h.

  1. das Aufrufen des \pintBefehls reicht nicht aus, um die tiefgestellten und hochgestellten Zeichen richtig zu platzieren, da Sie ihre Position mit bloßen Händen anpassen müssen, und
  2. der Ausdruckist grafisch nicht zentriertin Bezug auf das \pintSymbol, und schließlich
  3. Um das \pint\limitsVerhalten zu erhalten, muss ich den Befehl komplett neu definieren.

Antwort1

Hier ist mein Vorschlag

\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} 

Bildbeschreibung hier eingeben

Ich möchte das prodintPaket erwähnen. Allerdings mit einer kleinen Besonderheit.

\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}

Bildbeschreibung hier eingeben

Antwort2

Eine direkte Anpassung meiner Antwort unterWie werden große Betreiber definiert?. Hier \fooergibt ein größeres Symbol in \displaystyle, ebenso wie \int, während \barrdie Größe des mit verknüpften Symbols \textstyleauch in der Anzeigemathematik beibehält.

\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} 

Bildbeschreibung hier eingeben

Mico merkt an, dass dies \barrin keinem der Skriptstile verwendet werden sollte, was auch stimmt. Wenn diese Verwendung notwendig wäre, \barrkönnte then stattdessen wie folgt definiert werden:

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

Im obigen MWE wird das „P“ auf die gleiche Größe wie skaliert \sum. Wenn Sie es lieber auf die Größe von skaliert hätten \int, ersetzen Sie einfach in jedem der s \sumdurch und das Ergebnis sieht folgendermaßen aus:\int\DeclareMathOperator

Bildbeschreibung hier eingeben

Antwort3

Meiner Meinung nach ist die funktionale (Einzelbuchstaben-)Notation für das Integral einfacher und wirtschaftlicher als das Integralsymbol, sie kann dxdie integrierende Variable bei Bedarf explizit anzeigen (anstatt sie in oft ungenutzten zu verstecken) und ist nicht von der Dimension abhängig. Die Notation muss auch leicht verwendbar sein, wenn man im Unterricht an die Tafel schreibt. Eine einfache Notation sollte also \DeclareMathOperator*{\pint}{\mathbf{P}}ausreichen, aber im Beispiel unten wird zur Unterscheidung eine Schriftart mit längerem Hals verwendet, und sie kann trotzdem leicht handschriftlich reproduziert werden.

\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}

Produktintegralsymbol

verwandte Informationen