]> git.lyx.org Git - lyx.git/blob - lib/layouts/enumitem.module
Better TOC output for XHTML, per Rob and Pavel.
[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 34
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 # Customisable Basic Lists
51 # ------------------------
52
53 # With enumitem, the three standard list environments take an optional
54 # argument. See enumitem.pdf_ for possible values.
55
56 Style Itemize
57         OptionalArgs          1
58 End
59
60 Style Enumerate
61         OptionalArgs          1
62 End
63
64 Style Description
65         OptionalArgs          1
66 End
67
68 # Customisable LyX List
69 # ---------------------
70
71 Style Labeling
72         # verbatim insert definition of List environment, 
73         # The KOMA script classes replace List with Labeling, 
74         # this leads to an error with "CopyStyle List"!
75         Category              List
76         Margin                Manual
77         LatexType             List_Environment
78         NextNoindent          1
79         LabelSep              xxx
80         ParSkip               0.4
81         TopSep                0.7
82         BottomSep             0.7
83         ParSep                0.5
84         Align                 Block
85         AlignPossible         Block, Left
86         LabelType             Manual
87         LabelString           "00.00.0000"
88         # en of verbatim copy
89         
90         LatexName             elabeling
91         OptionalArgs          1
92         Preamble
93         % labeling-like list based on enumitem's description list with
94         % mandatory second argument (label-pattern):
95         \newenvironment{elabeling}[2][]%
96           {\settowidth{\lyxlabelwidth}{#2}
97            \begin{description}[font=\normalfont,style=sameline,
98                                leftmargin=\lyxlabelwidth,#1]}
99           {\end{description}}
100         EndPreamble
101 End
102
103
104 # List Variants
105 # -------------
106 #
107 # Styles with pre-defined optional arguments for ease of use
108
109 Style Enumerate-Resume
110         CopyStyle             Enumerate
111         LatexParam            [resume]
112         OptionalArgs          0
113         # a blue label to indicate that this is not a WYSIWYG label
114         # because the numbering differs in the output
115         LabelFont
116           Color               blue
117         EndFont
118 End
119
120 # References
121 # ----------
122 #
123 # .. _enumitem.pdf:
124 #    http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf
125