#\DeclareLyXModule[enumitem.sty]{Customisable Lists (enumitem)} #DescriptionBegin # Control the layout of enumerate, itemize, description, and list/labeling # with an optional argument. # See http://mirror.ctan.org/macros/latex/contrib/enumitem/enumitem.pdf # and example file shipped with LyX. #DescriptionEnd # Author: Günter Milde # # 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. # 2011-01-12 bugfix: set elabeling label font to \normalfont. Format 35 # 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. # # 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. AddToPreamble \usepackage{enumitem} % customizable list environments \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. IfStyle Itemize OptionalArgs 1 End IfStyle Enumerate OptionalArgs 1 End IfStyle Description OptionalArgs 1 End # Customisable LyX List # --------------------- # We expect this already to be defined, but there may be some classes # that do not include stdlists.inc or do not declare Labeling. So we # have copied the info from stdlists.inc. # To make sure that we are starting fresh, we first clear everything. NoStyle Labeling Style Labeling # copied from stdlists.inc Category List LatexName elabeling OptionalArgs 1 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" # FIXME This should probably be defined using \newlist instead 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=\normalfont,style=sameline, leftmargin=\lyxlabelwidth,#1]} {\end{description}} EndPreamble HTMLTag ol HTMLAttr class='lyxlist' HTMLItem li HTMLLabel span HTMLLabelAttr class='lyxlist' HTMLStyle ol.lyxlist { list-style-type: none; } li.labeling_item { text-indent: -5em; margin-left: 5em; } span.lyxlist { margin-right: 1em; } EndHTMLStyle End # List Variants # ------------- # # Styles with pre-defined optional arguments for ease of use Style Enumerate-Resume CopyStyle Enumerate LatexParam [resume] OptionalArgs 0 # a blue label to indicate that this is not a WYSIWYG label # because the numbering differs in the output LabelFont Color blue EndFont End # References # ---------- # # .. _enumitem.pdf: # http://dante.ctan.org/CTAN/macros/latex/contrib/enumitem/enumitem.pdf