我想这样做,其中每一行中的第一个和第二个方程式都对齐。
因此我尝试使用multicol
:
\documentclass{article}
\usepackage{multicol, enumitem, blindtext}
\begin{document}
\begin{enumerate}
\begin{multicols}{2}
\item $f_x = 4x^3y^3+16xy$,
\item $f_x = -\pi \mathrm{e}^{-t}\sin{\pi x}$,
\item $z_x = 20(2x+3y)^9$,
$f_y = 3x^4y^2+8x^2$.
$f_t = -e^{-t}\cos{\pi x}$.
$z_y = 30(2x+3y)^9$.
\end{multicols}
\item \blindtext
\end{enumerate}
\end{document}
结果还可以,但是两列之间的距离太大,我必须先写完第一列的内容,然后再写第二列的内容。
我也尝试过使用tabular
:
\documentclass{article}
\usepackage{multicol, enumitem, blindtext}
\begin{document}
\begin{tabular}{lll}
1. & $f_x = 4x^3y^3+16xy$, & $f_y = 3x^4y^2+8x^2$. \\
2. & $f_x = -\pi \mathrm{e}^{-t}\sin{\pi x}$, & $f_t = -e^{-t}\cos{\pi x}$. \\
3. & $z_x = 20(2x+3y)^9$, & $z_y = 30(2x+3y)^9$.
\end{tabular}
\begin{enumerate}
\addtocounter{enumi}{3}
\item \blindtext
\end{enumerate}
\end{document}
这解决了后两个问题,但使得编号变成了手动操作,并且数字不一致。
有没有一种(更简单的)方法可以做到这一点,使两列之间的距离不要太大和/或以一种方便的方式逐行而不是逐列地写入内容?
答案1
使用eqparbox
:
\documentclass{article}
\usepackage{eqparbox, enumitem, blindtext}
\newcommand{\enumeqboxes}[3]{%
% #1 = label, #2 = math material left, #3 = math material right
\eqmakebox[#1@1][l]{$#2$,}\quad\eqmakebox[#1@2][l]{$#3$.}
}
\begin{document}
\begin{enumerate}
\item \enumeqboxes{A}{f_x = 4x^3y^3+16xy}{f_y = 3x^4y^2+8x^2}
\item \enumeqboxes{A}{f_x = -\pi e^{-t}\sin(\pi x)}{f_t = -e^{-t}\cos(\pi x)}
\item \enumeqboxes{A}{z_x = 20(2x+3y)^9}{z_y = 30(2x+3y)^9}
\item \blindtext
\end{enumerate}
\end{document}
第一个参数是任意标签,每次使用该技巧时该标签都应不同。因此,对于另一组公式,您将使用,例如,B
等等。
注意:我修复\sin{\pi x}
了\sin(\pi x)
以及常量排版不一致的问题埃:要么始终直立,要么始终斜体(我认为这样更好)。