123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473 |
- %%
- %% This is file `paralist.sty',
- %% generated with the docstrip utility.
- %%
- %% The original source files were:
- %%
- %% paralist.dtx (with options: `package')
- %%
- %% Copyright 1998-2002 Bernd Schandl
- %% email schandl@gmx.net
- %% www http://schandl.gmxhome.de/paralist
- %%
- %% This file can be redistributed and/or modified under the terms
- %% of the LaTeX Project Public License distributed from CTAN
- %% archives in the directory macros/latex/base/lppl.txt; either
- %% version 1 of the license, or (at your option) any later version.
- %%
- %% \CharacterTable
- %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
- %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
- %% Digits \0\1\2\3\4\5\6\7\8\9
- %% Exclamation \! Double quote \" Hash (number) \#
- %% Dollar \$ Percent \% Ampersand \&
- %% Acute accent \' Left paren \( Right paren \)
- %% Asterisk \* Plus \+ Comma \,
- %% Minus \- Point \. Solidus \/
- %% Colon \: Semicolon \; Less than \<
- %% Equals \= Greater than \> Question mark \?
- %% Commercial at \@ Left bracket \[ Backslash \\
- %% Right bracket \] Circumflex \^ Underscore \_
- %% Grave accent \` Left brace \{ Vertical bar \|
- %% Right brace \} Tilde \~}
- %%
- \ProvidesPackage{paralist}%
- [2002/03/18 v2.3b Extended list environments (BS)]
- \NeedsTeXFormat{LaTeX2e}
- \newif\if@plnewitem\@plnewitemtrue
- \newif\if@plnewenum\@plnewenumtrue
- \newif\if@plalwaysadjust\@plalwaysadjustfalse
- \newif\if@plneveradjust\@plneveradjustfalse
- \newif\if@plneverdecrease\@plneverdecreasefalse
- \newif\if@pldefblank\@pldefblankfalse
- \newif\if@plpointedenum\@plpointedenumfalse
- \newif\if@plpointlessenum\@plpointlessenumfalse
- \newif\if@plflushright\@plflushrighttrue
- \newif\if@plloadcfg\@plloadcfgtrue
- \DeclareOption{newitem}{\@plnewitemtrue}
- \DeclareOption{olditem}{\@plnewitemfalse}
- \DeclareOption{newenum}{\@plnewenumtrue}
- \DeclareOption{oldenum}{\@plnewenumfalse}
- \DeclareOption{alwaysadjust}{\@plalwaysadjusttrue}
- \DeclareOption{neveradjust}{\@plneveradjusttrue}
- \DeclareOption{neverdecrease}{\@plneverdecreasetrue}
- \DeclareOption{increaseonly}{\@plneverdecreasetrue
- \PackageWarningNoLine{Paralist}{Option increaseonly deprecated.
- \MessageBreak Use option neverdecrease instead}}
- \DeclareOption{defblank}{\@pldefblanktrue}
- \DeclareOption{pointedenum}{\@plpointedenumtrue}
- \DeclareOption{pointlessenum}{\@plpointlessenumtrue}
- \DeclareOption{cfg}{\@plloadcfgtrue}
- \DeclareOption{nocfg}{\@plloadcfgfalse}
- \DeclareOption{flushright}{\@plflushrighttrue}
- \DeclareOption{flushleft}{\@plflushrightfalse}
- \ExecuteOptions{newitem,newenum,cfg,flushright}
- \ProcessOptions\relax
- \if@plalwaysadjust\@plneveradjustfalse\fi
- \newlength{\pltopsep}
- \newlength{\plpartopsep}
- \newlength{\plitemsep}
- \newlength{\plparsep}
- \setlength{\pltopsep}{0pt}
- \setlength{\plpartopsep}{0pt}
- \setlength{\plitemsep}{0pt}
- \setlength{\plparsep}{0pt}
- \def\if@empty#1#2#3{%
- \def\@tempa{#1}%
- \ifx\@tempa\@empty#2\else#3\fi}
- \def\pl@item[#1]{%
- \if@noitemarg
- \@noitemargfalse
- \if@nmbrlist
- \refstepcounter{\@listctr}%
- \fi
- \fi
- \settowidth{\@tempdima}{#1}%
- \ifdim\@tempdima>\z@\makelabel{{#1}}\nobreakspace\fi
- \ignorespaces
- }
- \def\paradescriptionlabel#1{{\normalfont\bfseries #1}}
- \if@plflushright
- \def\enumlabel#1{\hss#1}
- \else
- \def\enumlabel#1{#1\hfil}
- \fi
- \if@plflushright
- \def\itemlabel#1{\hss#1}
- \else
- \def\itemlabel#1{#1\hfil}
- \fi
- \newif\if@plmylabel\@plmylabelfalse
- \newif\if@pldoadjust\@pldoadjustfalse
- \def\@adjust@enum@labelwidth{%
- \if@plneveradjust\else
- \if@plalwaysadjust\@pldoadjusttrue\else
- \if@plmylabel\@pldoadjusttrue\fi
- \fi
- \fi
- \if@pldoadjust
- \csname c@\@enumctr\endcsname7
- \settowidth{\@tempdima}{%
- \csname label\@enumctr\endcsname\hspace{\labelsep}}%
- \advance\@listdepth by 1\relax
- \if@plneverdecrease
- \ifdim\@tempdima >
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \@tempdima
- \fi
- \else
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \@tempdima
- \fi
- \advance\@listdepth by -1\relax
- \fi
- \@pldoadjustfalse
- \@plmylabelfalse}
- \def\@adjust@item@labelwidth{%
- \if@plneveradjust\else
- \if@plalwaysadjust\@pldoadjusttrue\else
- \if@plmylabel\@pldoadjusttrue\fi
- \fi
- \fi
- \if@pldoadjust
- \settowidth{\@tempdima}{%
- \csname\@itemitem\endcsname\hspace{\labelsep}}%
- \advance\@listdepth by 1\relax
- \if@plneverdecrease
- \ifdim\@tempdima >
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \@tempdima
- \fi
- \else
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \@tempdima
- \fi
- \advance\@listdepth by -1\relax
- \fi
- \@pldoadjustfalse
- \@plmylabelfalse}
- \newtoks\pl@lab
- \def\pl@qmark{?}
- \def\pl@label#1#2{%
- \edef\pl@the{\noexpand#1{\@enumctr}}%
- \pl@lab\expandafter{\the\pl@lab\csname the\@enumctr\endcsname}%
- \advance\@tempcnta1
- \pl@loop}
- \def\pl@space{\afterassignment\pl@sp@ce\let\@tempa= }
- \def\pl@sp@ce{\pl@lab\expandafter{\the\pl@lab\space}\pl@loop}
- \def\pl@group#1{\pl@lab\expandafter{\the\pl@lab{#1}}\pl@loop}
- \def\pl@other#1{\pl@lab\expandafter{\the\pl@lab#1}\pl@loop}
- \def\pl@loop{\futurelet\pl@temp\pl@loop@}
- \def\pl@loop@{%
- \ifx A\pl@temp \def\@tempa{\pl@label\Alph }\else
- \ifx a\pl@temp \def\@tempa{\pl@label\alph }\else
- \ifx i\pl@temp \def\@tempa{\pl@label\roman }\else
- \ifx I\pl@temp \def\@tempa{\pl@label\Roman }\else
- \ifx 1\pl@temp \def\@tempa{\pl@label\arabic}\else
- \ifx \@sptoken\pl@temp \let\@tempa\pl@space \else
- \ifx \bgroup\pl@temp \let\@tempa\pl@group \else
- \ifx \@@@\pl@temp \let\@tempa\@gobble \else
- \let\@tempa\pl@other
- \pl@hook
- \fi\fi\fi\fi\fi\fi\fi\fi
- \@tempa}
- \providecommand\pl@hook{}
- \def\@enumlabel@#1[#2]{%
- \@plmylabeltrue
- \@tempcnta0
- \pl@lab{}%
- \let\pl@the\pl@qmark
- \expandafter\pl@loop\@gobble#2\@@@
- \ifnum\@tempcnta=1\else
- \PackageWarning{paralist}{Incorrect label; no or multiple
- counters.\MessageBreak The label is: \@gobble#2}%
- \fi
- \expandafter\edef\csname label\@enumctr\endcsname{\the\pl@lab}%
- \expandafter\let\csname the\@enumctr\endcsname\pl@the
- #1}
- \def\@itemlabel@#1[#2]{%
- \@plmylabeltrue
- \def\pl@itemitem{#2}%
- \def\@itemitem{pl@itemitem}%
- #1}
- \def\asparaenum{%
- \ifnum\@enumdepth>\thr@@
- \@toodeep
- \else
- \advance\@enumdepth\@ne
- \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
- \fi
- \@ifnextchar[{\@enumlabel@{\@asparaenum@}[}{\@asparaenum@}}
- \def\@asparaenum@{%
- \expandafter\list\csname label\@enumctr\endcsname{%
- \usecounter{\@enumctr}%
- \labelwidth\z@
- \labelsep.5em
- \leftmargin\z@
- \parsep\parskip
- \itemsep\z@
- \topsep\z@
- \partopsep\parskip
- \itemindent\parindent
- \advance\itemindent\labelsep
- \def\makelabel##1{##1}}}
- \let\endasparaenum\endlist
- \def\inparaenum{%
- \ifnum\@enumdepth>\thr@@
- \@toodeep
- \else
- \advance\@enumdepth\@ne
- \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
- \fi
- \@ifnextchar[{\@enumlabel@{\@inparaenum@}[}{\@inparaenum@}}
- \def\@inparaenum@{%
- \usecounter{\@enumctr}%
- \def\@itemlabel{\csname label\@enumctr\endcsname}%
- \let\@item\pl@item
- \def\makelabel##1{##1}%
- \ignorespaces}
- \let\endinparaenum\ignorespacesafterend
- \def\compactenum{%
- \ifnum\@enumdepth>\thr@@
- \@toodeep
- \else
- \advance\@enumdepth\@ne
- \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
- \fi
- \@ifnextchar[{\@enumlabel@{\@compactenum@}[}{\@compactenum@}}
- \def\@compactenum@{%
- \@adjust@enum@labelwidth
- \expandafter\list\csname label\@enumctr\endcsname{%
- \usecounter{\@enumctr}%
- \parsep\plparsep
- \itemsep\plitemsep
- \topsep\pltopsep
- \partopsep\plpartopsep
- \labelwidth
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \advance\labelwidth-\labelsep
- \let\makelabel\enumlabel}}
- \let\endcompactenum\endlist
- \if@plnewenum
- \def\enumerate{%
- \ifnum \@enumdepth >\thr@@
- \@toodeep
- \else
- \advance\@enumdepth \@ne
- \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
- \fi
- \@ifnextchar[{\@enumlabel@{\@enumerate@}[}{\@enumerate@}}
- \def\@enumerate@{%
- \@adjust@enum@labelwidth
- \expandafter\list\csname label\@enumctr\endcsname{%
- \usecounter{\@enumctr}%
- \labelwidth
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \advance\labelwidth-\labelsep
- \let\makelabel\enumlabel}}
- \fi
- \def\asparaitem{%
- \ifnum\@itemdepth>\thr@@
- \@toodeep
- \else
- \advance\@itemdepth\@ne
- \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
- \fi
- \@ifnextchar[{\@itemlabel@{\@asparaitem@}}{\@asparaitem@}}
- \def\@asparaitem@{%
- \expandafter\list\csname\@itemitem\endcsname{%
- \labelwidth\z@
- \labelsep.5em
- \leftmargin\z@
- \parsep\parskip
- \itemsep\z@
- \topsep\z@
- \partopsep\parskip
- \itemindent\parindent
- \advance\itemindent\labelsep
- \def\makelabel##1{##1}}}
- \let\endasparaitem\endlist
- \def\inparaitem{%
- \ifnum\@itemdepth>\thr@@
- \@toodeep
- \else
- \advance\@itemdepth\@ne
- \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
- \fi
- \@ifnextchar[{\@itemlabel@{\@inparaitem@}}{\@inparaitem@}}
- \def\@inparaitem@{%
- \def\@itemlabel{\csname\@itemitem\endcsname}%
- \let\@item\pl@item
- \def\makelabel##1{##1}%
- \ignorespaces}
- \let\endinparaitem\ignorespacesafterend
- \def\compactitem{%
- \ifnum\@itemdepth>\thr@@
- \@toodeep
- \else
- \advance\@itemdepth\@ne
- \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
- \fi
- \@ifnextchar[{\@itemlabel@{\@compactitem@}}{\@compactitem@}}
- \def\@compactitem@{%
- \@adjust@item@labelwidth
- \expandafter\list\csname\@itemitem\endcsname{%
- \parsep\plparsep
- \itemsep\plitemsep
- \topsep\pltopsep
- \partopsep\plpartopsep
- \labelwidth
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \advance\labelwidth-\labelsep
- \let\makelabel\itemlabel}}
- \let\endcompactitem\endlist
- \if@plnewitem
- \def\itemize{%
- \ifnum \@itemdepth >\thr@@
- \@toodeep
- \else
- \advance\@itemdepth\@ne
- \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
- \fi
- \@ifnextchar[{\@itemlabel@{\@itemize@}}{\@itemize@}}
- \def\@itemize@{%
- \@adjust@item@labelwidth
- \expandafter\list\csname\@itemitem\endcsname{%
- \labelwidth
- \csname leftmargin\romannumeral\@listdepth\endcsname
- \advance\labelwidth-\labelsep
- \let\makelabel\itemlabel}}
- \fi
- \def\asparadesc{%
- \list{}{%
- \labelwidth\z@
- \labelsep.5em
- \leftmargin\z@
- \parsep\parskip
- \itemsep\z@
- \topsep\z@
- \partopsep\parskip
- \itemindent\parindent
- \advance\itemindent\labelsep
- \let\makelabel\paradescriptionlabel}}
- \let\endasparadesc\endlist
- \def\inparadesc{%
- \let\@itemlabel\@empty
- \let\@item\pl@item
- \let\makelabel\paradescriptionlabel
- \ignorespaces}
- \let\endinparadesc\ignorespacesafterend
- \def\compactdesc{%
- \list{}{%
- \parsep\plparsep
- \itemsep\plitemsep
- \topsep\pltopsep
- \partopsep\plpartopsep
- \labelwidth\z@
- \itemindent-\leftmargin
- \let\makelabel\descriptionlabel}}
- \let\endcompactdesc\endlist
- \if@pldefblank
- \def\asparablank{%
- \list{}{%
- \labelwidth\z@
- \labelsep\z@
- \leftmargin\z@
- \parsep\parskip
- \itemsep\z@
- \topsep\z@
- \partopsep\parskip
- \itemindent\parindent
- \advance\itemindent\labelsep
- \def\makelabel##1{##1}}}
- \let\endasparablank\endlist
- \def\inparablank{%
- \let\@itemlabel\@empty
- \let\@item\pl@item
- \ignorespaces}
- \let\endinparablank\ignorespacesafterend
- \fi
- \def\setdefaultitem#1#2#3#4{%
- \if@empty{#1}{}{\def\labelitemi{#1}}%
- \if@empty{#2}{}{\def\labelitemii{#2}}%
- \if@empty{#3}{}{\def\labelitemiii{#3}}%
- \if@empty{#4}{}{\def\labelitemiv{#4}}}
- \def\defaultitem{%
- \PackageWarning{Paralist}{Macro \protect\defaultitem\space
- deprecated. \MessageBreak Use macro \protect\setdefaultitem
- \space instead!! \MessageBreak Used}
- \setdefaultitem}
- \newif\if@pltemp
- \def\setdefaultenum#1#2#3#4{%
- \if@plneveradjust\@pltemptrue\else\@pltempfalse\fi
- \@plneveradjusttrue
- \if@empty{#1}{}{%
- \def\@enumctr{enumi}%
- \@enumlabel@{\relax}[[#1]}%
- \if@empty{#2}{}{%
- \def\@enumctr{enumii}%
- \@enumlabel@{\relax}[[#2]}%
- \if@empty{#3}{}{%
- \def\@enumctr{enumiii}%
- \@enumlabel@{\relax}[[#3]}%
- \if@empty{#4}{}{%
- \def\@enumctr{enumiv}%
- \@enumlabel@{\relax}[[#4]}%
- \if@pltemp\@plneveradjusttrue\else\@plneveradjustfalse\fi
- \@plmylabelfalse
- \relax}
- \def\defaultenum{%
- \PackageWarning{Paralist}{Macro \protect\defaultenum\space
- deprecated. \MessageBreak Use macro \protect\setdefaultenum
- \space instead!! \MessageBreak Used}
- \setdefaultitem}
- \def\setdefaultleftmargin#1#2#3#4#5#6{%
- \if@empty{#1}{}{\leftmargini#1}%
- \if@empty{#2}{}{\leftmarginii#2}%
- \if@empty{#3}{}{\leftmarginiii#3}%
- \if@empty{#4}{}{\leftmarginiv#4}%
- \if@empty{#5}{}{\leftmarginv#5}%
- \if@empty{#6}{}{\leftmarginvi#6}%
- \relax}
- \def\defaultleftmargin#1#2#3#4{%
- \setdefaultleftmargin{#1}{#2}{#3}{#4}{}{}%
- \PackageWarning{Paralist}{Macro \protect\defaultleftmargin
- \space deprecated. \MessageBreak Use macro
- \protect\setdefaultleftmargin\space instead!!
- \MessageBreak But note that it has six arguments!
- \MessageBreak Used}}
- \def\pl@pointxxxenum{%
- \def\theenumi{\arabic{enumi}}%
- \def\theenumii{\theenumi.\arabic{enumii}}%
- \def\theenumiii{\theenumii.\arabic{enumiii}}%
- \def\theenumiv{\theenumiii.\arabic{enumiv}}%
- \def\p@enumi{}%
- \def\p@enumii{}%
- \def\p@enumiii{}%
- \def\p@enumiv{}}
- \def\pl@pointedenum{%
- \def\labelenumi{\theenumi.}%
- \def\labelenumii{\theenumii.}%
- \def\labelenumiii{\theenumiii.}%
- \def\labelenumiv{\theenumiv.}}
- \def\pl@pointlessenum{%
- \def\labelenumi{\theenumi}%
- \def\labelenumii{\theenumii}%
- \def\labelenumiii{\theenumiii}%
- \def\labelenumiv{\theenumiv}}
- \def\pointedenum{\pl@pointxxxenum\pl@pointedenum}
- \def\pointlessenum{\pl@pointxxxenum\pl@pointlessenum}
- \if@plpointedenum\pointedenum\fi
- \if@plpointlessenum\pointlessenum\fi
- \if@plloadcfg
- \InputIfFileExists{paralist.cfg}{%
- \PackageInfo{Paralist}{%
- Using the configuration file paralist.cfg}}{}
- \fi
- \endinput
- %%
- %% End of file `paralist.sty'.
|