summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/shipunov/autolist.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-02-19 17:05:28 +0000
committerKarl Berry <karl@freefriends.org>2008-02-19 17:05:28 +0000
commitcf4d2164c6ed64dccbe7d8abdd8b0c95f8509a1c (patch)
treeadbb0d174b4ab3c017b085367d946ad7ba3b417b /Master/texmf-dist/tex/latex/shipunov/autolist.sty
parentf95f16133feaac8dd66077e38d247937f819c815 (diff)
new latex collection shipunov (18feb08)
git-svn-id: svn://tug.org/texlive/trunk@6680 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/shipunov/autolist.sty')
-rw-r--r--Master/texmf-dist/tex/latex/shipunov/autolist.sty180
1 files changed, 180 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/shipunov/autolist.sty b/Master/texmf-dist/tex/latex/shipunov/autolist.sty
new file mode 100644
index 00000000000..e1f65d9f160
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/shipunov/autolist.sty
@@ -0,0 +1,180 @@
+% Authors: A. and A. Shipunovs, plantago@herba.msu.ru
+
+\ProvidesPackage{autolist}%
+ [2008/02/06 v0.3 Various lists]
+
+\ProvidesPackage{autolist}
+\RequirePackage{calc}
+
+\newcounter{TMC@a}
+
+\newdimen\Subleftmargini
+\newdimen\Subleftmarginii
+\newdimen\Subleftmarginiii
+\newdimen\Subleftmarginiv
+\newdimen\Subleftmarginv
+\newdimen\Subleftmarginvi
+\newdimen\Subleftmarginvii
+\newdimen\Subleftmarginviii
+\newdimen\Subleftmarginix
+\newdimen\Subleftmarginx
+
+\newcount\@Subnumdepth \@Subnumdepth = 0
+\@definecounter{Subnumi}
+\@definecounter{Subnumii}
+\@definecounter{Subnumiii}
+\@definecounter{Subnumiv}
+\@definecounter{Subnumv}
+\@definecounter{Subnumvi}
+\@definecounter{Subnumvii}
+\@definecounter{Subnumviii}
+\@definecounter{Subnumix}
+\@definecounter{Subnumx}
+
+% Lists with up to 10 levels
+
+% "List" analog
+\def\Sublist#1#2{\ifnum \@listdepth >9\relax \@toodeep
+ \else \global\advance\@listdepth\@ne \fi
+ \rightmargin \z@ \listparindent\z@ \itemindent\z@
+ \csname @slist\romannumeral\the\@listdepth\endcsname
+ \def\@itemlabel{#1}\let\makelabel\@mklab \@nmbrlistfalse #2\relax
+ \@trivlist
+ \parskip\parsep \parindent\listparindent
+ \advance\linewidth -\rightmargin \advance\linewidth -\leftmargin
+ \advance\@totalleftmargin \leftmargin
+ \parshape \@ne \@totalleftmargin \linewidth
+ \ignorespaces}
+\let\endSublist=\endlist
+
+% Size decrease
+\setlength\Subleftmargini {\parindent}
+\setlength\Subleftmarginii {1em}
+\setlength\Subleftmarginiii{1em}
+\setlength\Subleftmarginiv {1em}
+\setlength\Subleftmarginv {1em}
+\setlength\Subleftmarginvi {1em}
+\setlength\Subleftmarginvii{1em}
+\setlength\Subleftmarginviii{1em}
+\setlength\Subleftmarginix {1em}
+\setlength\Subleftmarginx {1em}
+
+\def\@slistI{\leftmargin\Subleftmargini
+ \topsep0pt \parsep0pt \itemsep0pt}
+\let\@slisti\@slistI
+\@slisti
+\def\@slistii {\leftmargin\Subleftmarginii
+ \labelwidth\Subleftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep0pt \parsep0pt \itemsep0pt}
+\def\@listiii{\leftmargin\Subleftmarginiii
+ \labelwidth\Subleftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep0pt \parsep0pt \itemsep0pt}
+\def\@listiv {\leftmargin\Subleftmarginiv
+ \labelwidth\Subleftmarginiv
+ \advance\labelwidth-\labelsep
+ \topsep0pt \parsep0pt \itemsep0pt}
+\def\@listv {\leftmargin\Subleftmarginv
+ \labelwidth\Subleftmarginv
+ \advance\labelwidth-\labelsep
+ \topsep0pt \parsep0pt \itemsep0pt}
+\def\@listvi {\leftmargin\Subleftmarginvi
+ \labelwidth\Subleftmarginvi
+ \advance\labelwidth-\labelsep
+ \topsep0pt \parsep0pt \itemsep0pt}
+\def\@listvii{\leftmargin\Subleftmarginvii
+ \labelwidth\Subleftmarginvii
+ \advance\labelwidth-\labelsep
+ \topsep0pt \parsep0pt \itemsep0pt}
+\def\@listviii{\leftmargin\Subleftmarginviii
+ \labelwidth\Subleftmarginviii
+ \advance\labelwidth-\labelsep
+ \topsep0pt \parsep0pt \itemsep0pt}
+\def\@listix {\leftmargin\Subleftmarginix
+ \labelwidth\Subleftmarginix
+ \advance\labelwidth-\labelsep
+ \topsep0pt \parsep0pt \itemsep0pt}
+\def\@listx {\leftmargin\Subleftmarginx
+ \labelwidth\Subleftmarginx
+ \advance\labelwidth-\labelsep
+ \topsep0pt \parsep0pt \itemsep0pt}
+
+% "Enumerate" analog with hierarchical numeration
+\def\Subnum{\ifnum \@Subnumdepth >9 \@toodeep\else
+ \advance\@Subnumdepth \@ne
+ \edef\@Subnumctr{Subnum\romannumeral\the\@Subnumdepth}\Sublist
+ {\csname label\@Subnumctr\endcsname}{\usecounter
+ {\@Subnumctr}\def\makelabel##1{\hss\llap{##1}}}\fi}
+\let\endSubnum=\endlist
+
+\def\theSubnumi{\arabic{Subnumi}}
+\def\theSubnumii{\arabic{Subnumii}}
+\def\theSubnumiii{\arabic{Subnumiii}}
+\def\theSubnumiv{\arabic{Subnumiv}}
+\def\theSubnumv{\arabic{Subnumv}}
+\def\theSubnumvi{\arabic{Subnumvi}}
+\def\theSubnumvii{\arabic{Subnumvii}}
+\def\theSubnumviii{\arabic{Subnumviii}}
+\def\theSubnumix{\arabic{Subnumix}}
+\def\theSubnumx{\arabic{Subnumx}}
+\def\labelSubnumi{\theSubnumi.}
+\def\labelSubnumii{\theSubnumi.\theSubnumii.}
+\def\labelSubnumiii{\theSubnumi.\theSubnumii.\theSubnumiii.}
+\def\labelSubnumiv{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.}
+\def\labelSubnumv{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.}
+\def\labelSubnumvi{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.}
+\def\labelSubnumvii{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.}
+\def\labelSubnumviii{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.}
+\def\labelSubnumix{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.\theSubnumix.}
+\def\labelSubnumx{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.\theSubnumix.\theSubnumx.}
+\def\p@Subnumi{}
+\def\p@Subnumii{\theSubnumi.}
+\def\p@Subnumiii{\theSubnumi.\theSubnumii.}
+\def\p@Subnumiv{\theSubnumi.\theSubnumii.\theSubnumiii.}
+\def\p@Subnumv{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.}
+\def\p@Subnumvi{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.}
+\def\p@Subnumvii{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.}
+\def\p@Subnumviii{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.}
+\def\p@Subnumix{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.}
+\def\p@Subnumx{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.\theSubnumix.}
+
+% Lists with changing indent(LaTeX Companion 1st ed., p. 51--66)
+
+% Ragged left
+\newenvironment{Lautolist}[1][\quad]%
+ {\begin{list}{}{\renewcommand{\makelabel}[1]{{##1}\hfil}%
+ \settowidth{\labelwidth}{{#1}}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \itemsep=.5pt\parsep=2pt\topsep=5pt}}
+ {\end{list}}
+
+% Ragged right
+\newenvironment{Rautolist}[1][\quad]%
+ {\begin{list}{}{\renewcommand{\makelabel}[1]{\hfil{##1}}%
+ \settowidth{\labelwidth}{{#1}}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \itemsep=.5pt\parsep=2pt\topsep=5pt}}
+ {\end{list}}
+
+\newcommand{\Lplabel}[1]
+ {\raisebox{0pt}[1ex][0pt]{\makebox[\labelwidth][l]%
+ {\parbox[t]{\labelwidth}{\raggedright\hspace{0pt}#1}}}}
+
+% Items for several lines
+\newenvironment{Lpolylist}[1][\quad]%
+ {\begin{list}{}{%
+ \renewcommand{\makelabel}[1]{\Lplabel{##1}}%
+ \settowidth{\labelwidth}{{#1}}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \itemsep=.5pt\parsep=2pt\topsep=5pt}}
+ {\end{list}}
+
+% Description-like, but also number items
+\def\L@bl#1{\hspace{\labelsep}\refstepcounter{TMC@a}%
+ \arabic{TMC@a}.\ \textit{#1}}
+\newenvironment{characters}{\begin{list}{}
+ {\renewcommand{\makelabel}{\L@bl}}}
+{\setcounter{TMC@a}{0}\end{list}}
+
+\endinput