Criando um símbolo de integração de produto que se comporta como o símbolo de integração padrão

Criando um símbolo de integração de produto que se comporta como o símbolo de integração padrão

Contexto. Ointegral do produtoé o análogo contínuo da integral ordinária (Riemann, Lebesgue, Denjoy, Perron etc...) e foi introduzido por Vito Volterra em 1887 a fim de fornecer uma forma funcional compacta de expressar a solução do problema de Cauchy para sistemas de diferencial ordinário equações. O leitor interessado pode dar uma olhadaeste livro de Antonín Slavík,Integração de produtos, sua história e aplicações, Matfyzpress 2007.
Na prática comum (também na referência citada acima), a integral do produto é representada como "maiúscula \Pi" comum pelo comando padrão \prodde maneira semelhante à que se obtém usando o código

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

No entanto, do ponto de vista lógico e de clareza, isto é um tanto insatisfatório:por que deveríamos usar o mesmo símbolo para o produto de termos finitos ou infinitos discretos, mesmo para o produto de infinitos termos “infinitesimais”?
Para a integral ordinária sabemos que esta operação de limite leva do símbolo de soma \sumao \intsímbolo, é uma espécie de "S" maiúsculo no estilo de script.

O problema a ser resolvido. Minha ideia é definir um \pintcomando que imprima uma espécie de "P" maiúsculo no estilo de script e se comporte exatamente como o \intsímbolo. Precisamente

  1. \pintdeve ser o comando padrão,
  2. a expressão que segue o comando deve ser centrada graficamente em relação à altura do símbolo (como acontece com o \intsímbolo padrão),
  3. \pint\limitsdeve ser o comando usado para colocar os limites de integração do produto acima e abaixo do \pintsímbolo,
  4. o estilo de script "P" pode ser feito usando algo como \mathscr{P}ou usando um .svg ou outro tipo de imagem vetorial obtido pela modificação do \intsímbolo padrão.

Alguns experimentos visando obter o resultado gráfico desejado. Consegui produzir algo desse tipo usando as seguintes declarações 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}}

Então, para obter um "estilo padrão" \pintdefini o seguinte comando

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

que, invocado no corpo do documento como \pint_{\!\!\!\!\!\!0}^{t}(1+r(s))^{\dm s}, produz a seguinte saída gráfica: insira a descrição da imagem aqui

Depois disso, para obter um \int\limitscomando de sabor defini o seguinte

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

que, invocado no corpo do documento como \pint_{\!\!\!\!\!\!0}^{\quad t}(1+r(s))^{\dm s}, produz a seguinte saída gráfica: insira a descrição da imagem aqui

Embora o sabor gráfico obtido seja semelhante ao desejado, as soluções apresentadas são um tanto insatisfatórias em relação à primeira árvore dos pontos acima, ou seja,

  1. invocar o \pintcomando não é suficiente para que os subscritos e sobrescritos sejam colocados corretamente, pois é necessário ajustar sua posição "com as próprias mãos", e
  2. a expressãonão está centralizado graficamenterespeito ao \pintsímbolo e, finalmente,
  3. para obter o \pint\limitscomportamento, tenho que redefinir completamente o comando.

Responder1

Aqui está minha proposta

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

insira a descrição da imagem aqui

Eu gostaria de mencionar o prodintpacote. Com uma pequena reviravolta, no entanto.

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

insira a descrição da imagem aqui

Responder2

Uma adaptação direta da minha resposta emComo são definidas as grandes operadoras?. Aqui, \foofornece um símbolo maior \displaystyle, assim como \int, enquanto \barrmantém o tamanho do símbolo associado \textstyle, mesmo na matemática de exibição.

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

insira a descrição da imagem aqui

Mico observa que \barrnão deve ser usado em nenhum dos estilos de script, o que é verdade. Se esse uso fosse necessário, então \barrpoderia ser definido como

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

No MWE acima, o "P" é dimensionado para o mesmo tamanho que \sum. Se você preferir que seja dimensionado para o tamanho de \int, basta substituir \sumpor \intem cada um dos \DeclareMathOperators e o resultado será semelhante a:

insira a descrição da imagem aqui

Responder3

Na verdade, a notação funcional (letra única) para a integral é simples e mais econômica do que o símbolo integral, ela pode mostrar explicitamente (em vez de ocultá-la frequentemente não utilizada dx) a variável integradora, se necessário, e não depende da dimensão . A notação também precisa ser facilmente utilizável ao escrever em um quadro em sala de aula. Portanto, um simples \DeclareMathOperator*{\pint}{\mathbf{P}}deve dar conta do recado, mas no exemplo abaixo é usada uma fonte com pescoço mais longo para distinção, e ainda pode ser facilmente replicada em caligrafia.

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

Símbolo integral do produto

informação relacionada