Ich habe angefangen, das Paket für meine Mathematik zu verwenden cool
, insbesondere für Integrale, aber auch für trigonometrische Funktionen. Ich möchte beispielsweise Dinge wie eine Sinus-Quadrat-Funktion erhalten, indem ich einen Code wie \Sin[2]{x}
yielding verwende sin²(x)
. Außerdem möchte ich eine sinc
Funktion hinzufügen, z. B. weiß ich, dass ich den Befehl einfach neu definieren könnte \Sin
, aber er soll mit dem cool
Paket konsistent bleiben.
Befolgen der cool
Paketimplementierungsdokumentation1dummerweise habe ich Folgendes versucht, was nicht funktioniert:
\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}
Der nächste Schritt wäre natürlich, dies auch sinc²
möglich zu machen.
Wie ist das möglich?
Antwort1
Zuerst haben Sie \makeatletter
und vergessen \makeatother
; dann ist es ganz einfach:
\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}
Ich bin nicht sicher, wo der Vorteil \sinc^{2}(x)
liegt.