Re: Using new enumerate environment without ERT

2019-04-30 Thread Paul Smith
On Sat, Apr 27, 2019 at 2:42 PM Guenter Milde  wrote:
>
> >> Dear All,
>
> >> Suppose that I have created a new enumerate-like enumerate, say
> >> xenumerate. How can I use it from inside LyX without recourse to ERT?
>
> > A couple of possibilities come to mind. If you want to use the new
> > version exclusively (and not use good old "enumerate"), you could
> > redefine the enumerate environment itself. Assuming you want xenumerate
> > to coexist with enumerate, you can define a layout for it, either in the
> > Local Layout portion of the document settings (if you only want it for
> > one document) or in a module file installed in your local layouts directory.
>
> > Guessing that you want the last one (i.e., add this along side regular
> > enumerations and make it available to any document that wants it), I
> > would suggest looking at /usr/share/lyx/layouts/stdlists.inc for
> > inspiration. (That's the Linux path; on other OSes, your path may
> > differ.) Look for the section that begins "Style Enumerate" and copy it
> > to your local module file (which will also need the proper header
> > stuff). Change the first line of the style to "Style Xenumerate" (or
> > whatever), change the LatexName entry to "xenumerate", and see if
> > anything else needs tweaking (quite possibly not).
>
> It may help to have a look a the "enumitem" module that enhances enumeration
> environments.
>
> The appended gm-lists.module requires and uses enumitem to define
> additional list types. It is a bit dated, though.
>
>
> > Help > Customization has lots of details about creating your own modules
> > and paragraph styles. Note that you will have to expressly include the
> > module in any document where you want to use the style. (You could hack
> > stdlists.inc itself, but then you would need to repeat the hack any time
> > an upgrade/reinstallation overwrote /usr/share/lyx/layouts.)

Thanks, Günter, I will have a look at that.

Paul


Re: Using new enumerate environment without ERT

2019-04-27 Thread Guenter Milde
On 2019-04-26, Paul A. Rubin wrote:
> On 4/26/19 4:16 PM, Paul Smith wrote:
>> Dear All,

>> Suppose that I have created a new enumerate-like enumerate, say
>> xenumerate. How can I use it from inside LyX without recourse to ERT?

>> Thanks in advance,

>> Paul
> A couple of possibilities come to mind. If you want to use the new 
> version exclusively (and not use good old "enumerate"), you could 
> redefine the enumerate environment itself. Assuming you want xenumerate 
> to coexist with enumerate, you can define a layout for it, either in the 
> Local Layout portion of the document settings (if you only want it for 
> one document) or in a module file installed in your local layouts directory.

> Guessing that you want the last one (i.e., add this along side regular 
> enumerations and make it available to any document that wants it), I 
> would suggest looking at /usr/share/lyx/layouts/stdlists.inc for 
> inspiration. (That's the Linux path; on other OSes, your path may 
> differ.) Look for the section that begins "Style Enumerate" and copy it 
> to your local module file (which will also need the proper header 
> stuff). Change the first line of the style to "Style Xenumerate" (or 
> whatever), change the LatexName entry to "xenumerate", and see if 
> anything else needs tweaking (quite possibly not).

It may help to have a look a the "enumitem" module that enhances enumeration
environments. 

The appended gm-lists.module requires and uses enumitem to define
additional list types. It is a bit dated, though.


> Help > Customization has lots of details about creating your own modules 
> and paragraph styles. Note that you will have to expressly include the 
> module in any document where you want to use the style. (You could hack 
> stdlists.inc itself, but then you would need to repeat the hack any time 
> an upgrade/reinstallation overwrote /usr/share/lyx/layouts.)


Günter


#\DeclareLyXModule{gmlists}
#DescriptionBegin
# Adds quoted-list and condensed list environments.
#DescriptionEnd
#Requires: enumitem
#Author: Günter Milde 

# date: 2008-12-04
# last update: 2016-07-21

Format 49

# Style Variants
# ==


Style Enumerate-Alpha
  CopyStyleEnumerate
  LatexParam   "[label=\emph{\alph*}),ref=\emph{\alph*},fullwidth,itemsep=1ex]"
  Margin   First_Dynamic
  LeftMargin   
  LabelCounter enumi
  LabelString  "\alph{enumi})"
  LabelFont
Series  Medium
Shape   Italic
  EndFont
End


# Dense (condensed/compact) list environments
# ===

Style Itemize-Compact
CopyStyle Itemize
Argument 1
LabelString   "Enumerate Options"
Tooltip   "Optional arguments for this list (see enumitem 
manual)"
PresetArg noitemsep
EndArgument
ParSep0
TopSep0.4
BottomSep 0.4
End 

Style Enumerate-Compact
CopyStyle Enumerate
Argument 1
LabelString   "Enumerate Options"
Tooltip   "Optional arguments for this list (see enumitem 
manual)"
PresetArg noitemsep
EndArgument
ParSep0
TopSep0.4
BottomSep 0.4
End 

