我正在尝试创建一个表格,其中包含两列独立标记的方程式 (1-6)。不幸的是,到目前为止,我找到的所有方程式要么不起作用,要么会将它们编号为子方程式 (1a、1b 等)。
我目前的尝试是:
\documentclass{article}
\usepackage{graphicx, verbatim, tabularx}
\usepackage{amsfonts}
\usepackage{amsmath, amssymb}
\newcommand{\grad}{\vec{\nabla}}
\newcommand{\prtl}[2]{\frac{\partial #1}{\partial #2}}
\newcommand{\curl}{\grad\times}
\begin{document}
\begin{tabular}{p{5cm}p{5cm}}
$\curl\vec{E} = -i\omega\mu\vec{H}$ &
$\curl\vec{H} = i\omega\mu\vec{E}$ \\
\begin{equation}
\label{eq:curlHx}
\prtl{E_z}{y} +\gamma E_y= -i\omega\mu H_x
\end{equation}
&
\begin{equation}
\label{eq:curlEx}
\prtl{H_z}{y} +\gamma H_y= i\omega\mu E_x
\end{equation}\\
\begin{equation}
\label{eq:curlHy}
-\prtl{E_z}{x} -\gamma E_x= -i\omega\mu H_y
\end{equation}
&
\begin{equation}
\label{eq:curlEy}
-\prtl{H_z}{x} -\gamma H_x= -i\omega\mu E_y
\end{equation}
\\
\begin{equation}
\label{eq:curlHz}
\prtl{E_y}{x}-\prtl{E_x}{y} = -i\omega\mu H_z
\end{equation}
&
\begin{equation}
\label{eq:curlEz}
\prtl{H_y}{x}-\prtl{H_x}{y} = -i\omega\mu E_z
\end{equation}
\end{tabular}
\end{document}
除了 tabular 之外,还有其他环境可以实现这个功能吗?Tabularx 很接近(编号正确),但格式/间距太糟糕了。
答案1
您的代码将无法工作,因为c
列需要水平模式下的材料,而显示的数学需要垂直模式。
下面我介绍三种选择;前两种使用tabular
方法,第三种使用minipage
s 和align
,这样就可以在等号处对齐点。在我看来,第三种选择是产生更令人满意的结果的方法。
一种选择是使用p{...}
列(我使用了两列的最大可用宽度,并为\curl
和提供了一些伪造的定义\prtl
):
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\curl}{Curl}
\newcommand\prtl[2]{\dfrac{\partial#1}{\partial#2}}
\begin{document}
\noindent\begin{tabular}{@{}*{2}{p{\dimexpr.5\textwidth-\tabcolsep\relax}}@{}}
$\curl\vec{E} = -i\omega\mu\vec{H}$ &
$\curl\vec{H} = i\omega\mu\vec{E}$ \\
\begin{equation}
\label{eq:curlHx}
\prtl{E_z}{y} +\gamma E_y= -i\omega\mu H_x
\end{equation}
&
\begin{equation}
\label{eq:curlEx}
\prtl{H_z}{y} +\gamma H_y= i\omega\mu E_x
\end{equation} \\
\begin{equation}
\label{eq:curlHy}
-\prtl{E_z}{x} -\gamma E_x= -i\omega\mu H_y
\end{equation}
&
\begin{equation}
\label{eq:curlEy}
-\prtl{H_z}{x} -\gamma H_x= -i\omega\mu E_y
\end{equation}
\\
\begin{equation}
\label{eq:curlHz}
\prtl{E_y}{x}-\prtl{E_x}{y} = -i\omega\mu H_z
\end{equation}
&
\begin{equation}
\label{eq:curlEz}
\prtl{H_y}{x}-\prtl{H_x}{y} = -i\omega\mu E_z
\end{equation}
\end{tabular}
\end{document}
如果第一行中未编号的方程式应该居中,则可以array
在序言中加载:
\usepackage{array}
然后使用
\begin{tabular}{
@{}
*{2}{>{\centering\arraybackslash}%
p{\dimexpr.5\textwidth-\tabcolsep\relax}}
@{}
}
...
\end{tabular}
用于表格格式规范。可以使用可选参数来避免额外的垂直间距\\
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array}
\newcommand{\curl}{\grad\times}
\newcommand\prtl[2]{\frac{\partial#1}{\partial#2}}
\newcommand{\grad}{\vec{\nabla}}
\begin{document}
\noindent\begin{tabular}{
@{}*{2}%
{>{\centering\arraybackslash}p{\dimexpr.5\textwidth-\tabcolsep\relax}}
@{}
}
$\curl\vec{E} = -i\omega\mu\vec{H}$ &
$\curl\vec{H} = i\omega\mu\vec{E}$
\\[-3ex]
\begin{equation}
\label{eq:curlHx}
\prtl{E_z}{y} +\gamma E_y= -i\omega\mu H_x
\end{equation}
&
\begin{equation}
\label{eq:curlEx}
\prtl{H_z}{y} +\gamma H_y= i\omega\mu E_x
\end{equation}
\\[-6ex]
\begin{equation}
\label{eq:curlHy}
-\prtl{E_z}{x} -\gamma E_x= -i\omega\mu H_y
\end{equation}
&
\begin{equation}
\label{eq:curlEy}
-\prtl{H_z}{x} -\gamma H_x= -i\omega\mu E_y
\end{equation}
\\[-6ex]
\begin{equation}
\label{eq:curlHz}
\prtl{E_y}{x}-\prtl{E_x}{y} = -i\omega\mu H_z
\end{equation}
&
\begin{equation}
\label{eq:curlEz}
\prtl{H_y}{x}-\prtl{H_x}{y} = -i\omega\mu E_z
\end{equation}
\end{tabular}
\end{document}
一种不同的方法是使用两个并排的minipage
salign
来为每列产生对齐;在这种情况下,\tag
用于保留以前解决方案的编号方案:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array}
\newcommand{\curl}{\grad\times}
\newcommand\prtl[2]{\frac{\partial#1}{\partial#2}}
\newcommand{\grad}{\vec{\nabla}}
\begin{document}
\noindent
\begin{minipage}[t]{.5\textwidth}
\begin{align}
\curl\vec{E} &= -i\omega\mu\vec{H} \notag \\
\label{eq:curlHx}
\prtl{E_z}{y} +\gamma E_y &= -i\omega\mu H_x \\
\label{eq:curlHy}
-\prtl{E_z}{x} -\gamma E_x &= -i\omega\mu H_y\tag{3} \\
\label{eq:curlHz}
\prtl{E_y}{x}-\prtl{E_x}{y} &= -i\omega\mu H_z\tag{5}
\end{align}
\end{minipage}%
\begin{minipage}[t]{.5\textwidth}
\begin{align}
\curl\vec{H} &= i\omega\mu\vec{E} \notag \\
\label{eq:curlEx}
\prtl{H_z}{y} +\gamma H_y &= i\omega\mu E_x\tag{2} \\
\label{eq:curlEy}
-\prtl{H_z}{x} -\gamma H_x &= -i\omega\mu E_y\tag{4} \\
\label{eq:curlEz}
\prtl{H_y}{x}-\prtl{H_x}{y} &= -i\omega\mu E_z\tag{6}
\end{align}
\end{minipage}
\end{document}