從很酷的套件擴展/修改命令

從很酷的套件擴展/修改命令

我開始使用該cool套件進行數學計算,尤其是積分,但也用於三角函數。我想得到像正弦平方函數這樣的東西,例如,使用像\Sin[2]{x}yieling這樣的程式碼sin²(x)。另外,我想添加一個sinc函數,例如我知道我可以簡單地重新定義\Sin命令,但它希望使其與cool套件保持一致。

遵循cool包實施文檔1愚蠢的是我嘗試了以下方法但不起作用:

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

當然,下一步將使其成為sinc²可能。

這怎麼可能?

答案1

首先你忘記\makeatletter\makeatother;那就很簡單了:

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

不知道優勢在哪裡\sinc^{2}(x)

在此輸入影像描述

相關內容