![来自 IEEEXplore 的方程式 TeX 代码](https://linux22.com/image/270393/%E6%9D%A5%E8%87%AA%20IEEEXplore%20%E7%9A%84%E6%96%B9%E7%A8%8B%E5%BC%8F%20TeX%20%E4%BB%A3%E7%A0%81.png)
最近,IEEE 在论文的 HTML 全文视图中提供了大多数方程的 TeX 代码。这对我来说非常有趣,因为我可以跳过重写一些长方程的过程,而使用网站上的 TeX 代码。但是,我通常无法正确编译方程。
以下是方程 (A1) 中的 MWE这张纸(论文通过开放获取模式向任何人免费开放)。
\documentclass[10pt,a4paper]{article}
\usepackage{amsmath}
\begin{document}
$$D_{E}\propto\left\{\matrix{\left[(1-A)\cos (kh\sin\theta)-2B\cos\beta\right]^{2}
\hfill\cr+\left[(1+A)\sin (kh\sin\theta)+2B\sin\beta\right]^{2}\hfill}\right\}
\times\sin^{2}\theta\eqno{\hbox{(A3)}}$$
\end{document}
我应该使用一些特定的包(如 amsmath),还是使用一些编译器(如 XeTeX)???
答案1
此代码为 Plain TeX 样式。它可能可以在 LaTeX 上运行,但如果加载\matrix
则会出现错误。amsmath
在 LaTeX 中使用代码需要进行一些更改(我认为也是如此amsmath
):
\begin{equation}
D_{E}\propto
\left\{
\begin{aligned}
&(1-A)\cos(kh\sin\theta)-2B\cos\beta]^{2}\\
&\quad{}+[(1+A)\sin(kh\sin\theta)+2B\sin\beta]^{2}
\end{aligned}
\right\}
\times\sin^{2}\theta
\tag{A3}
\end{equation}
这会丢弃所有外部命令,例如\matrix
和\cr
;内部的\left
和也\right
已被删除(它们是错误的)。对于对齐,最好使用aligned
。当然,\eqno
在 LaTeX 中绝不能使用 ;我\tag{A3}
在这里使用了,但可能应该将其留给自动编号。
答案2
我刚刚发现普通包装可以用来处理纯 TeX代码在普通 LaTeX 文档中。这样,像 、 等包就可以amsmath
加载pgfplots
到同一个文档中。此外,你不需要坚持article
documentclass。
您需要将纯 TeX 代码放在纯环境中。
以下是 MWE:
\documentclass{IEEEtran}
\usepackage{plain}
\usepackage{amsmath}
\usepackage{pgfplots}
\begin{document}
\begin{plain}
$$D_{E}\propto\left\{\matrix{\left[(1-A)\cos (kh\sin\theta)-2B\cos\beta\right]^{2}
\hfill\cr+\left[(1+A)\sin (kh\sin\theta)+2B\sin\beta\right]^{2}\hfill}\right\}
\times\sin^{2}\theta\eqno{\hbox{(A3)}}$$
\end{plain}
\begin{align}
E = m c^2
\end{align}
\end{document}