错误:“出现问题 - 可能缺少 \item。”在 \newenvironment 中使用 multicol 时,可以修复吗?

错误:“出现问题 - 可能缺少 \item。”在 \newenvironment 中使用 multicol 时,可以修复吗?

下面有效,但会产生错误消息,Something's wrong--perhaps a missing \item.有人知道为什么它会引发错误,以及如何纠正我的代码?

\documentclass{article}
\usepackage{enumitem,amssymb}
\usepackage{multicol}
\newlist{todolist}{itemize}{2}
\setlist[todolist]{label=$\square$}

\newenvironment{Ckcol}[1]{\begin{multicols}{#1}%
        \begin{itemize}%
        \begin{todolist}}%
              {\end{todolist}%
                \end{itemize}%
                           \end{multicols}}
\begin{document}

   \begin{Ckcol}{3}

    \item  item 1 
    \item  item 2 
    \item  item 3 
    \item  item 4 
    \item  item 5  
    \item  item 6

   \end{Ckcol}

\end{document}

输出:

在此处输入图片描述

我开始研究这个问题,试图解决这个问题:并排复选框

答案1

itemize(以及enumerate等等)环境故意期望命令\item能够起作用,但这不是所提供的todolist

可以通过给出一个\item[]空标签来解决这个问题,但这可能会将整个列表移到右边距,但总的来说,外部itemize环境根本没有必要!

更好的方法是使用从左到右的编号tasks

\documentclass{article}
\usepackage{enumitem}
\usepackage{amssymb}
\usepackage{multicol}
\usepackage{tasks}
\newlist{todolist}{itemize}{2}
\setlist[todolist]{label=$\square$}%

\newenvironment{Ckcol}[1]{\begin{multicols}{#1}%
    \begin{itemize}%
      \item[]\begin{todolist}
      }%
      {\end{todolist}%
    \end{itemize}%
  \end{multicols}
}
\begin{document}

   \begin{Ckcol}{3}
    \item  item 1 
    \item  item 2 
    \item  item 3 
    \item  item 4 
    \item  item 5  
    \item  item 6
   \end{Ckcol}

\begin{tasks}(3)
\task Foo 1
\task Foo 2
\task Foo 3
\task Foo 4
\task Foo 5
\task Foo 6
\end{tasks}


\end{document}

相关内容