我正在尝试为我的一个学生制作一份解决方案表,并希望以与手写类似的方式书写。在这种情况下,我希望有 4 列方程式(我知道对齐环境中实际上有 14 列)。我的代码如下所示:
\begin{alignat*}{14}
12a &+ 4b &&+ c &&={}& -3 &\qquad& 12a &+ 2b &&={}& 0 &\\
-27a &- 6b &&- c &&={}& 0 &\qquad& -15a &- 2b &&={}& -3 &\\[-1.2em]
\cline{1-7} \\[-2.5em]
-15a &- 2b && &&={}& -3 &\qquad& -3a & &&={}& -3 &\\
& && &&{}& &\qquad& & &a&={}& -1 &
\end{alignat*}
\begin{alignat*}{14}
12a &+ 4b &&+ c &&={}& -3 &\qquad& 12a &+ 2b &&={}& 0 &\\
-27a &- 6b &&- c &&={}& 0 &\qquad& -15a &- 2b &&={}& -3 &\\[-1.2em]
\cline{1-7} \cline{9-13}\\[-2.5em]
-15a &- 2b && &&={}& -3 &\qquad& -3a & &&={}& -3 &\\
& && &&{}& &\qquad& & &a&={}& -1 &
\end{alignat*}
我希望\cline{1-7} \cline{9-13}
它们不换行,而是在同一行。使用 align 或 alignat 可以实现吗?
此外,我尝试制作一个从第 1 列最后一行末尾到第 2 列第二行开头的柔和 S 形 tikz 箭头,但失败了。所以如果你擅长这类事情,我将非常感谢你的帮助!=)
答案1
我会使用一个简单的array
环境:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[\arraycolsep=1.4pt\def\arraystretch{1.3}
\begin{array}{rcr p{1cm} rcr}
12a + 4b + c &=& -3 && 12a + 2b &=& 0 \\
-27a - 6b - c &=& 0 && -15a - 2b &=& -3 \\
\cline{1-3} \cline{5-7}
-15a - 2b \phantom{\,-\,c\,} &=& -3 & & -3a \phantom{\,-\,2b\,} &=& -3 \\
& & && a &=& -1
\end{array}
\]
\end{document}
对于箭头,您可以使用 TikZ 或 PSTricks 定义两个节点。
答案2
\cline
不受amsmath
环境支持。\cline
结束一行以将其高度移回。但行的结束会触发amsmath
用于测量等的代码。
一个比较棘手的解决方法是:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand*{\StrutboxHeight}{\ht\strutbox@}
\newcommand*{\StrutboxDepth}{\dp\strutbox@}
\makeatother
\begin{document}
\begin{alignat*}{14}
12a &+ 4b &&+ c &&={}& -3 &\qquad& 12a &+ 2b
&&={}& 0 &\\
-27a &- 6b &&- c &&={}& 0 &\qquad& -15a &- 2b
-&&={}& -3 & \\
\noalign{\vskip-\StrutboxHeight}
\cline{1-7}
\noalign{\vskip\arrayrulewidth\vskip-\baselineskip}
\cline{9-13}
\noalign{\vskip-\StrutboxDepth}
-15a &- 2b && &&={}& -3 &\qquad& -3a &
-&&={}& -3 &\\
& && &&{}& &\qquad& &
&a&={}& -1 &
\end{alignat*}
\end{document}