On 07/06/11 13:59, Richard Heck wrote:
On 06/07/2011 02:48 AM, Guenter Milde wrote:
What is the trick that permits (for example) a Frame environment to
contain other environments without the need to "increase the depth" of
the inserted environment?
Using an Inset instead of a Style.
Section 5 of the doc doesn't seem to have anything on what an Inset is
and why one would want to use one. I can see the section on FlexInsets
but not on Insets.
He meant Flex Insets. These could as well be called "user definable insets".
I don't know about "Flex", seems to be a new name. In LyX 1.6 the
definition in a layout file can be done by e.g.::

InsetLayout LandscapeSlide
    LyXType     custom
    LatexType   Environment
    LatexName   slide
    Decoration classic
    LabelFont
      Size      Small
    EndFont
    MultiPar true
    LabelString "Landscape Slide"
End

instead of (or in addition to)::

Style LandscapeSlide
        CopyStyle               --Separator--
        LatexType               Environment
        LatexName               slide
        NextNoIndent            1
        Margin                  Static
        LeftMargin              N
        ParIndent               ""
        TopSep                  0.4
        LabelType               Top_Environment
        LabelString             "Landscape Slide:"
End

(There are 134 "InsetLayout" definitions in<LYXDIR>/layouts/ in LyX 2 (svn)
130 of them have "Flex:" in the name.)

There have been some changes to this for 2.0, mostly for consistency.
The "Flex:" prefix is now more or less required. But the rest is the same.

Let me add, for the OP, that once defined these turn up at Insert>Custom
Inset.

That's very useful, thanks. Can Insets be made to appear in the normal drop-down of structural styles? Or are they still functionally character-level markup, even though one may e declared as an environment?

///Peter

Reply via email to