评论

评论

假设我有类似的东西

\begin{enumerate}
  \item 
    \begin{equation*} 
      some eq 
    \end{equation*}
  \item 
    \begin{IEEEeqnarray*}{l} 
      eq 1 \\ 
      eq 2 \\ 
      ... 
      eq n 
    \end{IEEEeqnarray*}
\end{enumerate}

如何去除方程开始时出现的换行符(对于单行和多行方程),以便方程和项目编号对齐在一起?我以为这是一个相对常见的问题,但我找不到与之相关的另一篇文章 - 在使用新环境开始枚举列表中的项目时防止换行。

答案1

以下是一些可供您选择的替代方案:

在此处输入图片描述

\documentclass{IEEEtran}% http://ctan.org/pkg/ieeetran
\begin{document}
\begin{enumerate}
  \item First item
  \item
    \[
      f(x) = ax^2 + bx + c
    \]
  \item
    \begin{IEEEeqnarray*}{l} 
      f(x) \\ 
      ax^2 \\ 
      bx \\
      c
    \end{IEEEeqnarray*}
  \item Last item
\end{enumerate}
\begin{enumerate}
  \item First item
  \item $f(x) = ax^2 + bx + c$
  \item \hfill $f(x) = ax^2 + bx + c$ \hfill\mbox{}
  \item
    $\begin{array}[t]{@{}l@{}}
      f(x) \\ 
      ax^2 \\ 
      bx \\
      c
    \end{array}$
  \item \null\hfill
    $\begin{array}[t]{@{}l@{}}
      f(x) \\ 
      ax^2 \\ 
      bx \\
      c
    \end{array}$
    \hfill\null
  \item Last item
\end{enumerate}
\end{document}

如果您希望扩展的内容array,请\arraystretch按照讨论的内容进行修改表格中的列填充

答案2

该类IEEEtran实际上通过IEEEeqnarraybox一系列命令为此类构造提供了准备。环境IEEEeqnarrayboxm以数学模式排​​版其材料。语法是

\begin{IEEEeqnarrayboxm}[initialcommands][pos][width]{format}
....
\end{IEEEeqnarrayboxm}

使其[pos]等于[t]意味着第一行的基线与周围文本对齐。 [intialcommnads]可以为空,或者可能想要尝试[\IEEEeqnstrutmode]与正常文本换行符相似的行距。

以下是一些示例:

示例输出

\documentclass{IEEEtran}

\begin{document}

\begin{enumerate}
\item A first item in a list.
\item \leavevmode
  \begin{IEEEeqnarrayboxm}[][t]{rCl}
    \int_0^1 e^{-t}\,dt &=& 1-e^{-1},\\
    E &=& mc^2,\\
    0 &=& 6x^2 - 2x + 1.\strut
  \end{IEEEeqnarrayboxm}
\item \strut
  \begin{IEEEeqnarrayboxm}[][t]{cCcCcCl}
    2a &+&3b&-&c&=&3\\
    5a &+&b&+&2c&=&1\\
    -a&+&7b&+&3c&=&7\strut
  \end{IEEEeqnarrayboxm}
  and some further text.
\item A text item of a length that shows the current column width.
\item \leavevmode
  \begin{IEEEeqnarrayboxm}[\IEEEeqnarraystrutmode][t]{cCcCcCl}
    2a &+&3b&-&c&=&3\\
    5a &+&b&+&2c&=&1\\
    -a&+&7b&+&3c&=&7
  \end{IEEEeqnarrayboxm}\\
  and some text explaining this system of equations.
\item \leavevmode
  \begin{IEEEeqnarrayboxm}[][t]{l}
    y = \frac{e^{ax^2+bx+c}}2.
  \end{IEEEeqnarrayboxm}
\item Text item.
\end{enumerate}

\end{document}

请注意,在进入环境之前,必须将 LaTeX 设置为水平模式。这可以通过在标签后的行上放置一些先前的文本、通过发出\leavevmode或通过发出一个框来实现\strut(它具有大写字母的高度,因此可以帮助行距,但宽度为零)。

类似地,\strut在等式的最后一行,环境可以改善默认值的间距。

IEEEtran课程文档附录 F 对这些环境和各种支柱机制进行了全面的描述。

答案3

评论

这种方法与@Werner 的方法大致相同,但我引入了一些新的环境,使一切变得更加方便。

我还根据IEEEeqnarrayboxmAndrew Swann 的回答定义了一个新的环境。

执行

\documentclass{IEEEtran}
\pagestyle{empty}
\usepackage{amsmath,amssymb,lipsum}

\newenvironment{itemalign}%
    {$\aligned[t]}%
    {\endaligned$\par}

\newenvironment{itemeq}%
    {$\displaystyle}%
    {$\par}

\newenvironment{itemarray}[1]%
    {$\array[t]{#1}}%
    {\endarray$\par}

\newenvironment{itemIEEE}[1]%
    {\minipage[t]{\linewidth}\vskip -\baselineskip\begin{IEEEeqnarray*}{#1}}%
    {\end{IEEEeqnarray*}\endminipage}

\newcommand{\diff}{\mathop{}\!\mathrm{d}}
\begin{document}
\lipsum[11]
\begin{enumerate}
    \item
        \begin{itemeq}
            \mathcal{F}[f](\omega) = \frac{1}{(2 \pi)^{n/2}} \int_{\mathbb{R}^n} f(t) \, \mathrm{e}^{-\mathrm{i} \omega t} \diff t
        \end{itemeq}

    \item
        \begin{itemalign}
            \mathcal{F}[f](\omega) &= \frac{1}{(2 \pi)^{n/2}} \int_{\mathbb{R}^n} f(t) \, \mathrm{e}^{-\mathrm{i} \omega t} \diff t \\
            f(t) &= \mathcal{F}^{-1}[\mathcal{F}[f]](t)
        \end{itemalign}
    \item
        \begin{itemarray}{c@{{}+{}}c@{{}+{}}c@{{}={}}r}
            1 x_1 & 0 x_2    & 0 x_3    & 3 \\
            0 x_1 & (-2) x_2 & 3 x_3    & 6 \\
            0 x_1 & 0 x_2    & (-2) x_3 & 5 \\
        \end{itemarray}
        I don't know, if this is even sovable\dots

    \item
        \begin{itemIEEE}{rl}
            \mathcal{F}[f](\omega) &= \frac{1}{(2 \pi)^{n/2}} \int_{\mathbb{R}^n} f(t) \, \mathrm{e}^{-\mathrm{i} \omega t} \diff t \\
            f(t) &= \mathcal{F}^{-1}[\mathcal{F}[f]](t)
        \end{itemIEEE}
\end{enumerate}
\lipsum[11]
\end{document}

输出

在此处输入图片描述

相关内容