From 551e2b604cefbc84c58f167073a6a7ded007737e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 11 Aug 2011 01:43:27 +0000 Subject: enumitem (10aug11) git-svn-id: svn://tug.org/texlive/trunk@23489 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/enumitem/README | 11 +++- Master/texmf-dist/doc/latex/enumitem/enumitem.pdf | Bin 325585 -> 328451 bytes Master/texmf-dist/doc/latex/enumitem/enumitem.tex | 43 ++++++++++-- Master/texmf-dist/tex/latex/enumitem/enumitem.sty | 77 +++++++++++++--------- 4 files changed, 92 insertions(+), 39 deletions(-) diff --git a/Master/texmf-dist/doc/latex/enumitem/README b/Master/texmf-dist/doc/latex/enumitem/README index d4e7156aac5..945805d57c9 100644 --- a/Master/texmf-dist/doc/latex/enumitem/README +++ b/Master/texmf-dist/doc/latex/enumitem/README @@ -1,4 +1,4 @@ -Enumitem 3.3 +Enumitem 3.4 ~~~~~~~~~~~~ A package to customize the three basic lists (enumerate, @@ -75,11 +75,18 @@ checking. ~~~ - Using *-values with itemize and description didn't work. +3.4 +~~~ +- New key nosep, replacing nolistsep, which didn't work as +documented. +- Fixed spacing in inline boxed lists. +- Fixed (hopefully) the bug with noitemsep and shorlabels. + _________________________________________________________________ Javier Bezos | http://www.tex-tipografia.com ................................................................. -2011-07-14 +2011-08-06 diff --git a/Master/texmf-dist/doc/latex/enumitem/enumitem.pdf b/Master/texmf-dist/doc/latex/enumitem/enumitem.pdf index f137f551d37..46d388652b6 100644 Binary files a/Master/texmf-dist/doc/latex/enumitem/enumitem.pdf and b/Master/texmf-dist/doc/latex/enumitem/enumitem.pdf differ diff --git a/Master/texmf-dist/doc/latex/enumitem/enumitem.tex b/Master/texmf-dist/doc/latex/enumitem/enumitem.tex index 70e51ffaaef..876390ae9e2 100644 --- a/Master/texmf-dist/doc/latex/enumitem/enumitem.tex +++ b/Master/texmf-dist/doc/latex/enumitem/enumitem.tex @@ -5,7 +5,7 @@ % Copyright (c) 2003-2011 by Javier Bezos. % All Rights Reserved. % -% This file is part of the enumitem distribution release 3.2 +% This file is part of the enumitem distribution release 3.4 % ----------------------------------------------------------- % % It may be distributed and/or modified under the @@ -48,7 +48,7 @@ find mistakes in the manual. Other packages by the same author: \textsf{gloss} (with Jos\'e Luis D\'{\i}az), \textsf{accents, tensind, esindex, dotlessi, titlesec, titletoc}.}} -\date{Version 3.3\\2011-07-14} +\date{Version 3.4\\2011-08-06} \IfFileExists{enumitem.sty}{\usepackage{enumitem}}{} @@ -283,6 +283,14 @@ If the last thing in the definition is a skip (typically \verb|\hfil|), it is removed sometimes by description. If for some reason you want to avoid this, just add \verb|\null| at the end. +Although primarily intended for the alignment, this commands has other +uses (as in the provided \verb|parleft|). For example, with the +following all labels with |align=right| are set as superscripts: +\begin{verbatim} +\SetLabelAlign{right}{\hss\llap{\textsuperscript{#1}}} +\end{verbatim} +(A new name is also possible, of course.) + \subsection{Horizontal spacing of labels} @@ -603,12 +611,14 @@ future, because the current one is not what one could expect). \subsection{Compact lists} \begin{desc} -|noitemsep|\qquad|nolistsep| +|noitemsep|\qquad|nosep| \end{desc} The key |noitemsep| kills the space between items and paragraphs (i.e., |itemsep=0pt| and |parsep=0pt|), while -|nolistsep| kills all vertical spacing. +|nosep| kills all vertical spacing.\footnote{The key +\texttt{nolistsep}, now deprecated, introduced a thin stretch, which +was not the intended behaviour.} \subsection{``Wide'' lists} @@ -906,7 +916,23 @@ example: \SetEnumitemKey{midsep}{topsep=3pt,partopsep=0pt} \end{verbatim} -Keys so defined can then be used like the others. +Keys so defined can then be used like the others. Another example is +multicolumn lists, with \textsf{multicol}: +\begin{verbatim} +\SetEnumitemKey{twocol}{ + itemsep=1\itemsep, + parsep=1\parsep, + before=\raggedcolumns\begin{multicols}{2}, + after=\end{multicols}} +\end{verbatim} + +(The settings for \texttt{itemsep} and \texttt{parsep} kill the +stretch and shrink parts. Of course, you may want to define a new +list or a key.) + +Note the package may introduce new keys in the future, so +\verb|\SetEnumitemKey| is a potential source of forward +incompatibilities. \begin{desc} |\SetEnumitemValue{}{}{}|\3 @@ -1382,6 +1408,13 @@ overlap. \textsf{enumitem}. \item (3.3) Fixes a serious bug -- with \verb|*| neither \verb|itemize| nor \verb|description| worked. +\item (3.4) Fixes bad spacing in mode boxed (misplaced \verb|\unskip| +before the first item and wrong spacefactor between items). +\item (3.4) \verb|nolistsep| did not work as intended, but since the +error has been there for several years, a new key \verb|nosep| is +provided. +\item (3.4) The issue with \verb|nolistsep| with \verb|shortlabels| +(see above) was not fixed in all cases. Hopefully now it is. \end{itemize} \subsection{Acknowledgements} diff --git a/Master/texmf-dist/tex/latex/enumitem/enumitem.sty b/Master/texmf-dist/tex/latex/enumitem/enumitem.sty index 60b70dbc59e..e81a0d894c8 100644 --- a/Master/texmf-dist/tex/latex/enumitem/enumitem.sty +++ b/Master/texmf-dist/tex/latex/enumitem/enumitem.sty @@ -5,7 +5,7 @@ % Copyright (c) 2003-2011 by Javier Bezos. % All Rights Reserved. % -% This file is part of the enumitem distribution release 3.3 +% This file is part of the enumitem distribution release 3.4 % ----------------------------------------------------------- % % It may be distributed and/or modified under the @@ -37,12 +37,14 @@ % - Compatibility with interfaces and zref-enumitem % - "Pausing" somehow inline boxed text. % - \@enumctr <-> \@listctr? +% - Define keys with values +% - Revise @nobreak % % Release % ~~~~~~~ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{enumitem}[2011/07/14 v3.3 Customized lists] +\ProvidesPackage{enumitem}[2011/08/06 v3.4 Customized lists] % +=============================+ % | EMULATING KEYVAL | @@ -91,7 +93,7 @@ \@tempb\relax \fi} -\def\enitkv@errx#1{\PackageError{enumitem}{#1}\@ehc} +\def\enitkv@errx#1{\enit@error{#1}\@ehc} \let\enitkv@err\enitkv@errx @@ -163,35 +165,32 @@ % Miscelaneous errors % =================== +\def\enit@error{\PackageError{enumitem}} + \def\enit@checkerror#1#2{% - \PackageError{enumitem}% - {Unknown value `#2' for key `#1'}% + \enit@error{Unknown value `#2' for key `#1'}% {See the manual for valid values}} \def\enit@itemerror{% - \PackageError{enumitem}% - {Misplaced \string\item}% + \enit@error{Misplaced \string\item}% {Either there is some text before the first\MessageBreak item or the last item has no text}} \def\enit@noserieserror#1{% - \PackageError{enumitem}% - {Series `#1' not started}% + \enit@error{Series `#1' not started}% {You are trying to continue a series\MessageBreak which has not been started with series}} \def\enit@checkseries#1{% \ifcase\enit@resuming - \PackageError{enumitem}% - {Misplaced key `#1'}% + \enit@error{Misplaced key `#1'}% {`series' and `resume*' must be used\MessageBreak in the optional argument of lists}% \fi} \def\enit@checkseries@m{% \ifcase\enit@resuming\else - \PackageError{enumitem}% - {Uncompatible series settings}% + \enit@error{Uncompatible series settings}% {`series' and `resume*' must not be used\MessageBreak at the same time}% \fi} @@ -339,8 +338,7 @@ \enit@checkseries@m \let\enit@resuming\@ne \@ifundefined{enitkv@enumitem@#1}{}% - {\PackageError{enumitem}% - {Invalid series name `#1'}% + {\enit@error{Invalid series name `#1'}% {Do not name a series with an existing key}}% \def\enit@series{#1}} @@ -374,8 +372,7 @@ \newcommand\restartlist[1]{% \@ifundefined{end#1}% - {\PackageError{enumitem}% - {Undefined list `#1'}% + {\enit@error{Undefined list `#1'}% {No list has been defined with that name.}}% {\expandafter\let \csname enit@resume@#1\endcsname\@empty}} @@ -615,7 +612,7 @@ \def\enit@first#1,#2\@@nil{% \in@{=}{#1}% Quick test, if contains =, it's key=value \ifin@\else - \def\enit@a{#1}% + \enitkv@@sp@def\enit@a{#1}% \@ifundefined{enitkv@enumitem@\enit@meaning\enit@a}% {\ifnum\enit@type=\z@ \def\enit@elt{\enit@replace\enit@a}% @@ -645,7 +642,7 @@ \else \edef\enit@a{\the\enit@toks}% \ifx\enit@a\@empty\else - \PackageError{enumitem}{Extra short label ignored}% + \enit@error{Extra short label ignored}% {There are more than one short label}% \fi \addto@hook\enit@toks{##1#3}% @@ -680,6 +677,13 @@ \itemsep=\z@skip \parsep=\z@skip} +\enitkv@key{enumitem}{nosep}[true]{% + \partopsep=\z@skip + \topsep=\z@skip + \itemsep=\z@skip + \parsep=\z@skip} + + \enitkv@key{enumitem}{noitemsep}[true]{% \itemsep=\z@skip \parsep=\z@skip} @@ -708,8 +712,7 @@ \newcommand\SetEnumitemValue[2]{% Implicit #3 \@ifundefined{enit@enitkv@#1}% {\@ifundefined{enitkv@enumitem@#1}% - {\PackageError{enumitem}% - {Wrong key `#1' in \string\SetEnumitemValue}% + {\enit@error{Wrong key `#1' in \string\SetEnumitemValue}% {Perhaps you have misspelled it}}{}% \expandafter\let\csname enit@enitkv@#1\expandafter\endcsname \csname enitkv@enumitem@#1\endcsname}{}% @@ -728,9 +731,8 @@ \newcommand\SetEnumitemKey[2]{% \@ifundefined{enitkv@enumitem@#1}% {\enitkv@key{enumitem}{#1}[]{\enitkv@setkeys{enumitem}{#2}}}% - {\PackageError{enumitem}% - {Duplicated key `#1' in \string\SetEnumitemKey}% - {There already existsa key with that name}}} + {\enit@error{Duplicated key `#1' in \string\SetEnumitemKey}% + {There already exists a key with that name}}} % +=============================+ % | PROCESSING KEYS | @@ -771,8 +773,7 @@ {\csname enit@widest\expandafter\@gobbletwo\string##1\endcsname{#4}}}} \def\enit@valueerror#1{\z@ % if after an assignment, but doesn't catch \ifnum - \PackageError{enumitem}% - {No default \string\value\space for `#1'}% + \enit@error{No default \string\value\space for `#1'}% {You can provide one with widest*}}% \let\enit@values\@empty @@ -1031,11 +1032,19 @@ \def\enit@endinlist{% \ifenit@boxmode - \unskip\color@endgroup\egroup + \unskip + \xdef\enit@afteritem{% + \ifhmode + \spacefactor\the\spacefactor\relax + \fi}% + \color@endgroup + \egroup + \enit@afteritem \ifdim\wd\enit@inbox=\z@ \enit@itemerror \else \ifenit@noinitem\else + \ifhmode\unskip\fi \@ifundefined{enit@itemjoin@s}% {\enit@itemjoin}% {\enit@itemjoin@s}% @@ -1109,8 +1118,13 @@ \def\enit@endinbox{% \unskip + \xdef\enit@afteritem{% + \ifhmode + \spacefactor\the\spacefactor\relax + \fi}% \color@endgroup \egroup + \enit@afteritem \enit@outeritem} \def\enit@boxitem[#1]{% @@ -1122,13 +1136,13 @@ \enit@noinitemtrue \leavevmode % ships pending labels out \else - \ifhmode\unskip\fi \ifdim\wd\enit@inbox=\z@ \enit@itemerror \else \ifenit@noinitem \enit@noinitemfalse \else + \ifhmode\unskip\fi \enit@itemjoin \fi \unhbox\@labels @@ -1351,8 +1365,7 @@ \def\enit@a{#1#2#3#4}% \def\enit@b{\global\setbox\@labels\hbox}% \ifx\enit@a\enit@b\else - \PackageError{enumitem}% - {Non standard \string\item}% + \enit@error{Non standard \string\item}% {A class or a package has redefined \string\item\MessageBreak and I do not know how to continue}% \fi @@ -1450,7 +1463,7 @@ \def\enit@xset@itemize{% \@namedef{label\enit@c\romannumeral\count@}{% - \PackageError{enumitem}{Undefined label}% + \enit@error{Undefined label}% {You have defined a list, but labels have not been setup.\MessageBreak You can set the label field with \string\setlist.}}} @@ -1472,7 +1485,7 @@ \def\enit@newlist#1#2#3#4{% \@ifundefined{enit@xset@#3}% - {\PackageError{enumitem}{Unknown list type `#3')}% + {\enit@error{Unknown list type `#3')}% {Valid types are: enumerate, itemize, description,\messageBreak enumerate*, itemize*, description*}}% -- cgit v1.2.3