方程式上的微排版

方程式上的微排版

有没有办法通过使用字体扩展使下面代码中的所有三行数学运算占用相同的长度?我对此了解甚少,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达到极限的高度limsup协调
  • 引入\abs垂直线
  • 固定大小的分隔符,而不是\left/\right

添加以上所有作品均beamerlualatex

示例输出

\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}

示例代码输出

\mathrlapmathtools包。)这看起来更接近于使所有行的长度相同,并且大多数读者不会注意到您在开括号和或者。你可以通过调整指数来进一步调整

答案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}

在此处输入图片描述

相关内容