枚舉環境中具有多個值的項

枚舉環境中具有多個值的項

我需要排版如下列表:

  1. 項目 1

  2. 第2項

  3. 第3項

4-6。和之前的一樣

  1. 其他的東西

目前,我已使用description環境將其排版為

\documentclass{article}
\begin{document}
   \begin{description}
      \item[1.] item 1
      \item[2.] item 2
      \item[3.] item 3
      \item[4-6.] The same as previous ones
      \item[7.] Something else
   \end{description}
\end{document}

但是,我想知道這是否可以使用enumerate或其他本身進行編號的東西。是否可以使用 建立此清單enumerate

換句話說,我們可以做這樣的事情來獲得所需的輸出嗎

\documentclass{article}
\begin{document}
   \begin{enumerate}
      \item item 1
      \item item 2
      \item item 3
      \item[4-6.] The same as previous ones
      \item Something else
   \end{enumerate}
\end{document}

或甚至使用諸如\item[len=3] The same as previous oneswhere by 之類的東西len,我的意思是當前項之後的枚舉項的數量。

答案1

我知道實現你想要的唯一方法是增加計數器enumi

微量元素:

\documentclass{article}
\begin{document}
   \begin{enumerate}
      \item item 1
      \item item 2
      \item item 3
      \item[4--6.] The same as previous ones\addtocounter{enumi}{3}
      \item Something else
   \end{enumerate}
\end{document} 

輸出:

在此輸入影像描述

答案2

與 Symbol 1 類似的版本,但不需要更改所有級別,因為\@enumctr會擴展到目前計數器。

的參數\itemx是要統一的項目數。

\documentclass{article}
\usepackage{etoolbox}

\makeatletter
\newcounter{shakiba@temp}
\newcommand\itemx[1]{%
  \letcs\shakiba@save{the\@enumctr}
  \stepcounter{\@enumctr}%
  \protected@edef\shakiba@label{\csuse{the\@enumctr}--}
  \addtocounter{\@enumctr}{-1}%
  \addtocounter{\@enumctr}{#1}%
  \protected@edef\shakiba@label{\shakiba@label\csuse{the\@enumctr}}%
  \addtocounter{\@enumctr}{-1}
  \cslet{the\@enumctr}\shakiba@label
  \item
  \cslet{the\@enumctr}\shakiba@save
}
\makeatother

\begin{document}

\begin{enumerate}
\item item 1
\item item 2
  \begin{enumerate}
  \item subitem 2:1
  \itemx{5}\label{X} subitem 2:2-6
  \item subitem 2:7
  \end{enumerate}
\item item 3
\itemx{3}\label{Y} The same as previous ones
\item Something else
\end{enumerate}

References: \ref{X} and \ref{Y}

\end{document}

在此輸入影像描述

答案3

一種非常粗暴的方法,但不需要自己計算計數器

\documentclass{article}

\def\itemx#1{
    \let\oldtheenumi\theenumi
    \let\oldtheenumii\theenumii
    \let\oldtheenumiii\theenumiii
    \let\oldtheenumiv\theenumiv
    \def\theenumi{\oldtheenumi-\addtocounter{enumi}{#1}\oldtheenumi}
    \def\theenumii{\oldtheenumii-\addtocounter{enumii}{#1}\oldtheenumii}
    \def\theenumiii{\oldtheenumiii-\addtocounter{enumiii}{#1}\oldtheenumiii}
    \def\theenumiv{\oldtheenumiv-\addtocounter{enumiv}{#1}\oldtheenumiv}
    \item
    \let\theenumi\oldtheenumi
    \let\theenumii\oldtheenumii
    \let\theenumiii\oldtheenumiii
    \let\theenumiv\oldtheenumiv
}

\begin{document}
    \begin{enumerate}
        \item item 1
        \item item 2
        \begin{enumerate}
            \item subitem 2:1
            \itemx5 subitem 2:2-6
            \item subitem 2:7
        \end{enumerate}
        \item item 3
        \itemx3 The same as previous ones
        \item Something else
    \end{enumerate}
\end{document}

相關內容