在 amsmath 包中,TiKZ、\multicols 和 \enumitem 存在问题

在 amsmath 包中,TiKZ、\multicols 和 \enumitem 存在问题

我正在尝试为我的学生创建一个垂直枚举的 3 列(1、2、3)工作表,以学习分配属性。

h/t @peter grill 和 @tarass 提供绘制箭头来说明分布的 TiKz 代码。

问题:

记录错误,指出(a)枚举(b)多列问题和(c)问题解决步骤与问题编号不正确对齐。

也许与 TiKz 有冲突?

在此先感谢您的帮助!

母语:

\documentclass{exam}
\usepackage{amsmath}
\usepackage{multicol}
\usepackage{enumitem}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc,shapes}

\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\newcommand{\DrawBox}[2]{%
  \begin{tikzpicture}[overlay,remember picture]
    \draw[->,shorten >=5pt,shorten <=5pt,out=70,in=130,distance=0.5cm,#1] (MarkA.north) to (MarkC.north);
    \draw[->,shorten >=5pt,shorten <=5pt,out=50,in=140,distance=0.3cm,#2] (MarkA.north) to (MarkB.north);
  \end{tikzpicture}
}
    \newlength{\MyL}

\newcommand{\TkM}[2]{%
    \settowidth{\MyL}{#2}
    #2\hspace{-\MyL}\makebox[\MyL]{\tikzmark{#1}}
    }

\begin{document}

\begin{multicols}{3}
\begin{enumerate}
    \item 
    
\[\TkM{MarkA}{a}(\TkM{MarkB}{b}+\TkM{MarkC}{c})=ab+ac
\DrawBox{OrangeRed,distance=0.45cm,in=130,shorten >=3pt,shorten <=3pt}{Cerulean,out=65,in=110,distance=0.3cm,shorten >=3.5pt,shorten <=3pt}\]

\begin{align*}
-(2x+5)&=(\TkM{MarkA}{-1})(\TkM{MarkB}{2x}+\TkM{MarkC}{5})
\DrawBox{OrangeRed,distance=0.6cm}{Cerulean,out=60,in=110,distance=0.4cm}\\
       &=(-1)(2x)+(-1)(5)\\
       &=-2x+(-5)\\
       &=-2x-5
\end{align*}

\end{multicols}
\end{enumerate}
\end{document}

答案1

错误是

! LaTeX Error: \begin{enumerate} on input line 26 ended by \end{multicols}.

因为你有它所说的\begin{enumerate}结局\end{multicols}

结束文档


\end{enumerate}
\end{multicols}
\end{document}

并且没有出现任何错误。

相关内容