Update enumitem module and add documentation for it.

From Guenter Milde.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37182 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Pavel Sanda 2011-01-12 10:12:14 +00:00
parent 68c43a2b18
commit 2e3953cb03
4 changed files with 556 additions and 27 deletions

View File

@ -2513,6 +2513,7 @@ lib_examples_files = Split('''
CV-image.eps
CV-image.png
docbook_article.lyx
enumitem.lyx
europeCV.lyx
example_lyxified.lyx
example_raw.lyx

View File

@ -253,6 +253,7 @@ dist_examples_DATA = \
examples/chess-article.lyx \
examples/chessgame.lyx \
examples/docbook_article.lyx \
examples/enumitem.lyx \
examples/europeCV.lyx \
examples/example_lyxified.lyx \
examples/example_raw.lyx \

525
lib/examples/enumitem.lyx Normal file
View File

@ -0,0 +1,525 @@
#LyX 1.6.7 created this file. For more info see http://www.lyx.org/
\lyxformat 345
\begin_document
\begin_header
\textclass article
\use_default_options false
\begin_modules
enumitem
\end_modules
\language british
\inputencoding auto
\font_roman lmodern
\font_sans lmss
\font_typewriter lmtt
\font_default_family default
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\paperfontsize default
\spacing single
\use_hyperref false
\pdf_bookmarks true
\pdf_bookmarksnumbered false
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder true
\pdf_colorlinks true
\pdf_backref section
\pdf_pdfusetitle true
\papersize a4paper
\use_geometry false
\use_amsmath 1
\use_esint 1
\cite_engine basic
\use_bibtopic false
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\author ""
\author ""
\end_header
\begin_body
\begin_layout Section*
The enumitem Module
\end_layout
\begin_layout Standard
The enumitem Module provides customisable list Styles using the
\begin_inset CommandInset href
LatexCommand href
name "enumitem LaTeX package"
target "http://dante.ctan.org/CTAN/help/Catalogue/entries/enumitem.html"
\end_inset
.
\end_layout
\begin_layout Subsection*
Lists with optional arguments
\end_layout
\begin_layout Standard
Itemize, Enumeration, and Description lists may have an optional arguments.
If the optional argument contains special characters (e.g.
the backslash), put it in an
\begin_inset ERT
status open
\begin_layout Plain Layout
ERT box
\end_layout
\end_inset
.
\end_layout
\begin_layout Enumerate
\begin_inset OptArg
status open
\begin_layout Plain Layout
\begin_inset ERT
status open
\begin_layout Plain Layout
labelindent=
\backslash
parindent,leftmargin=*,label=
\backslash
Roman*.,widest=IV,align=left
\end_layout
\end_inset
\end_layout
\end_inset
An enumeration
\end_layout
\begin_layout Enumerate
with left-aligned roman
\end_layout
\begin_layout Enumerate
numbering
\end_layout
\begin_layout Enumerate
1of items.
\end_layout
\begin_layout Standard
Enumerating with
\begin_inset Quotes eld
\end_inset
Spanish layout
\begin_inset Quotes erd
\end_inset
: italic letters followed by )
\end_layout
\begin_layout Enumerate
\begin_inset OptArg
status open
\begin_layout Plain Layout
\begin_inset ERT
status open
\begin_layout Plain Layout
label=
\backslash
emph{
\backslash
alph*})
\end_layout
\end_inset
\end_layout
\end_inset
first item
\end_layout
\begin_layout Enumerate
second item
\end_layout
\begin_layout Standard
Enumeration starting at a given value:
\end_layout
\begin_layout Enumerate
\begin_inset OptArg
status open
\begin_layout Plain Layout
start=4
\end_layout
\end_inset
This enumeration
\end_layout
\begin_layout Enumerate
starts at 4.
\end_layout
\begin_layout Standard
Description with emphasized (instead of bold) label and left margin 1.5
em:
\end_layout
\begin_layout Description
Strahlungsmodulation:
\begin_inset OptArg
status open
\begin_layout Plain Layout
leftmargin=1.5em,
\begin_inset ERT
status open
\begin_layout Plain Layout
font=
\backslash
itshape
\backslash
mdseries
\end_layout
\end_inset
\end_layout
\end_inset
Durch die zeitliche Modulation der auf den Detektor treffenden Strahlung
wird trotz fehlender Gleichlichtempfindlichkeit der pyroelektrischen Detektoren
die reproduzierbare Betrachtung statischer Wärmeszenen ermöglicht.
\end_layout
\begin_layout Description
Referenzstrahlung: Die Wärmestrahlung des Choppers geht direkt in das Messsignal
ein.
\end_layout
\begin_layout Standard
More details and examples in
\begin_inset CommandInset href
LatexCommand href
name "enumitem.pdf"
target "http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf"
\end_inset
.
\end_layout
\begin_layout Subsection*
Resume enumeration
\end_layout
\begin_layout Standard
\begin_inset Note Note
status open
\begin_layout Enumerate-Resume
Attention, if there is no previous enumeration to resume, a latex error
is thrown!
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Enumerations can be resumed after intermediate paragraphs:
\end_layout
\begin_layout Enumerate
first
\end_layout
\begin_layout Enumerate
second
\end_layout
\begin_layout Standard
regular text
\end_layout
\begin_layout Enumerate-Resume
resumed (the numbering is not continued in the LyX GUI but correct in the
LaTeX output).
\end_layout
\begin_layout Standard
Nesting enumerations:
\end_layout
\begin_layout Enumerate
depth 1
\end_layout
\begin_deeper
\begin_layout Enumerate
first
\end_layout
\begin_deeper
\begin_layout Enumerate-Resume
resume without something to resume! (Works here.)
\end_layout
\end_deeper
\begin_layout Enumerate
second
\end_layout
\begin_deeper
\begin_layout Enumerate
with something nested inside
\end_layout
\end_deeper
\begin_layout Standard
regular text
\end_layout
\begin_layout Enumerate-Resume
resumed at depth 2
\end_layout
\end_deeper
\begin_layout Standard
regular text outside the list
\end_layout
\begin_layout Subsection*
Compact Lists
\end_layout
\begin_layout Standard
There are keywords for more compact variants of the standard lists:
\end_layout
\begin_layout Itemize
A bullet list
\end_layout
\begin_layout Itemize
with standard spacing
\end_layout
\begin_layout Standard
lorem ipsum
\end_layout
\begin_layout Itemize
A bullet list
\begin_inset OptArg
status open
\begin_layout Plain Layout
nolistsep
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
with less
\end_layout
\begin_layout Itemize
vertical space.
(nolistsep)
\end_layout
\begin_layout Standard
lorem ipsum
\end_layout
\begin_layout Itemize
A bullet list
\begin_inset OptArg
status open
\begin_layout Plain Layout
noitemsep
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
with less
\end_layout
\begin_layout Itemize
vertical space.
(noitemsep)
\end_layout
\begin_layout Standard
You can customize the itemset and listsep for all base lists in the LaTeX
preamble.
(Also per list type.) See
\begin_inset CommandInset href
LatexCommand href
name "enumitem.pdf"
target "http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf"
\end_inset
.
\end_layout
\begin_layout Subsection*
Customisable LyX-List/Labeling
\end_layout
\begin_layout Standard
The LyX
\begin_inset Quotes eld
\end_inset
List
\begin_inset Quotes erd
\end_inset
style (or KOMA script
\begin_inset Quotes eld
\end_inset
labeling
\begin_inset Quotes erd
\end_inset
) is re-defined on the base of enumitems
\begin_inset Quotes eld
\end_inset
description
\begin_inset Quotes erd
\end_inset
to allow customisation like the base lists.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
nice description
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
with several items and
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
including
\begin_inset space ~
\end_inset
one
\begin_inset space ~
\end_inset
very
\begin_inset space ~
\end_inset
long
\begin_inset space ~
\end_inset
label at last.
\end_layout
\begin_layout Standard
It also takes an optional argument:
\end_layout
\begin_layout Labeling
\labelwidthstring withNN
nice description
\begin_inset OptArg
status open
\begin_layout Plain Layout
style=nextline
\end_layout
\end_inset
\end_layout
\begin_layout Labeling
\labelwidthstring withNN
with several items and
\end_layout
\begin_layout Labeling
\labelwidthstring withNN
including
\begin_inset space ~
\end_inset
one
\begin_inset space ~
\end_inset
very
\begin_inset space ~
\end_inset
long
\begin_inset space ~
\end_inset
label and the item content starting at the next line.
\end_layout
\end_body
\end_document

View File

@ -1,17 +1,20 @@
#\DeclareLyXModule[enumitem.sty]{Customizable Lists (enumitem)}
#\DeclareLyXModule[enumitem.sty]{Customisable Lists (enumitem)}
#DescriptionBegin
# Controls the layout of enumerate, itemize and description
# Control the layout of enumerate, itemize, description, and list/labeling
# with an optional argument.
# See http://mirror.ctan.org/macros/latex/contrib/enumitem/enumitem.pdf
# See http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf
# and example file shipped with LyX.
#DescriptionEnd
# Author: Günter Milde <milde@users.berlios.de>
#
# 2008-12-04 first published version
# 2008-12-04 first published version.
# 2009-02-02 use name Labeling for "LyX-List/Labeling" list type,
# copy standard layout verbatim for failsave working with
# both KOMA and non-KOMA document classes
# 2010-11-16 use Require keyword instead of \usepackage in preamble
#
# both KOMA and non-KOMA document classes.
# 2011-01-12 bugfix: set elabeling label font to \normalfont.
Format 11
# The package enumitem provides user control over the layout of the three
# basic list environments: enumerate, itemize and description. It supersedes
# both enumerate and mdwlist (providing well-structured replacements for all
@ -33,20 +36,18 @@
# a) generally in the LaTeX preamble and
# b) per environment with optional arguments
#
# See enumitem.pdf for details and examples.
# http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf
# See enumitem.pdf_ for details and examples.
#
# TODO: since version 2.0, enumitem supports "cloning" of lists.
# Producing a labeling as clone of a description allows
# Preamble-Styling specific to this list type.
Format 30
AddToPreamble
\usepackage{enumitem} % customizable list environments
\newlength{\lyxlabelwidth} % auxiliary length
EndPreamble
# Customizable Basic Lists
# Customisable Basic Lists
# ------------------------
# With enumitem, the three standard list environments take an optional
@ -54,24 +55,21 @@ EndPreamble
Style Itemize
OptionalArgs 1
Requires enumitem
End
Style Enumerate
OptionalArgs 1
Requires enumitem
End
Style Description
OptionalArgs 1
Requires enumitem
End
# Customizable LyX List
# Customisable LyX List
# ---------------------
Style Labeling
# verbatim insert definition of List environment,
# verbatim insert definition of List environment,
# The KOMA script classes replace List with Labeling,
# this leads to an error with "CopyStyle List"!
Category List
@ -89,18 +87,17 @@ Style Labeling
LabelString "00.00.0000"
# en of verbatim copy
LatexName elabeling
OptionalArgs 1
Requires enumitem
Preamble
LatexName elabeling
OptionalArgs 1
Preamble
% labeling-like list based on enumitem's description list with
% mandatory second argument (label-pattern):
\newenvironment{elabeling}[2][]%
{\settowidth{\lyxlabelwidth}{#2}
\begin{description}[font=\normalfont,style=sameline,
{\settowidth{\lyxlabelwidth}{#2}
\begin{description}[font=\normalfont,style=sameline,
leftmargin=\lyxlabelwidth,#1]}
{\end{description}}
EndPreamble
{\end{description}}
EndPreamble
End
@ -110,10 +107,9 @@ End
# Styles with pre-defined optional arguments for ease of use
Style Enumerate-Resume
CopyStyle Enumerate
CopyStyle Enumerate
LatexParam [resume]
OptionalArgs 0
Requires enumitem
# a blue label to indicate that this is not a WYSIWYG label
# because the numbering differs in the output
LabelFont
@ -121,3 +117,9 @@ Style Enumerate-Resume
EndFont
End
# References
# ----------
#
# .. _enumitem.pdf:
# http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf