新数学运算符的使用与其定义不符

新数学运算符的使用与其定义不符

我为 l 和 L 空间定义了一些宏,具体来说是 \l1、\L2 等等。现在 Latex 在编译时会抛出错误,总是在我定义的第一个 \lx 处抛出:

! \l 的使用与其定义不符。 l.31 \item[(v)] Für $f \in \l1 $ oder $f \in \L1$ heißt $f$ \emph{summierba... 如果您\def\a1{...}', then you must always put在 `\a' 后说,例如 1',因为控制序列名称仅由字母组成。 此处的宏后面没有必需的内容,因此我将其忽略。

它似乎忽略了我放在 \l 或 \L 后面的数字。我使用 \lone、\Ltwo 等解决了这个问题 - 所以这个问题肯定不紧急。但我很想知道它为什么会这样。

\documentclass{report}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}

\DeclareMathOperator{\l1}{\ell^1(\mathbb{Z})}
\DeclareMathOperator{\L1}{L^1(\mathbb{R})}
\DeclareMathOperator{\l2}{\ell^2(\mathbb{Z})}
\DeclareMathOperator{\L2}{L^2(\mathbb{R})}
\DeclareMathOperator{\linf}{\ell^\infty(\mathbb{Z})}
\DeclareMathOperator{\Linf}{L^\infty(\mathbb{R})}

\begin{document}

Für $f \in \l1$ oder $f \in \L1$ heißt $f$ \emph{summierbar} oder \emph{integrierbar}.
Für $f \in \l2$ oder $f \in \L2$ heißt $f$ \emph{Signal von endlicher Energie}.
Für $f \in \linf$ oder $f \in \Linf$ heißt $f$ \emph{beschränkt}.

\end{document}

答案1

您不能定义名称中带有数字的宏。

但是,对于特定情况,您可以利用单标记参数不需要括号的事实来获得类似的结果。因此\ls{1}可以输入\ls1,结果将是相同的。\ls{3/2}当然,请注意需要括号。

\documentclass{report}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}

\newcommand{\ls}[1]{\ell^{#1}(\mathbb{Z})}
\newcommand{\Ls}[1]{L^{#1}(\mathbb{R})}
\newcommand{\lsinf}{\ls{\infty}}
\newcommand{\Lsinf}{\Ls{\infty}}

\begin{document}

Für $f \in \ls1$ oder $f \in \Ls1$ heißt $f$ \emph{summierbar} oder \emph{integrierbar}.
Für $f \in \ls2$ oder $f \in \Ls2$ heißt $f$ \emph{Signal von endlicher Energie}.
Für $f \in \lsinf$ oder $f \in \Lsinf$ heißt $f$ \emph{beschränkt}.

\end{document}

请注意,您要定义的符号都不具备运算符号:它们只是普通符号。

此外,\l\L已被取代,您不应该重新定义它们:许多波兰数学家曾经或现在活跃于实分析,如果您试图在您的文献中引用他们,您会遇到很大的麻烦。

在此处输入图片描述

相关内容