在LaTeX中更改Enumerate环境中嵌套列表的编号

时间:2010-01-12 00:24:17

标签: latex enumerate

我想在LaTeX中生成以下内容:

1. Item
    2. Item
    3a. Item
    3b. Item
    4. Item
5. Item

基本上我已经尝试过使用嵌套的enumerate环境,但是我在实现不同的编号时遇到了问题。

如何在LaTeX中完成上述操作?

3 个答案:

答案 0 :(得分:9)

{enumerate}环境的目的是通过算法对事物进行编号。如果您确实希望数字显示在您的问题中,我无法确定您想要使用的算法。对于您展示的示例,我认为最简单的方法是自己编写标签,而不是尝试编写LaTeX来执行此操作。我会这样做:

\begin{itemize}
\item[1.]  Item
   \begin{itemize}
    \item[2.  ] Item
    \item[3a. ] Item
    \item[3b. ] Item
    \item[4.  ] Item
   \end{itemize}
\item [5. ] Item
\end{itemize}

使用LaTeX,解决方案的最快途径通常是暴力: - )

答案 1 :(得分:2)

又快又脏:

\documentclass{article}
\begin{document}

\renewcommand{\labelenumii}{\addtocounter{enumi}{1}\arabic{enumi}}
%% Second list uses first counter

\def\startenumtuple{\setcounter{enumii}{1}\addtocounter{enumi}{1}
  \renewcommand{\labelenumii}{\arabic{enumi}.\alph{enumii}}}
\def\endenumtuple{
  \renewcommand{\labelenumii}{\addtocounter{enumi}{1}\arabic{enumi}}}

\noindent Here's my list:

\begin{enumerate}
\item Item
\begin{enumerate}
\item Item
\startenumtuple
\item Item
\item Item
\endenumtuple
\item Item
\item Item
\end{enumerate}
\item Item
\end{enumerate}
\end{document}

(Mica的版本在此代码的第一次迭代中使用)

正确的方法是定义基于枚举的环境,使用计数器做正确的事情:如果你想改变列表环境的嵌套,上面的代码需要调整才能使其正常工作。

答案 2 :(得分:1)

\renewcommand{\labelenumi}{\Roman{enumi}.}
\renewcommand{\labelenumii}{\Roman{enumi}. \alph{enumii}}

\noindent Here's my list:

\begin{enumerate}
\item Item 1.
\begin{enumerate}
\item List 2, Item 1
\item List 2, Item 2
\end{enumerate}
\item Item 2.
\item Item 3.
\end{enumerate}

然后将\Roman中的renewcommand更改为您想要的内容:\alph\arabic