我想对齐如下表达式中的下标:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
$$\sup_{f\in\mathcal H}\lim_{\epsilon\downarrow 0}\sup_{g\in\mathcal H,0<\|g\|<\epsilon} \text{something}$$
\end{document}
它看起来是这样的:
我希望\epsilon \downarrow 0
与其他两个下标位于同一行。
答案1
该mathtools
软件包为此提供了一个技巧:
\documentclass{article}
\usepackage{mathtools} % loads also amsmath
\begin{document}
\[
\adjustlimits\sup_{f\in\mathcal{H}}\lim_{\epsilon\downarrow 0}\sup_{g\in\mathcal{H},0<\|g\|<\epsilon} \text{something}
\]
\end{document}
该\adjustlimits
命令应该位于您希望下标对齐的一对运算符之前。
或者,您可以定义一个新的运算符用于以下情况:
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator*{\plim}{lim\vphantom{p}}
\begin{document}
\[
\sup_{f\in\mathcal{H}}\plim_{\epsilon\downarrow 0}\sup_{g\in\mathcal{H}, 0<\|g\|<\epsilon} \text{something}
\]
\end{document}
有关$$
在 LaTeX 中避免的内容,请参阅为什么\[ … \]
优于$$
?
另外,最好\mathcal{H}
使用括号来书写,以更清楚地表明所涉及的符号。
答案2
我在环境之外设置了 \arraystretch,因此它会影响一切,但我知道它也可以在环境内部设置以获得局部效果。
\documentclass{article}
\usepackage{scalerel}
\usepackage{amsmath}
\begin{document}
Was:
$$\sup_{f\in\mathcal H}\lim_{\epsilon\downarrow 0}\sup_{g\in\mathcal
H,0<\|g\|<\epsilon} \text{something}$$
Is:
\renewcommand\arraystretch{0.6}
\setlength\arraycolsep{0.3ex}
\[
\begin{array}{cccl}
\sup & \lim & \sup & \text{something}\\
\scriptstyle f\in\mathcal H & \scriptstyle \epsilon\downarrow 0 &
\scriptstyle g\in\mathcal H, 0<\|g\|<\epsilon & \\
\end{array}
\]
\end{document}