Style Description-Compact
CopyStyle Description
Argument 1
LabelString   "Enumerate Options"
Tooltip   "Optional arguments for this list (see enumitem 
manual)"
PresetArg noitemsep
EndArgument
ParSep0
TopSep0.4
BottomSep 0.4
End

# Indented compact LyX-List environment
Style Quoted-Labeling
CopyStyle   Labeling
LatexName   qlyxlist
ItemSep 0
ParSep  0
LabelIndent MMM
Preamble
% labeling-like list based on enumitem's description list with
% mandatory second argument (label-pattern) and indent of 2em:
\newenvironment{qlyxlist}[2][]%
  {\settowidth{\lyxlabelwidth}{#2}
   \addtolength{\lyxlabelwidth}{1.5em}
   \description[font=,style=sameline,
 leftmargin=\lyxlabelwidth,
 noitemsep, labelindent=1.5em,
 #1]}
  {\enddescription}
EndPreamble

End

# Backwards compatibility aliases:

Style Compact-Itemize
  ObsoletedByItemize-Compact
End  

Style Itemize-Dense
  ObsoletedByItemize-Compact
End

Style Compact-Enumerate
  ObsoletedBy   Enumerate-Compact
End

Style Enumerate-Dense
  ObsoletedBy   Enumerate-Compact
End

Style Compact-Description
  ObsoletedBy   Description-Compact
End

Style Description-Dense
  ObsoletedBy   Description-Compact
End

# Description with italic label was a failed experiment:
Style Description-Italic
  

Re: Using new enumerate environment without ERT

2019-04-26 Thread Paul Smith
On Fri, Apr 26, 2019 at 9:39 PM Paul A. Rubin  wrote:
>
> > Suppose that I have created a new enumerate-like enumerate, say
> > xenumerate. How can I use it from inside LyX without recourse to ERT?
> >
> A couple of possibilities come to mind. If you want to use the new
> version exclusively (and not use good old "enumerate"), you could
> redefine the enumerate environment itself. Assuming you want xenumerate
> to coexist with enumerate, you can define a layout for it, either in the
> Local Layout portion of the document settings (if you only want it for
> one document) or in a module file installed in your local layouts directory.
>
> Guessing that you want the last one (i.e., add this along side regular
> enumerations and make it available to any document that wants it), I
> would suggest looking at /usr/share/lyx/layouts/stdlists.inc for
> inspiration. (That's the Linux path; on other OSes, your path may
> differ.) Look for the section that begins "Style Enumerate" and copy it
> to your local module file (which will also need the proper header
> stuff). Change the first line of the style to "Style Xenumerate" (or
> whatever), change the LatexName entry to "xenumerate", and see if
> anything else needs tweaking (quite possibly not).
>
> Help > Customization has lots of details about creating your own modules
> and paragraph styles. Note that you will have to expressly include the
> module in any document where you want to use the style. (You could hack
> stdlists.inc itself, but then you would need to repeat the hack any time
> an upgrade/reinstallation overwrote /usr/share/lyx/layouts.)

Thanks, Paul, for your very valuable help! I am going now to ponder
about your suggestions and choose the one that fits best my needs.

Paul


Re: Using new enumerate environment without ERT

2019-04-26 Thread Paul A. Rubin

On 4/26/19 4:16 PM, Paul Smith wrote:

Dear All,

Suppose that I have created a new enumerate-like enumerate, say
xenumerate. How can I use it from inside LyX without recourse to ERT?

Thanks in advance,

Paul
A couple of possibilities come to mind. If you want to use the new 
version exclusively (and not use good old "enumerate"), you could 
redefine the enumerate environment itself. Assuming you want xenumerate 
to coexist with enumerate, you can define a layout for it, either in the 
Local Layout portion of the document settings (if you only want it for 
one document) or in a module file installed in your local layouts directory.


Guessing that you want the last one (i.e., add this along side regular 
enumerations and make it available to any document that wants it), I 
would suggest looking at /usr/share/lyx/layouts/stdlists.inc for 
inspiration. (That's the Linux path; on other OSes, your path may 
differ.) Look for the section that begins "Style Enumerate" and copy it 
to your local module file (which will also need the proper header 
stuff). Change the first line of the style to "Style Xenumerate" (or 
whatever), change the LatexName entry to "xenumerate", and see if 
anything else needs tweaking (quite possibly not).


Help > Customization has lots of details about creating your own modules 
and paragraph styles. Note that you will have to expressly include the 
module in any document where you want to use the style. (You could hack 
stdlists.inc itself, but then you would need to repeat the hack any time 
an upgrade/reinstallation overwrote /usr/share/lyx/layouts.)


Paul (the original one)



Using new enumerate environment without ERT

2019-04-26 Thread Paul Smith
Dear All,

Suppose that I have created a new enumerate-like enumerate, say
xenumerate. How can I use it from inside LyX without recourse to ERT?

Thanks in advance,

Paul