
我需要排版如下列表:
項目 1
第2項
第3項
4-6。和之前的一樣
- 其他的東西
目前,我已使用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 ones
where 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}