我有很长的短公式块,所以我想将它们排版成 2 列。我希望它们在列内进行编号和水平对齐,所以我在 multicols 环境中使用 align 环境。如下所示:
\begin{multicols}{2}
\begin{align}
x_1 &= a+b \\
x_2 &= y + 3 \\
x_3 &= z + \sqrt{c}
\end{align}
\end{multicols}
这确实将公式分成了两列,但顶部似乎有一个很大的空间,我无法避免。
我怎样才能摆脱它?
编辑:我认为 multicols 不适合在这里使用。它在第一列内开始一个新段落,紧接着它本身。有没有更好的方法在一个 2 列块内排列单独编号的方程式?
答案1
您还可以使用另一种方法使用tasks
包。设置格式
[item-format=\ensuremath,counter-format=(tsk), label-width=4ex, column-sep=5pt]
我邀请你通过链接查看手册https://ctan.mirror.garr.it/mirrors/ctan/macros/latex/contrib/tasks/tasks-manual.pdf。
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{tasks}
\begin{document}
I have these exercises to solve.
\begin{tasks}[item-format=\ensuremath,counter-format=(tsk), label-width=4ex, column-sep=5pt](2)
\task x_1 = a+b
\task x_2 = y + 3
\task x_3 = z + \sqrt{c}
\end{tasks}
After \ldots
\end{document}
答案2
希望您需要删除上面的公式空间,如果是的话,\SwapAboveDisplaySkip
该包mathtools
可能会对您有所帮助,修改后的结果MWE
是:
\documentclass{book}
\usepackage{mathtools,multicol}
\begin{document}
\begin{multicols}{2}
\begin{align}
\SwapAboveDisplaySkip%
x_1 &= a+b \\
x_2 &= y + 3 \\
x_3 &= z + \sqrt{c}
\end{align}
\end{multicols}
\end{document}