我创建了以下命令:\renewcommand{\Re}[1]{\operatorname{Re}{\left\{{#1}\right\}}}
这样我就可以写,例如:\Re{w+z}
,并显示“Re {w+z}”。
问题是,我想写:\Re^2{z}
并且我想得到:“Re^2 {z}”,就像使用三角函数一样。
例如:\sin^2{(x)}
自动返回“sin^2(x)”。
问题是,如果我\renewcommand{\Re}[2]{\operatorname{Re}^{#1}{\left\{{#2}\right\}}}
使用
例如,\Re{}{z}
每次我需要显示“Re {z}”时我都必须写下来,这太糟糕了。
我想写\Re{something}
并得到“Re {something}”,并且\Re^p{something}
每次需要时,对于任何 p,都可以得到“Re^p {something}”。
我对复数的虚部也遇到了同样的问题,但这只是同一件事。
有谁知道我该如何解决这个问题?
答案1
这里我使用 定义了一个新的运算符名称。然后我在具有可选参数的\DeclareMathOperator{\myRe}{Re}
新命令中使用了新的运算符名称。不知道这是否有帮助。\myReCommand
\documentclass{article}
% For \DeclareMathOperator
\usepackage{amsmath}
% For better versions of \left and \right (\mleft and \mright)
% Thanks to user Mico for the hint.
\usepackage{mleftright}
\DeclareMathOperator{\myRe}{Re}
\newcommand{\myReCommand}[2][]{\ensuremath{\myRe^{#1}\mleft(#2\mright)}}
\begin{document}
\begin{equation}
\myRe^2(x) + \myRe(x)^2
\end{equation}
\myReCommand{x} \myReCommand[2]{x}
\end{document}
与 LaTeX 无关,我发现这关于符号\sin^2(t)
。此外,请参阅这里或者这里进行更多讨论。
答案2
你的学生不会理解的。
无论如何,你首先可以摆脱自动功能\left
,但这\right
实际上不起作用。
这是一种方法。
\documentclass{article}
\usepackage{amsmath}
\RenewDocumentCommand{\Re}{e{^}sO{}m}{%
\operatorname{Re}\IfValueT{#1}{^{#1}}%
\IfBooleanTF{#2}
{\left\{#4\right\}}
{\mathopen{#3\{}#4\mathclose{#3\}}}%
}
\begin{document}
\[
\Re{z}+\Re^2{z}+\Re[\big]{a(b+c)}+\Re^2[\Big]{u}+\Re^2*{\frac{z}{2}}
\]
\end{document}
您可以在 之后指定指数\Re
,然后 a*
表示自动调整大小;不过,当真正需要时,最好按所示指定大小。
如果出现错误,则意味着你正在运行旧版本的 LaTeX,你可以通过添加
\usepackage{xparse}
答案3
\documentclass{article}
\usepackage{amsmath}
\let\oldRe\Re % store the old \Re definition
\DeclareMathOperator{\RealPart}{Re}
\let\oldIm\Im % store the old \Im definition
\DeclareMathOperator{\ImaginaryPart}{Im}
\begin{document}
% Real and imaginary part command redefinition
\def\Re{\RealPart}
\def\Im{\ImaginaryPart}
\[\Re^2(x)\]
\end{document}