如何从 amsopn.sty 复制运算符定义?

如何从 amsopn.sty 复制运算符定义?

我想创建一个与包中定义的操作符完全相同的操作符amsmath。我在 amsopn.sty 中找到了相关定义,但当我将其复制到文档的前言中时,我收到一条错误消息Use of \varcolim doesn't match its definition。代码如下。

我也欢迎大家提出更好的建议。我宁愿使用“更高级别”命令来创建我想要的符号,但我不喜欢它\newcommand\varinjcolim{\operatornamewithlimits{\underrightarrow{\mathrm{colim}}}}产生的结果(它的间距不像那么紧密\varinjlim,我真的希望它与它完全相同,只是说“colim”而不是“lim”)。

\documentclass{article}

\usepackage{amsmath}

\def\varcolim@#1#2{%
  \vtop{\m@th\ialign{##\cr
    \hfil$#1\operator@font colim$\hfil\cr
    \noalign{\nointerlineskip\kern1.5\ex@}#2\cr
    \noalign{\nointerlineskip\kern-\ex@}\cr}}%
}
\def\varinjcolim{%
  \mathop{\mathpalette\varcolim@{\rightarrowfill@\textstyle}}\nmlimits@
}

\begin{document}

$\varinjlim$

$\varinjcolim$

\end{document}

相关内容