如何用不同的名称恢复枚举列表?

如何用不同的名称恢复枚举列表?

我想要这样的东西。

  • 评论 1. blablabla
  • 回应 1. blablabla
  • 评论2。blablabla
  • 回应2. blablabla

我需要的项目符号为评论 1.、回复 1. 等等。

我的尝试是这样的。

\documentclass[onecolumn, 12pt]{article}
\usepackage{enumitem}
\newcounter{count}

\begin{document}
\begin{enumerate}[label={Comment \arabic*.}]
    \item \textit{blablabla.}\\~\\
    \begin{enumerate}[label={Response \arabic*.}]
        \item blablabla
        \setcounter{count}{\theenumi}
    \end{enumerate}

    \item \textit{blablabla.}\\~\\
    \begin{enumerate}[label={Response \arabic*.}]
        \setcounter{enumi}{\thecount}
        \item blablabla
    \end{enumerate}
\end{enumerate}
\end{document}

这给了我这个错误:

! Missing number, treated as zero.
<to be read again> 
                   {
l.10             \setcounter{count}{\theenumi}

答案1

这是一种快捷方法,使用start=...内部列表的选项。我会尝试更新更好的方法。

主要问题是,这\theenumi不只是输出 1 或 2,而是输出1.2.,即末尾有一个点。这不能进入\setcounter{...}{...}命令,因为计数器值必须是整数,而不是字母数字值。

\documentclass[onecolumn, 12pt]{article}
\usepackage{enumitem}

\begin{document}
\begin{enumerate}[label={Comment \arabic*.}]
\item \textit{blablabla.}%\\~\\
  \begin{enumerate}[label={Response \arabic*.}]
  \item blablabla
  \end{enumerate}

\item \textit{blablabla.}%\\~\\
  \begin{enumerate}[label={Response \arabic*.},start={\value{enumi}}]
    \item blablabla
    \end{enumerate}
  \end{enumerate}
\end{document}

更新附有特殊列表:

定义特殊列表,例如commentsresponses,两者都只有深度1,并将的起始responses始终设置为的当前值commentsi,这是由 then 定义的计数器\newlist。更深的嵌套将定义commentsiicommentsiiicommentsiv

\documentclass[onecolumn, 12pt]{article}
\usepackage{enumitem}

\newlist{comments}{enumerate}{1}
\setlist[comments,1]{label={Comment \arabic*.}}

\newlist{responses}{enumerate}{1}
\setlist[responses,1]{label={Response \arabic*.}, start={\value{commentsi}}}


\begin{document}
\begin{comments}
\item \textit{blablabla.}
  \begin{responses}
  \item blablabla
  \end{responses}
\item \textit{blablabla.}
  \begin{responses}
  \item blablabla
  \end{responses}
  \end{comments}
\end{document}

在此处输入图片描述

相关内容