如何在 IEEEeqnarray 环境中将文本左对齐?

如何在 IEEEeqnarray 环境中将文本左对齐?

我正在使用IEEEeqnarray环境并希望将文本左对齐。该怎么做?

\documentclass[a4paper, 10pt, conference]{ieeeconf}
\usepackage{amsmath} % assumes amsmath package installed
\interdisplaylinepenalty=10000
\begin{document}
\begin{IEEEeqnarray}{C}
    p(t) = \sum_{k=1}^M a_k \cos(k\w_f t + \phi_k) = \sum_{k=1}^M h_k(t) \label{eq:pli} \\
\text{where} 
    h_k(t) = a_k \cos(k\w_f t + \phi_k)  \label{eq:plih}
\end{IEEEeqnarray}
end{document}

答案1

没有例子,这是未经测试的,但如果 IEEE 类没有提供任何东西,那么 TeX 原语\noalign可能会做一些与你需要的类似的事情。

... \label{eq:pli}\\
\noalign{\noindent where}
 h_k(t) =

答案2

您所尝试执行的操作存在一些错误。例如,您没有给出IEEEeqnarray列对齐说明符。请注意,正如您似乎正在使用的那样,\text您必须amsmath加载包。我不会使用它,但我们稍后会回来讨论amsmath。您的等式的一个最小工作示例可能如下:

\documentclass{article}
\usepackage{IEEEtrantools}
\usepackage{lipsum}

\begin{document}

\lipsum[2]
\begin{IEEEeqnarray}{lrCl}
    &p(t) &=& \sum_{k=1}^M a_k \cos(k\omega_f t + \phi_k) = \sum_{k=1}^M h_k(t) \label{eq:pli} \\
\mbox{where}\nonumber\\
    &h_k(t) &=& a_k \cos(k\omega_f t + \phi_k)  \label{eq:plih}
\end{IEEEeqnarray}

\end{document}

{lrCl}请注意在开始环境时添加的列说明符。l将使用 来使文本左对齐,其余部分相当清晰。显然,大写C是为了在该列的两侧留出更多空间。还请注意为文本添加\nonumber\\以抑制编号并开始新行。我还使用了 ,\mbox这样我就不必加载amsmath包了。您还遗漏了&对齐所需的字符。这看起来像:

在此处输入图片描述

现在,我想我以前从未听说过这个IEEEtrantools软件包,最好使用支持更多、功能更全面的软件包,例如amsmath。该amsmath软件包恰好有一个命令,专门用于您想要执行的操作(\intertext{...}),并提供了许多有用的显示数学环境。最接近您想要的是环境align

\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum}

\begin{document}

\lipsum[2]
\begin{align}
    p(t) &= \sum_{k=1}^M a_k \cos(k\omega_f t + \phi_k) = \sum_{k=1}^M h_k(t) \label{eq:pli} \\
\intertext{where}
    h_k(t) &= a_k \cos(k\omega_f t + \phi_k)  \label{eq:plih}
\end{align}

\end{document}

这会将文本对齐到最左侧(这也许正是您真正想要的)。请注意,获取此输出要简单得多,不需要列对齐说明符,只需几个&字符。文本和方程之间的垂直间距也好得多。

在此处输入图片描述

相关内容