Ampliar/modificar comandos del paquete genial

Ampliar/modificar comandos del paquete genial

Empecé a utilizar el coolpaquete para mis matemáticas, especialmente para integrales, pero también para funciones trigonométricas. Me gustaría obtener cosas como una función seno cuadrado, por ejemplo, usando un código como \Sin[2]{x}rendimiento sin²(x). Además, me gustaría agregar una sincfunción; por ejemplo, sé que podría simplemente redefinir el \Sincomando, pero me gustaría mantenerlo coherente con el coolpaquete.

Siguiendo la cooldocumentación de implementación del paquete.1estúpidamente he probado lo siguiente que no funciona:

\documentclass{article}
\usepackage{cool}
\renewcommand{\Sin}[2][]{\sin^{#1}\COOL@decide@paren{Sin}{#2}}
\newcommand{\COOL@notation@SincParen}{p}
\DeclareMathOperator{\SincSymb}{Si}
\newcommand{\Sinc}[1]{\SincSymb\COOL@decide@paren{Sinc}{#1}}
\begin{document}
  \begin{align}
    \Sin{x} \\ % should produce the normal cool sin
    \Sin[2]{x} \\ % should produce sin^2
    \Sinc{x} % should produce sinc
  \end{align}
\end{document}

Por supuesto, el siguiente paso sería hacerlo también sinc²posible.

¿Cómo es posible todo esto?

Respuesta1

Primero que nada te olvidaste \makeatlettery \makeatother; entonces es sencillo:

\documentclass{article}
\usepackage{cool}

\makeatletter
\renewcommand{\Sin}[2][]{%
  \sin\if\relax\detokenize{#1}\relax\else^{#1}\fi\COOL@decide@paren{Sin}{#2}%
}
\newcommand{\COOL@notation@SincParen}{p}
\DeclareMathOperator{\sinc}{sinc}
\newcommand{\Sinc}[2][]{%
  \sinc\if\relax\detokenize{#1}\relax\else^{#1}\fi\COOL@decide@paren{Sinc}{#2}%
}
\makeatother

\begin{document}

\begin{gather*}
\Sin{x}    \\ % should produce the normal cool sin
\Sin[2]{x} \\ % should produce sin^2
\Sinc{x}   \\ % should produce sinc
\Sinc[2]{x}   % should produce sinc^2
\end{gather*}

\end{document}

No estoy seguro de dónde \sinc^{2}(x)está la ventaja.

ingrese la descripción de la imagen aquí

información relacionada