4

I would like to define a new command (called colim) for filtered colimit (also sometimes called direct limit ...) as nice as the command $\varinjlim$ in amsmath package.

So far, I tried $\newcommand{\colim{\operatornamewithlimits{\underset{\longrightarrow{colim}}$

but I find the arrow too thin and its positioning too low compare to $\varinjlim$. How can I get exactly the same (and centered) arrow than this command ?

Edit: with the answer of egreg, it is easy to also get a new command for filtered limit obviously (called colim with a leftarrow below)

1 Answer 1

7

Adapt the definition of \varinjlim:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\colim@}[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}}%
}
\newcommand{\colim}{%
  \mathop{\mathpalette\colim@{\rightarrowfill@\textstyle}}\nmlimits@
}
\makeatother

\begin{document}

\[
\colim_{\delta\in\Delta}F_\delta=F
\]

\end{document}

enter image description here

A variant, suggested by Manuel, with a smaller arrow. However, this also requires a redefinition of \varprojlim and \varinjlim for uniformity:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\colim@}[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}}%
}
\newcommand{\colim}{%
  \mathop{\mathpalette\colim@{\rightarrowfill@\scriptscriptstyle}}\nmlimits@
}
\renewcommand{\varprojlim}{%
  \mathop{\mathpalette\varlim@{\leftarrowfill@\scriptscriptstyle}}\nmlimits@
}
\renewcommand{\varinjlim}{%
  \mathop{\mathpalette\varlim@{\rightarrowfill@\scriptscriptstyle}}\nmlimits@
}
\makeatother

\begin{document}

\[
\colim_{\delta\in\Delta}F_\delta
\quad
\varinjlim_{\delta\in\Delta}F_\delta
\quad
\varprojlim_{\delta\in\Delta}F_\delta
\]

\end{document}

enter image description here

7
  • as usual, fast & to the point !
    – brunoh
    Dec 20, 2015 at 22:49
  • I personally think that the arrow is too big, may be adding \scriptstyle before \rightarrowfill helps smoothing it.
    – Manuel
    Dec 20, 2015 at 22:49
  • @Manuel I'll add the variant
    – egreg
    Dec 20, 2015 at 22:50
  • @Manuel thank you. But I want it to look & feel exactly the same way than the varinjlim command which is what egreg delivered. I will wait to see the variant just in case
    – brunoh
    Dec 20, 2015 at 22:54
  • 1
    @brunoh I added redefinitions for the \var...lim commands. Take your pick.
    – egreg
    Dec 20, 2015 at 23:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .