]> git.lyx.org Git - lyx.git/blob - lib/layouts/enumitem.module
layout files: add the new AllowedPlacement
[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 54
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 1
57                 LabelString   "Itemize Options"
58                 Tooltip       "Optional arguments for this list (see enumitem manual)"
59         EndArgument
60 End
61
62 IfStyle Enumerate
63         Argument 1
64                 LabelString   "Enumerate Options"
65                 Tooltip       "Optional arguments for this list (see enumitem manual)"
66         EndArgument
67 End
68
69 IfStyle Description
70         Argument 1
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         Category              List
84         LatexName             elabeling
85         # FIXME This should probably be defined using \newlist instead
86         Preamble
87         % labeling-like list based on enumitem's description list with
88         % mandatory second argument (label-pattern):
89                 \newenvironment{elabeling}[2][]%
90                 {\settowidth{\lyxlabelwidth}{#2}
91                         \begin{description}[font=\normalfont,style=sameline,
92                                 leftmargin=\lyxlabelwidth,#1]}
93                 {\end{description}}
94         EndPreamble
95 End
96
97
98 # List Variants
99 # -------------
100 #
101 # Styles with pre-defined optional arguments for ease of use
102
103 Style Enumerate-Resume
104         CopyStyle             Enumerate
105         Argument 1
106                 LabelString   "Enumerate Options"
107                 Tooltip       "Optional arguments for this list (see enumitem manual)"
108                 PresetArg     "resume"
109         EndArgument
110         # a blue label to indicate that this is not a WYSIWYG label
111         # because the numbering differs in the output
112         LabelFont
113           Color blue
114         EndFont
115 End
116
117 # References
118 # ----------
119 #
120 # .. _enumitem.pdf:
121 #    http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf
122