%%
%% This is file `paralist.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% paralist.dtx  (with options: `package')
%% 
%% Copyright 1998-2017 Bernd Schandl
%% Copyright 2013 Julian Gilbey (modifications in v2.4)
%% email schandl@gmx.com
%% 
%% 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}%
          [2017/01/22 v2.7 Extended list environments]
\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
    \setcounter{\@enumctr}{\@enum@widestlabel}%
    \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
  \@ifnextchar[{\@enumwidestlabel@{#1}}{\@enumwidestlabel@{#1}[7]}%
}
\def\@enumwidestlabel@#1[#2]{%
  \def\@enum@widestlabel{#2}%
  #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
  \def\@enum@widestlabel{7}%
  \@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
    \def\@enum@widestlabel{7}%
    \@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{%
  \@nmbrlistfalse
  \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{%
  \@nmbrlistfalse
  \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'.
