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