Я пытаюсь создать таблицу с двумя столбцами независимо помеченных уравнений (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
s и align
для выравнивания каждого столбца; в этом случае \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}