summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/enumitem
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 00:44:40 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 00:44:40 +0000
commitb4fc5f639874db951177ec539299d20908adb654 (patch)
tree52f08823ca58fffe3db6a9b075635038c567626c /Master/texmf-dist/doc/latex/enumitem
parentdec3d98ebe442d7ea93efbaa8dd2e2be8149a467 (diff)
doc 4
git-svn-id: svn://tug.org/texlive/trunk@80 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/enumitem')
-rw-r--r--Master/texmf-dist/doc/latex/enumitem/README25
-rw-r--r--Master/texmf-dist/doc/latex/enumitem/enumitem.pdfbin0 -> 157701 bytes
-rw-r--r--Master/texmf-dist/doc/latex/enumitem/enumitem.tex768
3 files changed, 793 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/enumitem/README b/Master/texmf-dist/doc/latex/enumitem/README
new file mode 100644
index 00000000000..2d786d62ab0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/enumitem/README
@@ -0,0 +1,25 @@
+Enumitem
+~~~~~~~~
+
+A package to customize the three basic lists (enumerate,
+itemize and description) by means of a set of parameters.
+It provides most of the flexibility you may want to
+design your own lists:
+- fancy labels and fancy refs,
+- leftmargin, labelsep and labelwidth automatically set,
+- changes applied globally or only in one of the three
+ types or even in a single list (including topsep) by
+ means of a sort of "inheritance",
+- several description styles (which fix some bad
+ spacing, too),
+- starting value and counter resuming,
+- trivlists properly formatted,
+- control on page breaking
+
+_________________________________________________________________
+Javier Bezos | http://www.texytipografia.com
+.................................................................
+2005/05/12
+
+
+
diff --git a/Master/texmf-dist/doc/latex/enumitem/enumitem.pdf b/Master/texmf-dist/doc/latex/enumitem/enumitem.pdf
new file mode 100644
index 00000000000..6ece7e8a8ae
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/enumitem/enumitem.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/enumitem/enumitem.tex b/Master/texmf-dist/doc/latex/enumitem/enumitem.tex
new file mode 100644
index 00000000000..9a638da77c8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/enumitem/enumitem.tex
@@ -0,0 +1,768 @@
+\documentclass{article}
+
+\usepackage{hyperref}
+
+\title{Customizing lists\\with the\\\textsf{enumitem} package}
+
+\author{Javier Bezos\footnote{For bug reports, comments and
+suggestions go to \href{http://www.texytipografia.com/contact.php}%
+{http://www.texytipografia.com/contact.php}, or
+to my postal address: Apartado 116.035, E-28080 Madrid, Spain.
+English is not my strong point, so contact me when you
+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 1.1\\2005/05/12}
+
+\IfFileExists{enumitem.sty}{\usepackage{enumitem}}{}
+
+\addtolength{\topmargin}{-3pc}
+\addtolength{\textwidth}{6pc}
+\addtolength{\oddsidemargin}{-2pc}
+\addtolength{\textheight}{7pc}
+
+\raggedright
+\parindent1.8em
+\parskip0pt
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+When I began to use \LaTeX{} several year ago, two particular points
+annoyed me because I found customizing them was very complicated
+---headlines/footlines and lists. A new way to redefine the former is
+accomplished in my own \textit{titlesec} package, but none was
+availiable to customize the latter except:
+\begin{itemize}
+\item \textsf{enumerate}, which just allows to change the label and
+it does it pretty well (or almost, as in Spanish a standard label is
+\textit{a}) which cannot be set with \verb|\emph{a})| and one must
+write \verb|\itshape a\/\upshape)|).
+
+\item \textsf{mdwlist}, which only ``provides some vaguely useful
+list-related commands and environments,'' as its manual states,
+and not a coherent way of handling lists.
+
+\item \textsf{paralist}, which provides lists within a paragraph (the
+original purpose of this package), a few other hard-wired
+specific changes and the optional argument of \textsf{enumerate}.
+Note \textsf{enumitem} does not allow grouping items within
+a paragraph yet.
+\end{itemize}
+
+One of the main drawbacks of the standard \verb|list| is its weird
+parameters, whose meaning is not always obvious. In order to provide
+a cleaner interface two approaches were possible: either defining new
+lists, or introducing a new syntax making the standard lists easier to
+customize. For marks I took the first approach in titlesec, just
+because I did not manage to find a satisfactory solution with the
+\LaTeX{} internal macros, but since lists are in some sense more
+``complete'' than sections and marks, I have taken here the second
+approach.
+
+In the interface a sort of ``inheritance'' is used. You can
+set globally the behaviour of lists and then override several
+parameters of, say, enumerate and then in turn override
+a few paremeters of a particular instance. The values will
+be searched in the hierarchy.
+
+This is basically an advance of a project which I am working
+on which will add this kind of inheritance to other structures
+of \LaTeX{}.
+
+\section{The package}
+
+This package is intended to ease customizing the three
+basic list environments: \verb|enumerate|, \verb|itemize| and
+\verb|description|. It extends their syntax to allow
+an optional argument where a set of parameters in the
+form \verb|key=value| are available:
+\begin{itemize}
+\item
+Vertical spacing:
+\begin{itemize}
+\item \verb|topsep|
+\item \verb|partopsep|
+\item \verb|parsep|
+\item \verb|itemsep|
+\end{itemize}
+\item
+Horizontal spacing:
+\begin{itemize}
+\item \verb|leftmargin|
+\item \verb|rightmargin|
+\item \verb|listparindent|
+\item \verb|labelwidth|
+\item \verb|labelsep|
+\item \verb|itemindent|
+\end{itemize}
+\end{itemize}
+
+These are equivalent to the well known list parameters, but
+two of them, namely \verb|leftmargin| and \verb|labelsep|,
+can have in addition the special value of \verb|*| as
+described below.
+
+The following new parameters are provided:
+\begin{itemize}
+
+
+\item \verb|font|. Sets the label font. Useful when the label is
+changed with the optional argument of \verb|\item|.
+
+\item \verb|label|. Sets the label to be used in the current level.
+A set of starred versions of \verb|\alph|, \verb|\Alph|,
+\verb|\arabic|, \verb|\roman| and \verb|\Roman|, without argument
+stand for the current counter in \verb|enumerate|.\footnote{Actually,
+the asterisk is currently the argument but things may change.
+Consider them as starred variants and follow the corresponding
+syntax.} Thus
+\begin{verbatim}
+\begin{enumerate}[label=\emph{\alph*})]
+\end{verbatim}
+prints \textit{a}), \textit{b}), and so on (this is a
+standard style in Spanish).
+
+A fancier example (which looks ugly, but it is intended only
+to illustrate what is possible; requires \textsf{color} and
+\textsf{pifont}):
+\begin{verbatim}
+\begin{enumerate}[label=\protect\fcolorbox{blue}{yellow}{\ding{\value*}},
+ start=172]
+\end{verbatim}
+
+\item \verb|ref|. By default, \verb|label| sets also the form of cross
+references and \verb|\the...|, but you can define a
+different format. For
+example, to remove the right parethesis:
+\begin{verbatim}
+\begin{enumerate}[label=\emph{\alph*}),ref=\emph{\alph*}]
+\end{verbatim}
+In both \verb|label| and \verb|ref|, the counters can be
+used as usual:
+\begin{verbatim}
+\begin{enumerate}[label=\theenumi.\arabic*.]
+\end{verbatim}
+or
+\begin{verbatim}
+\begin{enumerate}[label=\arabic{enumi}.\arabic*.]
+\end{verbatim}
+(provided the current level is the second one).
+
+Note the \verb|label|s are \textit{not} accumulated to form
+the reference. If you want, say, something like 1.\textit{a}
+from 1) as first level and \textit{a}) as second level,
+you must set it with \verb|ref|. You may use
+\verb|\ref{level1}.\ref{level2}| with appropiate \verb|ref|
+settings, but as Robin Fairbairns points out in the \TeX{} FAQ
+\begin{quote}
+\dots{} [that] would be both tedious and error-prone. What is more, it
+would be undesirable, since you would be constructing a visual
+representation which is inflexible (you could not change all the
+references to elements of a list at one fell swoop).
+\end{quote}
+This is sensible and I recommend to follow the advice, but sometimes
+you might want something like:
+\begin{verbatim}
+... subitem \ref{level2} of item \ref{level1} ...
+\end{verbatim}
+
+Both \verb|label| and \verb|ref| are moving arguments, and fragile
+commands must be protected \textit{except} the counters.
+
+\item \verb|leftmargin=*|. Sets the label width to the width of
+the current label, using the default value of \textit{0} in
+\verb|\arabic*|, \textit{viii} in \verb|\roman*|, \textit{m} in
+\verb|\alph*| and similarly in uppercase forms. The left
+margin is then set to \verb|labelwidth| $+$ \verb|labelsep|.
+You can give a value to the key \verb|widest|, and it will
+be used to set the margin. For example:
+\begin{verbatim}
+\begin{itemize}[label=\textbullet, leftmargin=*]
+\begin{enumerate}[label=\roman*), leftmargin=*, widest=iii]
+\end{verbatim}
+
+Put in in other words, the label starts at the same place as the
+surrounding text (but see \verb|labelindent| below), then comes the
+label, the space after it as set by \verb|labelsep| and the item body.
+
+\item \verb|labelsep=*|. Similar to the previous one
+but here the label sep is set to \verb|leftmargin| $-$
+\verb|labelwidth|.
+\begin{verbatim}
+\begin{itemize}[label=\textbullet,
+ leftmargin=2pc, labelsep=*]
+\end{verbatim}
+
+As before, the label starts at the same place as the surrounding text,
+then comes the label, the space after it and the item body. The
+difference between \verb|labelsep=*| and \verb|leftmargin=*| is that
+in the former the item body begins at a fixed place (namely,
+\verb|leftmargin|), while the latter begins at a variable place
+depending on the label (but always the same within a list, of course).
+Most of times, what you would want is \verb|leftmargin=*|.
+
+Unfortunately, \verb|labelsep| has not a default value
+to be applied to all lists---simply the current value
+is used. If you nest a \verb|leftmargin=*| within a
+\verb|labelsep=*|, the value to compute the left margin
+is not what you could expect. The way \LaTeX{} assigns values
+to the list parameters is one of the things which makes
+redefining lists a mess, but with \textsf{enumitem} you can
+set default values for every list, as described below.
+In this case, all you need is:
+\begin{verbatim}
+\setlist{itemsep=.5em}
+\end{verbatim}
+
+% \textbf{Note.} Version 0.2 computes the values even with
+% the settings predefined by the classes (only partially
+% tested). Please, let me know if a class gives a wrong
+% result.
+
+\item \verb|widest|. To be used in conjunction with any of the
+two previous keys, if desired. It overrides the default
+values for the label width. Sometimes, if lists are not very
+long, a value of \verb|a| for \verb|\alph| is more sensible
+than \verb|m|:
+\begin{verbatim}
+\begin{enumerate}[leftmargin=*,widest=a] % Assume standard 2nd level
+\end{verbatim}
+
+\item \verb|labelindent|. Blank space before the label
+with \verb|leftmargin=*| and \verb|labelsep=*|, and in
+\verb|description|. Example:
+\begin{verbatim}
+\begin{enumerate}[label=\arabic*., leftmargin=2\parindent,
+ labelindent=\parindent, labelsep=*]
+\end{verbatim}
+
+Since \verb|\parindent| is not used as such inside lists, but instead
+is set internally to either \verb|itemindent| or \verb|listparindent|,
+when used as the value of a parameter \textsf{enumitem} returns the
+global value, i. e., the value it has outside the outermost list.
+\end{itemize}
+
+The horizontal space in the left margin of the current level
+is distributed in the following way:
+\begin{center}
+\begin{tabular}{cc}
+\fbox{\fbox{\strut \texttt{labelindent}}
+ \fbox{\strut \texttt{labelwidth}}
+ \fbox{\strut \texttt{labelsep} $-$ \texttt{itemintent}}}
+&
+\fbox{\strut\texttt{itemindent}}\\
+\texttt{leftmargin}
+\end{tabular}
+\end{center}
+Remember \verb|labelsep| spans part of \verb|leftmargin| and
+\verb|itemindent| if the latter is not zero. This is often
+somewhat confusing, so remember that if you want a separation
+between label and item \textit{body} of, say, 6pt, and the item
+indent is 8pt, then \verb|labelsep| should be $6 + 8$. The
+foregoing discussion about how the \verb|*| values are computed
+presumes \verb|itemindent| is 0 pt, but any other value it is
+taken into account.
+
+\begin{itemize}
+
+\item \verb|align|. How the label is aligned. Two values
+are possible: \verb|left| and the default \verb|right|.
+The parameters controlling the label spacing should be
+properly set, either by hand or more conveniently with
+the \verb|*| settings:
+\begin{verbatim}
+\begin{enumerate}[label=\Roman*., align=left, leftmargin=*]
+\end{verbatim}
+
+\item \verb|start|. Sets the number of the first item.
+
+\item \verb|resume|. Makes the counter to be continued
+from the previous \verb|enumerate|, instead of resetting it
+to 1.
+\begin{verbatim}
+\begin{enumerate}
+\item First item.
+\item Second item.
+\end{enumerate}
+Text.
+\begin{enumerate}[resume]
+\item Third item
+\end{enumerate}
+\end{verbatim}
+
+\item \verb|beginpenalty|, \verb|midpenalty| and \verb|endpenalty| set
+the penalty at the beginning of a list, between items and at the end
+of the list. Please, refer to your \LaTeX{} or \TeX{} manual about
+how penalties control page breaks. Unlike other parameters, when a
+list starts their values are not reset to the default, thus they
+apply to the enclosed lists, too.
+
+\end{itemize}
+
+A key are available in \verb|description|
+\begin{itemize}
+\item \verb|style|. Sets the \textit{style}, with the
+following values:
+\begin{itemize}
+
+\item \verb|nextline|: if the label does not fit in the margin, the
+text continues in the next line, otherwise it is placed in a box of
+width \verb|leftmargin|, ie, the item body never sticks into the left
+margin.
+
+\item \verb|sameline|: like \verb|nextline| but if the label does not
+fit in the margin the text continues in the same line.
+
+\item \verb|multiline|: the label is placed in a parbox whose width is
+\verb|leftmargin|, with several lines if necessary.
+
+\item \verb|unboxed|: much like the standard \verb|description|, but
+the label is not boxed to avoid uneven spacing and unbroken labels if
+they are long.
+\end{itemize}
+\end{itemize}
+
+A few predefined valueless keys might be useful:
+\begin{itemize}
+\item \verb|noitemsep| kills the space between items
+and paragraphs (ie, \verb|itemsep=0pt| and \verb|parsep=0pt|).
+\item \verb|nolistsep| kills all vertical spacing.
+\item \verb|fullwidth| is still somewhat experimental. The
+leftmargin is null and the label is part of the text. Here
+\verb|labelsep| sets the separation between the label and the first
+word.
+You may want to set \verb|itemindent| and \verb|listparindent|
+to \verb|\parindent|, too.
+\end{itemize}
+
+% If you think the addition of \verb|\parskip| and \verb|\parsep|
+% is annoying, you can use \verb|listskip| ($=$ \verb|\topsep| $-$
+% \verb|\parskip|) and \verb|itemskip| ($=$ \verb|\itemsep| $-$
+% \verb|\parsep|).
+
+Global changes, to be applied to all of these list, are also
+possible:
+\begin{itemize}
+\item \verb|\setenumerate[level]{format}|
+\item \verb|\setitemize[level]{format}|
+\item \verb|\setdescription{format}|
+\item \verb|\setlist[level]{format}|
+\end{itemize}
+Where \verb|level| is the list level in \verb|list|, and the
+corresponding level in \verb|enumerate| and \verb|itemize|. Without
+\verb|level|, the format applies to all levels. Here list does not
+mean any list but only the three ones handled by this package.
+Example:
+\begin{verbatim}
+\setlist{noitemsep}
+\setlist[1]{\labelindent=\parindent} % << Usually a good idea
+\setitemize{leftmargin=*}
+\setitemize[1]{label=$\triangleleft$}
+\setenumerate{labelsep=*, leftmargin=1.5pc}
+\setenumerate[1]{label=\arabic*., ref=\arabic*}
+\setenumerate[2]{label=\emph{\alph*}),
+ ref=\theenumi.\emph{\alph*}}
+\setenumerate[3]{label=\roman*), ref=\theenumii.\roman*}
+\setdescription{font=\sffamily\bfseries}
+\end{verbatim}
+These setting are read in the following order: list,
+list at the current level, enumerate/itemize/description,
+and enumerate/itemize at the current level; if a key
+has several values, the last one, ie. the most specific
+one, is applied. Finally, the
+optional argument, if any, is applied. \LaTeX{} provides
+a set of macros to change many of these parameters, but
+setting them with the package is more consistent and
+sometimes more flexible at the cost of being more
+``explicit'' (and verbose).
+
+No attempt has been made (yet) to discriminate the font size
+(\verb|\normalsize|, \verb|\small|\dots). Suggestions are
+most welcome.
+
+\section{Three patterns}
+
+Three list layouts could be considered very
+frequent. Let us apply the parameters above to define them.
+
+The first pattern aligns the label with the surrounding
+\verb|\parindent| while the item body is indented depending
+on the label and a fixed \verb|labelsep|:
+\begin{verbatim}
+labelindent=\parindent,
+leftmargin=*
+\end{verbatim}
+A fairly frequent variant is when the label is aligned with
+the surrounding text:
+\begin{verbatim}
+leftmargin=*
+\end{verbatim}
+The former looks better in the first level while the latter
+seems preferable in subsequent ones. That can be easily
+set with
+\begin{verbatim}
+\setlist{leftmargin=*}
+\setlist[1]{labelindent=\parindent} % Only the level 1
+\end{verbatim}
+
+The second pattern aligns the item body with the surrounding
+\verb|\parindent|. In this case:
+\begin{verbatim}
+leftmargin=\parindent
+\end{verbatim}
+
+A third pattern would be to align the label with \verb|\parindent|
+and the item body with \verb|2\parindent|:
+\begin{verbatim}
+labelindent=\parindent,
+leftmargin=2\parindent,
+itemsep=*
+\end{verbatim}
+Again, a variant would be to align the label with the surrounding
+text and the itembody with \verb|\parindent|:
+\begin{verbatim}
+leftmargin=\parindent,
+itemsep=*
+\end{verbatim}
+
+Note here \verb|\parindent| means the global value applied
+to normal paragraphs.
+
+\section{The trivlist issue}
+
+\LaTeX{} uses a simplified version of \verb|list| named
+\verb|trivlist| to set displayed material, like \verb|center|,
+\verb|quote|, etc., even if conceptually they are not lists.
+Unfortunately, \verb|trivlist| uses the current list settings, which
+has the odd side effect that changing the vertical spacing of lists
+also changes the spacing in these environments.
+
+This package modifies \verb|trivlist| so that the default settings for
+the current level (ie, those set by the corresponding \verb|clo|
+files) are set again. In standard \LaTeX{} that is usually redundand,
+but if we want to fine tune lists, not resetting the default values
+could be a real issue (particularly if you use the \verb|nolistsep|
+option).
+
+A minimal control of vertical spacing has been made possible with
+\begin{itemize}
+\item \verb|\setdisplayed[level]{format}|
+\end{itemize}
+but \verb|trivlist| itself, which is not used directly very
+often, does not accept an optional argument. This feature
+is not intended as a full-fledge \verb|trivlist| formatter.
+
+If for some reason you do not want to change \verb|trivlist|
+and preserve the original definition, you can use the
+package option \verb|ignoredisplayed|.
+
+\section{Samples}
+
+\expandafter\ifx\csname setenumerate\endcsname\relax
+
+Please, install first the package and then typeset this
+document again.
+
+\else
+
+In these samples we set \verb|\setlist{noitemsep}|
+
+\setlist{noitemsep}
+\small
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+\begin{verbatim}
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{enumerate}[labelindent=\parindent,leftmargin=*]
+ \item lanza en astillero,
+ \item adarna antigua,
+ \item roc\'{\i}n flaco, y
+ \item galgo corredor.
+\end{enumerate}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+\end{verbatim}
+
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{enumerate}[labelindent=\parindent,leftmargin=*]
+\item lanza en astillero,
+\item adarna antigua,
+\item roc\'{\i}n flaco, y
+\item galgo corredor.
+\end{enumerate}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+With \verb|\begin{enumerate}[leftmargin=*]|
+
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{enumerate}[leftmargin=*]
+\item lanza en astillero,
+\item adarna antigua,
+\item roc\'{\i}n flaco, y
+\item galgo corredor.
+\end{enumerate}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+With \verb|\begin{enumerate}[leftmargin=\parindent]|
+
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{enumerate}[leftmargin=\parindent]
+\item lanza en astillero,
+\item adarna antigua,
+\item roc\'{\i}n flaco, y
+\item galgo corredor.
+\end{enumerate}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+With
+\begin{verbatim}
+\begin{enumerate}[labelindent=\parindent, leftmargin=*,
+ label=\Roman*., widest=IV, align=left]
+\end{verbatim}
+
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{enumerate}[labelindent=\parindent, leftmargin=*,
+ label=\Roman*., widest=IV, align=left]
+\item lanza en astillero,
+\item adarna antigua,
+\item roc\'{\i}n flaco, y
+\item galgo corredor.
+\end{enumerate}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+With \verb|\begin{enumerate}[label=\fbox{\arabic*}]|. A reference to
+the first item is \ref{i:first}
+
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{enumerate}[label=\fbox{\arabic*}]
+\item \label{i:first}lanza en astillero,
+\item adarna antigua,
+\item roc\'{\i}n flaco, y
+\item galgo corredor.
+\end{enumerate}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+With nested lists.
+
+\begin{verbatim}
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{enumerate}[label=\alph*), labelindent=\parindent,
+ leftmargin=*, start=12]
+ \item lanza en astillero,
+ \begin{enumerate}[label=\alph{enumi}.\roman*), leftmargin=*, start=8]
+ \item adarna antigua,
+ \end{enumerate}
+ \item roc\'{\i}n flaco, y
+ \begin{enumerate}[label=\alph{enumi}.\roman*), leftmargin=*, resume]
+ \item galgo corredor.
+ \end{enumerate}
+\end{enumerate}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+\end{verbatim}
+
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{enumerate}[label=\alph*), labelindent=\parindent,
+ leftmargin=*, start=12]
+\item lanza en astillero,
+\begin{enumerate}[label=\alph{enumi}.\roman*), leftmargin=*, start=7]
+\item adarna antigua,
+\end{enumerate}
+\item roc\'{\i}n flaco, y
+\begin{enumerate}[label=\alph{enumi}.\roman*), leftmargin=*, resume]
+\item galgo corredor.
+\end{enumerate}
+\end{enumerate}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+
+\begin{verbatim}
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{description}[font=\sffamily\bfseries, leftmargin=3cm,
+ style=nextline]
+ \item[Lo primero que ten\'{\i}a el Quijote] lanza en astillero,
+ \item[Lo segundo] adarna antigua,
+ \item[Lo tercero] roc\'{\i}n flaco, y
+ \item[Y por \'{u}ltimo, lo cuarto] galgo corredor.
+\end{description}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+\end{verbatim}
+
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{description}[font=\sffamily\bfseries, leftmargin=3cm,
+ style=nextline]
+\item[Lo primero que ten\'{\i}a el Quijote] lanza en astillero,
+\item[Lo segundo] adarna antigua,
+\item[Lo tercero] roc\'{\i}n flaco, y
+\item[Y por \'{u}ltimo, lo cuarto] galgo corredor.
+\end{description}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+Same, but with \verb|sameline|.
+
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{description}[font=\sffamily\bfseries, leftmargin=3cm,
+ style=sameline]
+\item[Lo primero que ten\'{\i}a el Quijote] lanza en astillero,
+\item[Lo segundo] adarna antigua,
+\item[Lo tercero] roc\'{\i}n flaco, y
+\item[Y por \'{u}ltimo, lo cuarto] galgo corredor.
+\end{description}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+
+Same, but with \verb|multiline|. Note the text overlaps if
+the item body is too short.
+
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{description}[font=\sffamily\bfseries, leftmargin=3cm,
+ style=multiline]
+\item[Lo primero que ten\'{\i}a el Quijote] lanza en astillero,
+\item[Lo segundo] adarna antigua,
+\item[Lo tercero] roc\'{\i}n flaco, y
+\item[Y por \'{u}ltimo, lo cuarto] galgo corredor.
+\end{description}
+Una olla de algo m\'{a}s vaca que carnero, salpic\'{o}n las m\'{a}s
+noches, duelos y quebrantos los s\'{a}bados...
+
+\fi
+
+\normalsize
+
+\section{Afterword}
+
+\subsection{\LaTeX{} lists}
+
+As it is well known, \LaTeX{} predefines three lists: enumerate,
+itemize and description. This is a very frequent classification which
+one can also find in, say, HTML. However, there is a more general
+model based in three fields---namely, label, title, and body---, so
+that enumerate and itemize has label (numbered and unnumbered) but
+no title, while description has title but no label. In this model,
+one can have a description with entries marked with labels, as for
+example:
+\begin{verbatim}
+\newcommand\litem[1]{\item{\bfseries #1,\enspace}}
+\begin{itemize}[label=\textbullet]
+\litem{Lo primero que ten\'{\i}a el Quijote} lanza en astillero,
+... etc.
+\end{verbatim}
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+\newcommand\litem[1]{\item{\bfseries #1,\enspace}}
+En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
+no ha mucho tiempo que viv\'{\i}a un hidalgo de los de
+\begin{itemize}[label=\textbullet]
+\litem{Lo primero que ten\'{\i}a el Quijote} lanza en astillero,
+\litem{Lo segundo} adarna antigua,
+\litem{Lo tercero} roc\'{\i}n flaco, y
+\litem{Y por \'{u}ltimo, lo cuarto} galgo corredor.
+\end{itemize}
+
+\vskip6pt
+\goodbreak
+\hrule
+\vskip6pt
+
+This format in not infrequent at all and I thing any future
+development of this package has to take it into account.
+
+\subsection{Known issues}
+
+Description styles othen than the default one don't group
+labels if they are nested.
+
+\subsection{Changes in 0.2}
+
+If you were using the beta release 0.1, please note version 0.2
+introduced several modifications, which also applies to this
+first release. The main change is a new syntax for
+\verb|calcsep| and \verb|calcmargin|, but modifying the current files
+is trivial with find and replace (if applied in the given order):
+\begin{itemize}
+\item
+\verb|calcmargin=| becomes \verb|leftmargin=*,widest=|
+\item
+\verb|calcmargin| becomes \verb|leftmargin=*|
+\item
+\verb|calcsep=| becomes \verb|labelsep=*,widest=|
+\item
+\verb|calcsep| becomes \verb|labelsep=*|
+\end{itemize}
+
+\end{document}