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