5

我想声明一个数学运算符,它只需要一个下限,而不需要一个上限。我的意思是,在显示的情况下,只有下限会在操作符之下,而我可以给它写上标,它会像上标一样,而不是像极限那样,并且会超过它。这是一种介于\声明MathOperator\声明MathOperator*这样做。

\文档类{article}\使用包{amsmath,amssymb}\声明主运算符{\Norm}{\mathbf{N}}\声明MathOperator*{\Norma}{\mathbf{N}}\开始{文档}\开始{align*}\范数{x\ in x}^pf(x)&=\ left(\int_{x\ inX}|f(x)|^p\ right)^{1/p}\\\范数{j\in\mathbb Z}^pf_j&=\left(\sum_{j\in \mathbbZ}|f_j|^p\right)^{1/p}\结束{align*}\结束{文档}

上标不是上限

因此第页很好并且x中的x在第一个公式中不好,而j\in\mathbb Z很好,但第页在第二节表现不好。

我补充一下\极限是一个操作符,在这里我们不使用上限,但我们当然可以使用一个上限指数,这样我们就可以指出我们有什么样的极限。在本例中w个应该放在上标中,而不是作为上限。

\文档类{article}\使用包{amsmath}\开始{文档}弱极限的定义\开始{方程式*}\lim{n\to\infty}^{w} f_n(f_n)=\lim_{n\to\infty}(f_n,g)\text{对于每个}g\结束{方程式*}\结束{文档}

极限上限指数

2
  • 对于弱极限,可以使用以下内容钨-锂. 评论 5月26日18:45
  • Off-topic:线\左(sum_{j\in\mathbb Z}|f_j|^p\right)^{1/p}完美地说明了当\左\右被滥用。你真的应该替换\左具有\比格尔和的两个实例\权利具有\大gr.
    – 麦克风
    评论 5月26日21:50

2个答案2

重置为默认值

当给出限值时,需要进行一些测量:有三种情况:

  1. 极限值超过了指数的宽度
  2. 指数超过了极限宽度,但这超过了N的宽度
  3. 否则
