我正在尝试生成一个由两列组成的数学方程式表,其中每个单元格包含其自己的左对齐、编号的方程式。
我尝试\begin{equation} \end{equation}
在表格环境中或描述列表内使用multicols
,我可以获得编号,但不能获得左对齐。
我考虑过在表格中使用内联数学模式,但如何才能让这些方程式编号呢?有没有\numberthisequation
可以包含在 ( inline-math ) 命令中的小命令?
我想,我可以\minipages
并排使用两个,但我希望得到更直接一点的方法。
谢谢!
答案1
这是一个获取所需内容的小解决方法:
\documentclass[12pt,letterpaper]{article}
\usepackage{amsmath}
\begin{document}
\begin{tabular}{p{8cm}p{8cm}}
{\begin{align}
&\alpha = \beta + \gamma \\
&c = 20x^2 + 5x - 10
\end{align}}
&
{\begin{align}
&x_f = x_0 + v_0t \\
&\mu = 10 * \epsilon
\end{align} }
\end{tabular}
\end{document}
本例的关键概念是:
- 您使用由 定义的列的表格
p{dim}
。 - 该表格只有一行。
- 对于表格的每个单元格,都有一个方程数组(
align
),其方程式在的右侧定义&
,因此它们向左对齐。 - 非常重要的技巧:为了进行编译,您必须将 每个
align
环境都括在里面{}
,以便&
不会与 的环境发生冲突tabular
。
这种方法有一个缺陷:由于每个align
环境都独立于其他环境,如果其中一个方程的高度较大,则它们在垂直方向上看起来会错位。尝试编写
\frac{at^2}{2}
在第三个等式的右边。
答案2
要全局左对齐方程式,请fleqn
在加载时使用选项amsmath
。要仅左对齐文档部分方程式,您可以加载包nccmath
并使用其fleqn
环境。但这样您仍然会在实际环境中拥有方程式equation
,这会产生垂直间距问题。
不过,制作自己的内联方程标签似乎非常简单,所以尝试一下:
\documentclass{minimal}
\newcommand{\teqtag}{\hfill\stepcounter{equation}(\theequation)}
\begin{document}
\begin{tabular}{p{2 in}@{\hspace{0.25 in}}p{2 in}}
$\alpha=\beta+\gamma$\teqtag & $c=20x^2+5x-10$\teqtag \\
$\alpha=\frac{10x}{\int y\,dx}+\gamma$\teqtag & $c=20x^2+5x-10$\teqtag\\
$x_f=x_0+v_0 t$\teqtag & $\mu=10*\epsilon$\teqtag
\end{tabular}
\end{document}
或者先按列对方程式进行编号(并将标签放在左边):
\documentclass{minimal}
\newcommand{\lteqtag}{\stepcounter{lequation}(\thelequation)\ }
\newcommand{\rteqtag}{\stepcounter{requation}(\therequation)\ }
\newenvironment{spliteqs}%
{\newcounter{lequation}%
\newcounter{requation}%
\setcounter{lequation}{\value{equation}}%
\setcounter{requation}{\value{equation}}%
\addtocounter{requation}{3}}% number of left-column equations
{\setcounter{equation}{\value{requation}}}
\begin{document}
\begin{spliteqs}
\begin{tabular}{p{2 in}@{\hspace{0.25 in}}p{2 in}}
\lteqtag$\alpha=\beta+\gamma$ & \rteqtag$c=20x^2+5x-10$ \\
\lteqtag$\alpha=\frac{10x}{\int y\,dx}+\gamma$\ & \rteqtag$c=20x^2+5x-10$\\
\lteqtag$x_f=x_0+v_0 t$ & \rteqtag$\mu=10*\epsilon$
\end{tabular}
\end{spliteqs}
\end{document}
答案3
嗯,我不确定我是否理解了你的问题......这能满足你的需要吗?
\documentclass{article}
\usepackage{multicol}
\begin{document}
\begin{multicols}{2}
\begin{enumerate}
\item $a+b$
\item $c+d$
\item $e+f$
\columnbreak
\item $1+2$
\item $3+4$
\item $5+6$
\end{enumerate}
\end{multicols}
\end{document}
它看起来是这样的: