On 02/11/2012 02:02 AM, Jason Heeris wrote:
On 7 February 2012 22:11, Richard Heck <rgh...@comcast.net <mailto:rgh...@comcast.net>> wrote:


    You just need to redefine the lyxlist environment, however you
    wish. You can see how LyX defines it from the exported source, or
    just by looking at stdlyxlist.inc, which says:

                   \newenvironment{lyxlist}[1]
                           {\begin{list}{}
                                   {\settowidth{\labelwidth}{#1}
                                    \setlength{\leftmargin}{\labelwidth}
                                    \addtolength{\leftmargin}{\labelsep}
\renewcommand{\makelabel}[1]{##1\hfil}}}
                           {\end{list}}


I have to admit, I'm a bit lost here. In the exported source, all the environments are generated with:

    \begin{lyxlist}{00.00.0000}

There don't seem to be any width specifiers hard-coded into the definition above, so there's nothing to change for the default label width. How is that set?

It's set in the layout. See stdlyxlist.inc. Unfortunately, changing it in the layout will only change the default for /new/ lists, not for the old ones. Those have to be changed manually, within LyX, though if you want to change a lot it's probably easier to open the LyX file in a text editor and do a big search and replace on "00.00.0000".

There's also the item labels themselves, which are basically:

    \item [{Label goes here}]

...but I don't see what part of the lyxlist definition generates that. Where do I look for that?

The \item and optional argument are generated automatically by LyX, since this is a list. The appearance of the label in the output is controlled by \makelabel. So to change how the label is displayed, just redefined \makelabel. As it is, it prints the label, then an \hfil. You can do whatever you like.

Richard

Reply via email to