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