如何在 begin{equation} 环境中为参数方程定位方程编号(即 x = { a 或 b )

如何在 begin{equation} 环境中为参数方程定位方程编号(即 x = { a 或 b )

我有一个参数方程,它由 begin{equation} 环境自动编号。我的问题是,数字出现在方程下方的下一行。由于拆分方程的第二行有足够的空间,我希望方程编号出现在那里。有人知道我该怎么做吗?

这与之前的一些问题类似,但我尝试过他们的解决方案,即使用 \notag 作为顶行,并使用负 \hspace,但这两种方法都不起作用,我想是因为我使用了数组。我的代码如下:

\documentclass[a4paper,twoside,12pt]{article}
\usepackage{multicol}

\begin{document}

\begin{multicols*}{2}

Using Poisson's equation for gravity,

\begin{equation} \label{eq: phi}
\Phi(r) = \left\{
\begin{array}{lr}
    \frac{GM_{tot}}{Rvir}[\ln\left(\frac{r}{R_{vir}}\right) - 1] : r < R_{vir} \\
    \\
    \frac{-GM_{tot}}{r} : r > R_{vir} . 
\end{array} 
\right.
\end{equation}

\end{multicols*}
\end{document}

提前致谢!

编辑:我无法使用不同的文档格式(例如 [twocolumn]),因为我的报告部分内容是在单列中完成的。我不希望 r < Rvir 出现在不同的行上。我理想情况下认为我可以沿着 r > Rvir 子句移动,这样方程编号就可以与第二个方程一致,因为那一行有空间。有人能做到这一点吗?

答案1

使用单列数组:

\documentclass[]{article}
\usepackage{amsmath}
\usepackage{multicol}

\newcommand{\tsub}[1]{_{\mathrm{#1}}}

\begin{document}

\begin{multicols*}{2}

Using Poisson's equation for gravity,
\begin{equation} \label{eq: phi}
\Phi(r) =
\left\{
\begin{array}{@{}r@{}}
\dfrac{GM\tsub{tot}}{R\tsub{vir}}
  \biggl[\ln\biggl(\frac{r}{R\tsub{vir}}\biggr) - 1\biggr]
  \\
  r < R\tsub{vir}
\\[2ex]
\dfrac{-GM\tsub{tot}}{r} \hfill r > R\tsub{vir} . 
\end{array}
\right.
\end{equation}

\end{multicols*}

\end{document}

文本下标应为直立类型,因此我设置了它们。

在此处输入图片描述

另一方面,使用该twocolumn选项可以使文本宽度更宽,您可以使用更好的方法。

\documentclass[twocolumn]{article}
\usepackage{amsmath,mathtools}

\newcommand{\tsub}[1]{_{\mathrm{#1}}}

\begin{document}

Using Poisson's equation for gravity,
\begin{equation} \label{eq: phi}
\Phi(r) =
\begin{dcases}
\dfrac{GM\tsub{tot}}{R\tsub{vir}}
  \biggl[\ln\biggl(\frac{r}{R\tsub{vir}}\biggr) - 1\biggr]
  &
  r < R\tsub{vir}
\\
\dfrac{-GM\tsub{tot}}{r} & r > R\tsub{vir} . 
\end{dcases}
\end{equation}

\end{document}

在此处输入图片描述

答案2

我建议 (a) 使用cases环境和 (b) 将条件信息 ( r<R_{vir}) 单独放在一行上。我也不会自动调整括号的大小。

在此处输入图片描述

\documentclass[a4paper,twoside,12pt]{article}
\usepackage{multicol,amsmath}

\begin{document}
\begin{multicols*}{2}

Using Poisson's equation for gravity,
\begin{equation} \label{eq:phi}
\Phi(r) = 
\begin{cases} 
\frac{\textit{GM}_{\textit{tot}}}{R_{\textit{vir}}}\bigl[
\ln\bigl(\frac{r}{R_{\textit{vir}}}\bigr) - 1\bigr],\\  
\qquad\qquad r < R_{\textit{vir}} \\[2ex]
\frac{-\textit{GM}_{\textit{tot}}}{r}, 
\quad r > R_{\textit{vir}} 
\end{cases}
\end{equation}

\end{multicols*}
\end{document}

附录:如果你可以不用方程编号,那么让条件信息与相关公式在同一行上就不是太难了。(我只是不明白如何才能将公式、条件信息、公式编号全部位于文本块宽度之内。

(与上面的代码相比,下面显示的代码实现了@MassimoOrtolano 提出的修正,即“G”和“M”代表单独的变量......)

在此处输入图片描述

\documentclass[a4paper,twoside,12pt]{article}
\usepackage{multicol,amsmath}

\begin{document}
\begin{multicols*}{2}

Using Poisson's equation for gravity,
\begin{equation*} \label{eq:phi}
\Phi(r) {=} \! 
\begin{cases} 
\frac{GM_{\textit{tot}}}{R_{\textit{vir}}}
\bigl[\ln\bigl(\frac{r}{R_{\textit{vir}}}\bigr) - 1\bigr] : 
r < R_{\textit{vir}} \\[2ex]
\frac{-GM_{\textit{tot}}}{r} :
r > R_{\textit{vir}} 
\end{cases}
\end{equation*}

\end{multicols*}
\end{document}

答案3

这是不是答案,因为使用您发布的代码,我无法重现您报告的问题(我得到的方程式编号相对于方程式垂直居中),而只是一条不符合允许字符数的注释。请考虑按如下方式重写您的代码:

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{mathtools}

\begin{document}

Using Poisson's equation for gravity,
%
\begin{equation} \label{eq: phi}
\Phi(r) =
    \begin{dcases*}
        \frac{GM_{\mathrm{tot}}}{R_{\mathrm{vir}}}
                \biggl[\ln\Bigl(\frac{r}{R_{\mathrm{vir}}}\Bigr) - 1\biggr]
            & if \( r < R_{\mathrm{vir}} \), \\[2\jot]
        \frac{-GM_{\mathrm{tot}}}{r}
            & if \( r > R_{\mathrm{vir}} \). 
    \end{dcases*} 
\end{equation}

\end{document}

这是我获得的输出:

代码输出

相关内容