Charles de Miramon wrote: > Hello > > I'm starting to move my real work to LyX 1.6 and I have problem with the new > modules. > > This seems mostly to be a problem with the new Flex insets. It doesn't matter whether you put the code into a module or into an inc file as far as this problem is concerned. > I had in LyX 1.5 some semantic custom markup for citations in Latin and Old > French in a mycharstyles.inc file > > # Personal character styles definition > > Format 2 > CharStyle Latin > LatexType Command > LatexName latin > Font > Family Sans > EndFont > LabelFont > Family Roman > Color blue > EndFont > Preamble > \newcommand{\latin}[1]{\og~#1~\fg} > EndPreamble > End > > CharStyle Ancien > LatexType Command > LatexName ancien > Font > Family Sans > EndFont > LabelFont > Family Roman > Color blue > EndFont > Preamble > \newcommand{\ancien}[1]{\og~#1~\fg} > EndPreamble > End > > I have created a module in LyX 1.6 (I could not find any documentation about > the syntax of modules and the new flexible insets) > > See the Customization manual, chapter 5, especially sections 5.2.1 and 5.3.6. > Latin.module > #\DeclareLyXModule{Latin} > #DescriptionBegin > #Définit des styles spécifiques pour les textes en latin et en ancien > français > #DescriptionEnd > > #Charles de Miramon 24/11/08 > > > Format 11 > InsetLayout Latin > LyxType charstyle > LabelString Latin > LatexType Command > LatexName latin > Font > Family Sans > EndFont > LabelFont > Family Roman > Color blue > EndFont > Preamble > \newcommand{\latin}[1]{\og~#1~\fg} > EndPreamble > End > > InsetLayout Ancien > LyxType charstyle > LabelString Ancien > LatexType Command > LatexName ancien > Font > Family Sans > EndFont > LabelFont > Family Roman > Color blue > EndFont > Preamble > \newcommand{\ancien}[1]{\og~#1~\fg} > EndPreamble > End > > It works for new files but does not translate the old files. > > The old LyX code was : > \begin_inset CharStyle Latin > status inlined > > and the new one seems to be : > \begin_inset Flex Latin > status collapsed > > Questions : > 1) Is there a way to automatically transform the old custom charstyle > formatting to the module ? > > This SHOULD work. As you see, LyX does update the file to the new format. What does the LyX code look like if you use your new InsetLayout definition? It's the disagreement between these that is causing the problem, I think. What you might want to do is just to put your old Format 2 code into a module and let LyX do the conversion to Format 11 for you. You can also run: python $LYXDIR/layout2layout.py oldlayout.module newlayout.module and see how LyX converts it, then just use newlayout.module instead of oldlayout.module. > 2) Why do we have in the new syntax a 'status collapsed' ? Charstyles are > not insets that can be closed or opened > > No, but they can have the "sublabel", showing which charstyle they are. That's what this reflects. And in fact, they can be collapsable if you want them to be. The Decoration tag controls this. > 3) I'm a bit mixed up between the old custom charstyles, flexible insets, > modules. What is going to be deprecated ? > > There are no charstyles any more, only Flex insets. Modules are an entirely different matter. They are a more flexible alternative to include files. rh