[comp.text.tex] Modification of Enumerate Environment

young@emx.utexas.edu (Young U. Ryu) (05/17/91)

Message-ID: <1991May15.192101.3182@gmuvax2.gmu.edu> writes

>       1)  I know I can use enumi, enumii etc. for nested enumeration
>           but the problem is that I don't know how to set it up.
>           Can anyone help ?  What I want is something like 
>
>           1. text here
>              ......
>
>              1.1  ....
>                   1.1.1
>
>           2. ......
>

How about this ...

% Modification of the enumerate environment
% The result will look like:
%
%  1. xxx
%     1.1. xxx
%     1.2. xxx
%  2. xxx
%     2.1. xxx
%  3. xxx
%     3.1. xxx
%          3.1.1. xxx
%  etc.
%  etc.
%
\catcode`@=11
\def\labelenumi{\theenumi.}
	\def\theenumi{\arabic{enumi}}
\def\labelenumii{\theenumi.\theenumii.}
	\def\theenumii{\arabic{enumii}}
	\def\p@enumii{\theenumi.}
\def\labelenumiii{\theenumi.\theenumii.\theenumiii.}
	\def\theenumiii{\arabic{enumiii}}
	\def\p@enumiii{\theenumi.\theenumii.}
\def\labelenumiv{\theenumi.\theenumii.\theenumiii.\theenumiv.}
	\def\theenumiv{\arabic{enumiv}}
	\def\p@enumiv{\theenumi.\theenumii.\theenumiii.}

\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else
      \advance\@enumdepth \@ne
      \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
      {\csname label\@enumctr\endcsname}{\usecounter{\@enumctr}
      \labelsep =  .5em
      \ifnum \@enumdepth = 1
             \labelwidth = 1em
             \leftmargin = 2.8em
      \else \ifnum \@enumdepth = 2
                   \labelwidth = 1.6em
                   \leftmargin = 2.1em
            \else \ifnum \@enumdepth = 3
                         \labelwidth = 2.4em
                         \leftmargin = 2.9em
                  \else
                         \labelwidth = 3.2em
                         \leftmargin = 3.7em
                  \fi
            \fi
      \fi
      \def\makelabel##1{\rlap{##1}\hss}}\fi}
\catcode`@=12
% End of the modification of the enumerate environment


Young (Univ. of Texas at Austin)
young@emx.utexas.edu