有没有办法通过使用字体扩展使下面代码中的所有三行数学运算占用相同的长度?我对此了解甚少,microtype
甚至不知道它是否能提供解决方案。我不太关心最终将使用的确切数学环境(gather
如果我无法使扩展工作,这不是一个太糟糕的解决方案)。
如果解决方案能够与 配合使用lualatex
,则可获得奖励,尤其\usefonttheme{professionalfonts}
是beamer
。
唉,改变变量和函数名称不是一个选择(基本上,只有方括号可以改变,如果这有帮助的话)。
或者,可以尝试手动调整间距,但除了通过反复试验之外\hspaces
,是否有一种智能的方法来做到这一点(比如,将绝对值对齐,并且每行的总长度相同?)
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\begin{document}
\begin{align*}
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert y^{5/2-\varepsilon}\left[\vphantom{A^2}u(x,y)-u_{\mathrm{as}}(x,y)\right]\right\vert & = 0 \\
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert y^{5/2-\varepsilon}\left[\vphantom{A^2}v(x,y)-v_{\mathrm{as}}(x,y)\right]\right\vert & = 0 \\
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert y^{9/2-\varepsilon}\left[\vphantom{A^2}\omega(x,y)-\omega_{\mathrm{as}}(x,y)\right]\right\vert & = 0
\end{align*}
\end{document}
当前产量:
答案1
左侧的每一侧都有一些胶水,因此您可以将它们放入盒子中并将它们拉伸到相同的尺寸:
\documentclass{article}
\usepackage{mathtools}
\usepackage{amsfonts}
\makeatletter
\newcommand{\mydmath}[1]{\( \m@th\displaystyle #1 \)}
\makeatother
\newcommand{\mydmathtowd}[2]{\hbox to #1{\mydmath{#2}}}
\newsavebox\mytmpbox
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\begin{document}
\sbox\mytmpbox{\mydmath{\adjustlimits\lim_{y\to\infty}\sup_{x\in\mathbb{R}}
\abs[\Big]{y^{9/2-\varepsilon}\bigl[\omega(x,y)-\omega_{\mathrm{as}}(x,y)\bigl]}}}
\begin{align*}
\mydmathtowd{\wd\mytmpbox}{\adjustlimits\lim_{y\to\infty}\sup_{x\in\mathbb{R}}
\abs[\Big]{y^{5/2-\varepsilon}\bigl[\vphantom{A^2}u(x,y)-u_{\mathrm{as}}(x,y)\bigr]}}
& = 0 \\
\mydmathtowd{\wd\mytmpbox}{\adjustlimits\lim_{y\to\infty}\sup_{x\in\mathbb{R}}
\abs[\Big]{y^{5/2-\varepsilon}\bigl[\vphantom{A^2}v(x,y)-v_{\mathrm{as}}(x,y)\bigr]}}
& = 0 \\
\usebox\mytmpbox & = 0
\end{align*}
\end{document}
此代码将左侧的最后一个边(最长的边)框起来,并将该框的宽度用于其他两个边。我已为其中大部分内容添加了辅助宏。
其他不相关的变化
\adjustlimits
达到极限的高度lim
并sup
协调- 引入
\abs
垂直线 - 固定大小的分隔符,而不是
\left/\right
添加以上所有作品均beamer
在lualatex
\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{mathtools}
\usepackage{amsfonts}
\makeatletter
\newcommand{\mydmath}[1]{\( \m@th\displaystyle #1 \)}
\makeatother
\newcommand{\mydmathtowd}[2]{\hbox to #1{\mydmath{#2}}}
\newsavebox\mytmpbox
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\begin{document}
\begin{frame}
\sbox\mytmpbox{\mydmath{\adjustlimits\lim_{y\to\infty}\sup_{x\in\mathbb{R}}
\abs[\Big]{y^{9/2-\varepsilon}\bigl[\omega(x,y)-\omega_{\mathrm{as}}(x,y)\bigl]}}}
\begin{align*}
\mydmathtowd{\wd\mytmpbox}{\adjustlimits\lim_{y\to\infty}\sup_{x\in\mathbb{R}}
\abs[\Big]{y^{5/2-\varepsilon}\bigl[\vphantom{A^2}u(x,y)-u_{\mathrm{as}}(x,y)\bigr]}}
& = 0 \\
\mydmathtowd{\wd\mytmpbox}{\adjustlimits\lim_{y\to\infty}\sup_{x\in\mathbb{R}}
\abs[\Big]{y^{5/2-\varepsilon}\bigl[\vphantom{A^2}v(x,y)-v_{\mathrm{as}}(x,y)\bigr]}}
& = 0 \\
\usebox\mytmpbox & = 0
\end{align*}
\end{frame}
\end{document}
答案2
我知道这不是你想要的(XY问题)而且真的特别指定,但这就是我解决问题的方法。您可以通过使不同的字符看起来具有相同的宽度来调整间距。例如,\phantom{\omega}\mathrlap{u}
创建一个u
占用与一样多空间的\omega
。(尽管u
与此框右侧对齐。)所以我会尝试类似的东西:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}
\newcommand{\sizeof}[2]{\phantom{#1}\mathllap{#2}}
\begin{document}
\begin{align*}
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert y^{5/2-\varepsilon}\left[\vphantom{A^2}\sizeof{\omega}{u}(x,y)-\sizeof{\omega}{u}_{\mathrm{as}}(x,y)\right]\right\vert & = 0 \\
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert y^{5/2-\varepsilon}\left[\vphantom{A^2}\sizeof{\omega}{v}(x,y)-\sizeof{\omega}{v}_{\mathrm{as}}(x,y)\right]\right\vert & = 0 \\
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert y^{9/2-\varepsilon}\left[\vphantom{A^2}\omega(x,y)-\omega_{\mathrm{as}}(x,y)\right]\right\vert & = 0
\end{align*}
\end{document}
(\mathrlap
由mathtools
包。)这看起来更接近于使所有行的长度相同,并且大多数读者不会注意到您在开括号和你或者五。你可以通过调整指数来进一步调整是。
答案3
我建议使用IEEEeqnarray
来自IEEEtrantools包。对于每一列,您选择类型l
并在导致错位的符号(在本例中为 u、v 和 omega)后面放置一个对齐标记。您可以学习更多类似这样的技巧这里。
以下是代码:
\documentclass{article}
\usepackage{IEEEtrantools}
\usepackage{amsmath}
\usepackage{amsfonts}
\begin{document}
\begin{IEEEeqnarray*}{lll}
\lim_{y\to\infty} \sup_{x\in\mathbb{R}} \Big\vert y^{5/2-\varepsilon} \big[u&(x,y) - u_{\mathrm{as}}&(x,y) \big]\Big\vert = 0 \\
\lim_{y\to\infty} \sup_{x\in\mathbb{R}} \Big\vert y^{5/2-\varepsilon} \big[v&(x,y) - v_{\mathrm{as}}&(x,y) \big]\Big\vert = 0 \\
\lim_{y\to\infty} \sup_{x\in\mathbb{R}} \Big\vert y^{9/2-\varepsilon} \big[\omega&(x,y) - \omega_{\mathrm{as}}&(x,y) \big]\Big\vert = 0
\end{IEEEeqnarray*}
\end{document}
输出如下:
笔记。除了使用 之外,您还可以使用、等\vphantom
命令手动指定括号的大小。\big
\Big
答案4
我设置了一个模板来重复公式。上面是原始模板,下面是模板。[已编辑,以便更好地说明]
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\newsavebox{\parm}
\newcommand\parmbox[2]{\savebox{\parm}[#1]{\hfill$#2$}\usebox{\parm}}
\newcommand\eqstencil[2]{%
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert
y^{\parmbox{.17in}{\scriptstyle#1}-\varepsilon}
\left[\vphantom{A^2}\parmbox{.1in}{#2}(x,y)-
\parmbox{.1in}{#2}_{\mathrm{as}}(x,y)\right]\right\vert
& = 0}
\begin{document}
\begin{align*}
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert y^{5/2-\varepsilon}\left[\vphantom{A^2}u(x,y)-u_{\mathrm{as}}(x,y)\right]\right\vert & = 0 \\
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert y^{5/2-\varepsilon}\left[\vphantom{A^2}v(x,y)-v_{\mathrm{as}}(x,y)\right]\right\vert & = 0 \\
\lim_{y\to\infty}\sup_{x\in\mathbb{R}} \left\vert y^{9/2-\varepsilon}\left[\vphantom{A^2}\omega(x,y)-\omega_{\mathrm{as}}(x,y)\right]\right\vert & = 0
\end{align*}
\begin{align*}
\eqstencil{5/2}{u}\\
\eqstencil{5/2}{v}\\
\eqstencil{9/2}{\omega}\\
\end{align*}
\end{document}