+- There has been a large change in how Flex insets are named. Previously,
+ they tended to have names like "CharStyle:Noun". Now, they just have
+ names like "Flex:Noun" (where the "Flex" prefix is now required). When
+ LyX 2.0 reads older files, it silently converts the old-style names
+ to new-style names; this direction works almost perfectly. The one place
+ it does not work is with CopyStyle declarations, IF your old InsetLayout
+ was NOT named "CharStyle:..." or "Custom:..." or "Element:...", but, say,
+ just "MyInset". In that case, "InsetLayout MyInset" will be changed to
+ "InsetLayout Flex:MyInset", but "CopyStyle MyInset" will be left as is.
+ Users will need to make that kind of change manually. The best way to do
+ this is to use the layout2layout.py script, which gets installed in
+ $LYXDIR/scripts/layout2layout.py, to convert your custom layout files to
+ the new format, and then check them for correctness.
+
+ LyX will also silently revert new-style names to old-style names when
+ exporting to 1.6.x format, but only for the pre-defined LyX insets. This
+ means that user-defined flex insets will not be properly reverted. To solve
+ this problem, you can modify the file $LYXDIR/lyx2lyx/lyx_2_0.py. In that
+ file, you will find the following:
+ flex_insets = {
+ "Alert" : "CharStyle:Alert",
+ "Code" : "CharStyle:Code",
+ "Concepts" : "CharStyle:Concepts",
+ "E-Mail" : "CharStyle:E-Mail",
+ "Emph" : "CharStyle:Emph",
+ "Expression" : "CharStyle:Expression",
+ "Initial" : "CharStyle:Initial",
+ "Institute" : "CharStyle:Institute",
+ "Meaning" : "CharStyle:Meaning",
+ "Noun" : "CharStyle:Noun",
+ "Strong" : "CharStyle:Strong",
+ "Structure" : "CharStyle:Structure",
+ "ArticleMode" : "Custom:ArticleMode",
+ "Endnote" : "Custom:Endnote",
+ "Glosse" : "Custom:Glosse",
+ "PresentationMode" : "Custom:PresentationMode",
+ "Tri-Glosse" : "Custom:Tri-Glosse"
+ }
+ This is a map from new-style names (minux "Flex") to old-style names (and
+ there is a similar for DocBook elements). To get a user-defined CharStyle
+ to revert properly, it simply needs to be added to this list.