
다음과 같은 목록을 조판해야 합니다.
항목 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
카운터를 늘리는 것입니다.
MWE:
\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
\@enumctr
기호 1과 유사한 버전이지만 현재 카운터로 확장되므로 모든 레벨을 변경할 필요가 없습니다 .
인수는 \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}