
Contexto. Elintegral de productoes el análogo continuo de la integral ordinaria (Riemann, Lebesgue, Denjoy, Perron, etc.) y fue introducido por Vito Volterra en 1887 para proporcionar una forma funcional compacta de expresar la solución al problema de Cauchy para sistemas de diferenciales ordinarios. ecuaciones. El lector interesado puede echar un vistazo aeste libro de Antonín Slavík,Integración de productos, su historia y aplicaciones., Matfyzpress 2007.
En la práctica habitual (también en la referencia citada anteriormente), la integral del producto se representa como la "mayúscula \Pi
" ordinaria mediante el comando estándar \prod
de una manera similar a la que se obtiene usando el código
\prod_0^t (1+r(s))^{\operatorname{d}s}
Sin embargo, desde el punto de vista lógico y de claridad esto resulta algo insatisfactorio:¿Por qué deberíamos usar el mismo símbolo para el producto de términos finitos o infinitos discretos incluso para el producto de infinitos términos "infinitesimales"?
Para la integral ordinaria sabemos que esta operación límite va del símbolo de suma \sum
al \int
símbolo, es una especie de "S" mayúscula estilo guión.
El problema a resolver. Mi idea es definir un \pint
comando que imprima una especie de "P" mayúscula estilo script y se comporte exactamente como el \int
símbolo. Precisamente
\pint
debería ser el comando estándar,- la expresión que sigue al comando debe estar centrada gráficamente respecto a la altura del símbolo (como ocurre con el
\int
símbolo estándar), \pint\limits
debería ser el comando utilizado para poner los límites de integración del producto por encima y por debajo del\pint
símbolo,- el estilo de script "P" podría crearse usando algo como
\mathscr{P}
o usando un .svg u otro tipo de imagen vectorial obtenida modificando el\int
símbolo estándar.
Algunos experimentos encaminados a obtener el resultado gráfico buscado.. Me las arreglé para producir algo de este tipo usando las siguientes declaraciones de código de preámbulo
\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{stix}
\newcommand{\dm}{\mathrm{d}}
Luego, para obtener un "estilo estándar" \pint
definí el siguiente comando
% Definition of Volterra's product integral, standard style.
\DeclareMathOperator{\pint}{{\mathlarger{\mathlarger{\mathlarger{\mathlarger{\mathscr{P}}}}}}}
que, invocado en el cuerpo del documento como \pint_{\!\!\!\!\!\!0}^{t}(1+r(s))^{\dm s}
, produce el siguiente resultado gráfico:
Después de eso, para obtener un \int\limits
comando de sabor, definí lo siguiente
% Definition of Volterra's product integral, \limits style.
\DeclareMathOperator*{\pint}{{\mathlarger{\mathlarger{\mathlarger{\mathlarger{\mathscr{P}}}}}}}
que, invocado en el cuerpo del documento como \pint_{\!\!\!\!\!\!0}^{\quad t}(1+r(s))^{\dm s}
, produce el siguiente resultado gráfico:
Si bien el sabor gráfico obtenido es similar al deseado, las soluciones presentadas son algo insatisfactorias con respecto al primer árbol de los puntos anteriores, es decir
- invocar el
\pint
comando no es suficiente para tener los subíndices y superíndices colocados correctamente, ya que hay que modificar su posición con "las manos desnudas", y - la expresionno está centrado gráficamenterespecto al
\pint
símbolo, y finalmente - Para obtener el
\pint\limits
comportamiento tengo que redefinir completamente el comando.
Respuesta1
Aquí está mi propuesta.
\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}
Me gustaría mencionar el prodint
paquete. Aunque con un pequeño giro.
\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}
Respuesta2
Una adaptación directa de mi respuesta en¿Cómo se definen los grandes operadores?. Aquí, \foo
proporciona un símbolo más grande en \displaystyle
, al igual que \int
, mientras que \barr
conserva el tamaño del símbolo asociado con \textstyle
, incluso en visualización matemática.
\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 señala que \barr
no debe usarse en ninguno de los estilos de guión, lo cual es cierto. Si ese uso fuera necesario, entonces \barr
podría definirse como
\DeclareMathOperator*{\barr}{\scalerel*{\mathscr{P}}{\mathchoice
{\textstyle\sum}{\sum}{\sum}{\sum}}}
En el MWE anterior, la "P" se escala al mismo tamaño que \sum
. Si prefiere que se escale al tamaño de \int
, simplemente reemplácelo \sum
con \int
en cada uno de los \DeclareMathOperator
s y el resultado será el siguiente:
Respuesta3
En mi opinión, la notación funcional (una sola letra) para la integral es simple y más económica que el símbolo integral, puede mostrar explícitamente (en lugar de ocultarla en un formato que a menudo no se utiliza dx
) la variable integradora si es necesario, y no depende de la dimensión. . La notación también debe ser fácilmente utilizable al escribir en clase en una pizarra. Por lo tanto, una fuente simple \DeclareMathOperator*{\pint}{\mathbf{P}}
debería funcionar, pero en el ejemplo a continuación se usa una fuente con un cuello más largo para distinguirla, y aún así se puede replicar fácilmente en escritura a mano.
\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}