\文档类{article}\使用包{amsmath}\NewDocumentCommand{\Norm}{e{^_}}{%\IfNoValueTF{#2}{%无限制\运算符名称{N}\IfValueT{#1}{^{#1}}%}{有限制的%\mathop{%\mathchoice{\NORM{\IfValueT{#1}{#1}}{#2}}%<--固定2024-06-06{\operatorname{N}\IfValueT{#1}{^{#1}}_{#2}}%{\operatorname{N}\IfValueT{#1}{^{#1}}_{#2}}%{\operatorname{N}\IfValueT{#1}{^{#1}}_{#2}}%}\无限制}%}\标记字母\新命令{\NORM}[2]{%\sbox\z@{$\m@th{}^{1}$}%上标\sbox\tw@{$\m@th\scriptstyle#2\kern-\scriptspace$}%下标\sbox4{$\m@th\operatorname{N}$}%基\运算符名称*{N\rlap{\copy\z@}}_{#2}%\dimen@=\dimeval{0.5\wd\tw@-0.5\wd4-\wd_z@}\ifdim\dimen@>0pt%极限超出上标的底部\其他\ifdim\wd\tw@<\wd4%短期限制\内核\wd\z@\其他\内核-\dimen@\fi(菲涅耳)\fi(菲涅耳)}\制造者\开始{文档}$\标准^{p}_{j} (v)美元\标准^{p}_{j\in X}(v)$$A_{\Norm^{p}_{j\在X}(v)}中$\[\标准^{p}_{j} (v)标准^{p}_{j\在X}(v)中\四边形\范数^p_{a+b\在a}(v)中\]\结束{文档}

在此处输入图像描述

使用\mathchoice公司我们可以知道这个结构是否属于四种数学风格之一,并让TeX选择合适的一种。


你在评论中提到用\比雷尔.

\文档类{article}\使用包{amsmath}\使用包{scalerel}\新命令{\Normop}{\mathop{\scalerel*{\mathbf{N}}{\sum}}}\NewDocumentCommand{\Norm}{e{^_}}{%\IfNoValueTF{#2}{%无限制\正常值\IfValueT{#1}{^{#1}}%}{有限制的%\mathop{%\mathchoice{\NORM{\IfValueT{#1}{#1}}{#2}}%<--修复2024-06-06{\Normop\IfValueT{#1}{^{#1}}_{#2}}%{\Normop\IfValueT{#1}{^{#1}}_{#2}}%{\Normop\IfValueT{#1}{^{#1}}_{#2}}%}\无限制}%}\标记字母\新命令{\NORM}[2]{%\sbox\z@{$\m@th\scriptstyle#1$}%上标\sbox\tw@{$\m@th\scriptstyle#2\kern-\scriptspace$}%下标\sbox4{$\m@th\displaystyle\Normop$}%基础\运算符名称*{\Normop\nolimits^{\rlap{\copy\z@}}}_{#2}%\dimen@=\dimeval{0.5\wd\tw@-0.5\wd4-\wd_z@}\如果尺寸大于0pt%极限超出上标的底部\其他\ifdim\wd\tw@<\wd4%空头限额\内核\wd\z@\其他\内核-\dimen@\fi(菲涅耳)\fi(菲涅耳)}\制造者\开始{文档}美元\标准^{p}_{j} (v)$$\标准^{p}_{j\在X}(v)$$A_{\正常^{p}_{j\在X}(v)}中$\[\标准^{p}_{j} (v)标准^{p}_{j\在X}(v)中\四边形\标准^p_{a+b\在a}(v)中\]\[\规范^p_{aaaaaaaaa}(v)\]\结束{文档}

在此处输入图像描述

通用版本的更新

这个\一般规范command将要使用的字母作为第一个参数;接下来是两个可选参数,都包含一个用于水平移动上标的因子;第一个用于非显示样式,第二个用于显示样式。它们对于A和其他字母都是必要的。

其他两个参数与之前相同:可选上标和可选下标^_(按任意顺序)。

一旦通用命令可用,您就可以定义常用的缩写,如下所示。这些名字证明了我缺乏幻想。😊

\文档类{article}\使用包{amsmath}\使用包{scalerel}\新命令{\genericnormop}[1]{\mathop{\scalerel*{\mathbf{#1}}{\sum}}}\NewDocumentCommand{\genericnorm}{mO{0}O{#2}e{^_}}{%\IfNoValueTF{#4}{\mathchoice%无限制{\genericnormop{#1}\IfValueT{#4}{^{\mspace{#3mu}#4}}%{\genericnormop{#1}\IfValueT{#4}{^{\mspace{#2mu}#4}}%{\genericnormop{#1}\IfValueT{#4}{^{\mspace{#2mu}#4}}%{\genericnormop{#1}\IfValueT{#4}{^{\mspace{#2mu}#4}}%}{有限制的%\mathop{%\mathchoice{\GENERICNORM{#1}{\IfValueT{#4}{\space{#3mu}#4}}{#5}%{\genericnormop{#1}\IfValueT{#4}{^{\mspace{#2mu}#4}}_{#5}}%{\genericnormop{#1}\IfValueT{#4}{^{\mspace{#2mu}#4}}_{#5}}%{\genericnormop{#1}\IfValueT{#4}{^{\mspace{#2mu}#4}}_{#5}}%}\无限制}%}\标记字母\新命令{\GENERICNORM}[3]{%\sbox\z@{$\m@th\scriptstyle#2$}%上标\sbox\tw@{$\m@th\scriptstyle#3\kern-\scriptspace$}%下标\sbox4{$\m@th\displaystyle\genericnormop{#1}$}%基础\operatorname*{\genericnormop{#1}\n限制^{\rlap{\copy\z@}}}_{#3}%\dimen@=\dimeval{0.5\wd\tw@-0.5\wd4-\wd_z@}\ifdim\dimen@>0pt%极限超出上标的底部\其他\ifdim\wd\tw@<\wd4%短期限制\内核\wd\z@\其他\内核-\dimen@\fi(菲涅耳)\fi(菲涅耳)}\制造者\NewDocumentCommand{\Norm}{}{\genericnorm{N}}\NewDocumentCommand{\Aorm}{}{\genericnorm{A}[-4][-10]}\NewDocumentCommand{\Eorm}{}{\genericnorm{E}}\开始{文档}美元\标准^{p}_{j} (v)$$\标准^{p}_{j\在X}(v)$$A_{\正常^{p}_{j \ in X}(v)}$$\A订单^{p}_{j} (v)$$\Aorm^{p}_{j\在X}(v)$$A_{\Aorm中^{p}_{j\在X}(v)}中$$\亿美元^{p}_{j} (v)$$\Eorm美元^{p}_{j\在X}(v)$$A_{\Eorm中^{p}_{j\在X}(v)}中$\[\标准^{p}_{j} (v)标准^{p}_{j\在X}(v)中\四边形\标准^p_{a+b\在a}(v)中\]\[\Aorm^p_{aaaaaaaaa}(v)\]\[\公式^q_x\quad\Eorm_x\]\结束{文档}

在此处输入图像描述

6
  • 我实际上是想用比雷尔所以我有\声明MathOperator*{\opnormal}{\scalerel*{\mathbf{N}}{\sum}}.我试图更换N个通过\标量*{\mathbf{N}}{\sum}但上标在显示部分会出现混乱。 评论 5月27日0:22
  • @你应该在问题中提到这一点。无论如何,我为那个案例添加了代码。
    – 白鹭
    评论 5月27日8:11
  • 我认为这只是我设置中的一个特殊性,我认为我可以自己进行修改。这太棒了,谢谢! 评论 6月3日16:37
  • 1
    @MátéWierdl已修复!对不起,我忽略了一个条件。只有一行代码发生了更改。对于另一个问题,我将尝试提出一个通用的解决方案。
    – 白鹭
    评论 6月6日21:07
  • 1
    @MátéWierdl“通用”版本已上线。您可能需要为定制可选参数\Aorm公司设置为您使用的特定字体。
    – 白鹭
    评论 6月6日21:37
5
\文档类{article}\使用包{amsmath,amssymb}\NewDocumentCommand{\Norm}{E{_^}{}{}{}}}{\mathop{\bunderst{#1}{\mathbf{N}}}^{#2}}}\开始{文档}\[\Norm_{x\ in x}^p f(x)=\left(\int_{x\in x}|f(x)|^p\right)^{1/p}\]\结束{文档}

第一个代码的输出

或者可能:

\文档类{article}\使用包{amsmath,amssymb,mathtools}\新建文档命令{\Norm}{E{_^}{}{}}{\mathop{\underset{#1}{\mathbf{N}^{\mathrlap{#2}}}}\开始{文档}\[\Norm_{x\ in x}^p f(x)=\left(\int_{x\in x}|f(x)|^p\right)^{1/p}\]\结束{文档}

第二个代码的输出

下标在适当位置的版本\无限制文本样式和\限制以显示样式显示。

\文档类{article}\使用包{amsmath,amssymb,mathtools}\新建文档命令{\Norm}{E{_^}{}{}}{\mathop{\mathbf{N}^{\mathrlap{#2}}}_{#1}^{}}\开始{文档}在文本中:$\Norm_{x\ In x}^p f(x)=\ left(\int_{x\In x}|f(x)|^p\ right)^{1/p}$\[\Norm_{x\ in x}^p f(x)=\left(\int_{x\in x}|f(x)|^p\right)^{1/p}\]\结束{文档}

第三个代码的输出

2
  • 第二个已经很好了,thx,但是可以确保在非显示数学模式下,它不会在操作符的名称下打印下标,而是作为下标打印吗? 评论 5月26日17:28
  • 我实际上是想用比雷尔所以我有\声明MathOperator*{\opnormal}{\scalerel*{\mathbf{N}}{\sum}}我试图更换N个通过\scalerel*{\mathbf{N}}{\sum}但是上标搞砸了。 评论 5月27日0:20

你必须登录来回答这个问题。

不是你想要的答案吗?浏览标记的其他问题.