我怎样才能更新宏“\log”(从“log”到“\ell og”)?

我怎样才能更新宏“\log”(从“log”到“\ell og”)?

我怎样才能更新宏“\log”(从“log”到“\ell og”)?

默认函数 \log 在第 1 行

我用更新命令对于 \log:

\renewcommand{\log}{\ell\text{og }}

这显示在第 2 行。

但我想在第 3 行执行 \log 函数:

在此处输入图片描述

    Default: \hspace{0.5 cm} $\log_M x^N = N \log_M x$ \\
    \renewcommand{\log}{\ell\text{og }}
    That show: $\log_M x^N = N \log_M x$ \\
    \renewcommand{\log}{\ell\text{og}}
    I want: \hspace{0.625 cm} $\log_M\hspace{2 pt}x^N = N \log_M\hspace{2 pt}x$ \\

答案1

标准宏\log被定义为“数学运算符”。首先需要取消定义现有宏,然后通过指令等方式重新创建它\DeclareMathOperator

在此处输入图片描述

\documentclass{article} % or some other suitable doc. class
\usepackage{amsmath} % for "\DeclareMathOperator" macro
\let\log\relax  % first, undefine the existing macro
\DeclareMathOperator{\log}{\ell og} % now, (re)define it

\begin{document}
$\log_M x^N = N \log_M x$
\end{document} 

答案2

取消定义并重新定义命令的另一种方法是将类似对数的运算符声明为原子\mathop。您还需要添加\nolimits上标和下标,使其出现在右侧,而不是上方和下方。这也适用于不应使用运算符字体的运算符。

\documentclass{article}
\usepackage{amsmath}

\newcommand\ellog{\mathop{\ell\mathrm{og}}\nolimits}

\pagestyle{empty}  

\begin{document}
\begin{align*}
  \log_M   x^N &= N \log_M   x \\
  \ellog_M x^N &= N \ellog_M x
\end{align*}
\end{document}

计算机现代样本

在这种情况下,我避免重新定义\log以显示上面和下面的新旧输出,但您可以轻松地更改\newcommand\ellog为类似的内容\DeclareRobustCommand\log

相关内容