]> git.lyx.org Git - features.git/commitdiff
New enumitem module, from Gunter Milde.
authorRichard Heck <rgheck@comcast.net>
Wed, 17 Nov 2010 20:41:31 +0000 (20:41 +0000)
committerRichard Heck <rgheck@comcast.net>
Wed, 17 Nov 2010 20:41:31 +0000 (20:41 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36349 a592a061-630c-0410-9148-cb99ea01b6c8

development/scons/scons_manifest.py
lib/Makefile.am
lib/layouts/enumitem.module [new file with mode: 0644]

index 0d8922bddc97546b0d1ee84489786945c22ee412..a6c32e43bbe1f3535e0c248f5233f927a972fd2a 100644 (file)
@@ -2779,6 +2779,7 @@ lib_layouts_files = Split('''
     elsart.layout
     elsarticle.layout
     entcs.layout
+    enumitem.layout
     europecv.layout
     extarticle.layout
     extbook.layout
index 5f2502b7e2aeedfbbd2701c7ccaa7dc66f734dae..db7a59e0373a02c2dcc9be742db66a2683d7475b 100644 (file)
@@ -1077,6 +1077,7 @@ dist_layouts_DATA =\
        layouts/elsarticle.layout \
        layouts/endnotes.module \
        layouts/entcs.layout \
+       layouts/enumitem.module \
        layouts/eqs-within-sections.module \
        layouts/europecv.layout \
        layouts/extarticle.layout \
diff --git a/lib/layouts/enumitem.module b/lib/layouts/enumitem.module
new file mode 100644 (file)
index 0000000..93757ce
--- /dev/null
@@ -0,0 +1,123 @@
+#\DeclareLyXModule[enumitem.sty]{Customisable Lists (enumitem)}
+#DescriptionBegin
+# Control the layout of enumerate, itemize and description
+# with an optional argument.
+# See http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf
+#DescriptionEnd
+# Author: Günter Milde <milde@users.berlios.de>
+# 
+# 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
+#
+# 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
+# their funtionality), and in addition provides functions to compute the
+# layout of labels, and to ‘clone’ the standard environments, to create new
+# environments with counters of their own.
+#
+# - fancy labels and fancy refs,
+# - leftmargin, labelsep and labelwidth automatically set,
+# - changes applied globally or only in one of the three
+#   types or even in a single list (including topsep),
+# - several description styles (which fix some bad spacing, too),
+# - starting value and counter resuming,
+# - trivlists properly formatted,
+# - control on page breaking
+#
+# Styling the basic lists is possible 
+#
+# 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
+#
+# 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
+       \newlength{\lyxlabelwidth}      % auxiliary length 
+EndPreamble
+
+# Customisable Basic Lists
+# ------------------------
+
+# With enumitem, the three standard list environments take an optional
+# argument. See enumitem.pdf_ for possible values.
+
+Style Itemize
+       OptionalArgs          1
+       Requires        enumitem
+End
+
+Style Enumerate
+       OptionalArgs          1
+       Requires        enumitem
+End
+
+Style Description
+       OptionalArgs          1
+       Requires        enumitem
+End
+
+# Customisable LyX List
+# ---------------------
+
+Style Labeling
+       # verbatim insert definition of List environment, 
+       # The KOMA script classes replace List with Labeling, 
+       # this leads to an error with "CopyStyle List"!
+       Category              List
+       Margin                Manual
+       LatexType             List_Environment
+       NextNoindent          1
+       LabelSep              xxx
+       ParSkip               0.4
+       TopSep                0.7
+       BottomSep             0.7
+       ParSep                0.5
+       Align                 Block
+       AlignPossible         Block, Left
+       LabelType             Manual
+       LabelString           "00.00.0000"
+       # en of verbatim copy
+       
+       LatexName             elabeling
+       OptionalArgs          1
+       Requires              enumitem
+       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=,style=sameline,
+                              leftmargin=\lyxlabelwidth,#1]}
+         {\end{description}}
+       EndPreamble
+End
+
+
+# List Variants
+# -------------
+#
+# Styles with pre-defined optional arguments for ease of use
+
+Style Enumerate-Resume
+       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
+         Color               blue
+       EndFont
+End
+