]> git.lyx.org Git - lyx.git/blob - lib/layouts/enumitem.module
e3433a5aade056a7759fa48428a036a40c73ac4d
[lyx.git] / lib / layouts / enumitem.module
1 #\DeclareLyXModule[enumitem.sty]{Customisable Lists (enumitem)}
2 #DescriptionBegin
3 # Controls the layout of enumerate, itemize, description, and list/labeling.
4 # See section Customized Lists of the User's Guide for a detailed description.
5 #DescriptionEnd
6 # Author: Günter Milde <milde@users.berlios.de>
7
8 # 2008-12-04 first published version.
9 # 2009-02-02 use name Labeling for "LyX-List/Labeling" list type,
10 #            copy standard layout verbatim for failsave working with 
11 #            both KOMA and non-KOMA document classes.
12 # 2011-01-12 bugfix: set elabeling label font to \normalfont.
13
14 Format 40
15
16 # The package enumitem provides user control over the layout of the three
17 # basic list environments: enumerate, itemize and description. It supersedes
18 # both enumerate and mdwlist (providing well-structured replacements for all
19 # their funtionality), and in addition provides functions to compute the
20 # layout of labels, and to ‘clone’ the standard environments, to create new
21 # environments with counters of their own.
22 #
23 # - fancy labels and fancy refs,
24 # - leftmargin, labelsep and labelwidth automatically set,
25 # - changes applied globally or only in one of the three
26 #   types or even in a single list (including topsep),
27 # - several description styles (which fix some bad spacing, too),
28 # - starting value and counter resuming,
29 # - trivlists properly formatted,
30 # - control on page breaking
31 #
32 # Styling the basic lists is possible 
33 #
34 # a) generally in the LaTeX preamble and 
35 # b) per environment with optional arguments
36 #
37 # See enumitem.pdf_ for details and examples.
38 #
39 # TODO: since version 2.0, enumitem supports "cloning" of lists.
40 #       Producing a labeling as clone of a description allows
41 #       Preamble-Styling specific to this list type.
42
43 AddToPreamble
44         \usepackage{enumitem}           % customizable list environments
45         \newlength{\lyxlabelwidth}      % auxiliary length 
46 EndPreamble
47
48
49 # Customisable Basic Lists
50 # ------------------------
51
52 # With enumitem, the three standard list environments take an optional
53 # argument. See enumitem.pdf_ for possible values.
54
55 IfStyle Itemize
56         Argument option
57                 LabelString   "Itemize Options"
58                 Tooltip       "Optional arguments for this list (see enumitem manual)"
59         EndArgument
60 End
61
62 IfStyle Enumerate
63         Argument option
64                 LabelString   "Enumerate Options"
65                 Tooltip       "Optional arguments for this list (see enumitem manual)"
66         EndArgument
67 End
68
69 IfStyle Description
70         Argument option
71                 LabelString   "Description Options"
72                 Tooltip       "Optional arguments for this list (see enumitem manual)"
73         EndArgument
74 End
75
76
77 # Customisable LyX List
78 # ---------------------
79
80 Input stdlyxlist.inc
81
82 Style Labeling
83         LatexName             elabeling
84         # FIXME This should probably be defined using \newlist instead
85         Preamble
86         % labeling-like list based on enumitem's description list with
87         % mandatory second argument (label-pattern):
88                 \newenvironment{elabeling}[2][]%
89                 {\settowidth{\lyxlabelwidth}{#2}
90                         \begin{description}[font=\normalfont,style=sameline,
91                                 leftmargin=\lyxlabelwidth,#1]}
92                 {\end{description}}
93         EndPreamble
94 End
95
96
97 # List Variants
98 # -------------
99 #
100 # Styles with pre-defined optional arguments for ease of use
101
102 Style Enumerate-Resume
103         CopyStyle             Enumerate
104         LatexParam            [resume]
105         ResetArgs             1
106         # a blue label to indicate that this is not a WYSIWYG label
107         # because the numbering differs in the output
108         LabelFont
109           Color blue
110         EndFont
111 End
112
113 # References
114 # ----------
115 #
116 # .. _enumitem.pdf:
117 #    http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf
118