]> git.lyx.org Git - lyx.git/blobdiff - lib/doc/Customization.lyx
Typo.
[lyx.git] / lib / doc / Customization.lyx
index 6b47f251a78a0762db125d6019f7b5890aaa4cd3..baecb3b8f83a2e767d0de8250c23f27eea8589e1 100644 (file)
@@ -1,14 +1,14 @@
-#LyX 1.6.0svn created this file. For more info see http://www.lyx.org/
-\lyxformat 341
+#LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
+\lyxformat 375
 \begin_document
 \begin_header
 \textclass scrbook
 \begin_preamble
 % DO NOT ALTER THIS PREAMBLE!!!
 %
-% This preamble is designed to ensure that the User's Guide prints
+% This preamble is designed to ensure that this document prints
 % out as advertised. If you mess with this preamble,
-% parts of the User's Guide may not print out as expected.  If you
+% parts of this document may not print out as expected.  If you
 % have problems LaTeXing this file, please contact 
 % the documentation team
 % email: lyx-docs@lists.lyx.org
 % redefine the \LyX macro for PDF bookmarks
 \def\LyX{\texorpdfstring{%
   L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
-  {LyX }}
+  {LyX}}
 
 % used for multi-column text
 \usepackage{multicol}
 \usepackage{inputenc}
 \end_preamble
 \options fleqn,liststotoc,bibtotoc,idxtotoc,BCOR7.5mm,titlepage,tablecaptionabove
+\use_default_options false
 \begin_modules
 logicalmkup
 \end_modules
@@ -61,16 +62,21 @@ End
 \end_local_layout
 \language english
 \inputencoding auto
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_xetex false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\bibtex_command default
+\index_command default
 \paperfontsize 12
 \spacing single
 \use_hyperref true
@@ -86,33 +92,39 @@ End
 \pdf_pdfborder false
 \pdf_colorlinks true
 \pdf_backref false
-\pdf_pagebackref false
 \pdf_pdfusetitle false
 \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true,pdfstartview=XYZ, plainpages=false, pdfpagelabels"
 \papersize default
 \use_geometry false
 \use_amsmath 0
 \use_esint 0
+\use_mhchem 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
 \branch OutDated
 \selected 0
+\filename_suffix 0
 \color #f5fae7
 \end_branch
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 2
 \paperpagestyle headings
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
-\author "" 
+\html_use_mathml true
+\html_be_strict true
 \end_header
 
 \begin_body
@@ -138,11 +150,29 @@ type "mailto:"
 \end_inset
 
 .
+ Include 
+\begin_inset Quotes eld
+\end_inset
+
+[Customization]
+\begin_inset Quotes erd
+\end_inset
+
+ in the subject header, and please cc the current maintainer of this file,
+ Richard Heck <rgheck@comcast.net>.
 \end_layout
 
 \end_inset
 
+
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+Version 2.0.x 
 \end_layout
 
 \begin_layout Standard
@@ -152,6 +182,22 @@ LatexCommand tableofcontents
 \end_inset
 
 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+Please use change tracking when modifying this document.
+ This makes it easier for our translators to recognize things that have
+ been changed, and it helps the maintainer keep up-to-date with what's been
+ done.
+\end_layout
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Chapter
@@ -163,15 +209,15 @@ This manual covers the customization features present in LyX.
  In it, we discuss issues like keyboard shortcuts, screen previewing options,
  printer options, sending commands to LyX via the LyX Server, internationalizati
 on, installing new LaTeX classes and LyX layouts, etc.
- We can't possibly hope to touch on everything you can change---our developers
- add new features faster than we can document them---but we will explain
the most common customizations and hopefully point you in the right direction
+ We can't possibly hope to touch on everything you can changeour developers
+ add new features faster than we can document them—but we will explain the
+ most common customizations and hopefully point you in the right direction
  for some of the more obscure ones.
 \end_layout
 
 \begin_layout Standard
 \begin_inset Branch OutDated
-status collapsed
+status open
 
 \begin_layout Standard
 Information from previous versions of this document that now seems to be
@@ -197,18 +243,12 @@ This chapter aims to help you to find your way through the LyX configuration
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
+Help\SpecialChar \menuseparator
 About
 \begin_inset space ~
 \end_inset
 
-Ly
-\bar under
-X
+LyX
 \end_layout
 
 \end_inset
@@ -265,22 +305,14 @@ LyXDir
 \end_inset
 
  and its sub-directories contain a number of files and that can be used
- to customise LyX's behaviour.
+ to customize LyX's behavior.
  You can change many of these files from within LyX itself through the 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references
+Tools\SpecialChar \menuseparator
+Preferences
 \end_layout
 
 \end_inset
@@ -357,16 +389,8 @@ packages.lst
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
-L
-\bar under
-a
-\bar default
-TeX
+Help\SpecialChar \menuseparator
+LaTeX
 \begin_inset space ~
 \end_inset
 
@@ -578,26 +602,33 @@ LaTeXConfig.lyx
 \end_inset
 
  deserves special attention, as noted above.
- If there exists an internationalized version of the help-document with
+ The internationalized help docs are in subdirectories 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$LANG_
+doc/xx
 \end_layout
 
 \end_inset
 
- prepended to the name, that will be used first.
- See Chapter
+ where 
+\begin_inset Quotes eld
+\end_inset
+
+xx
+\begin_inset Quotes erd
+\end_inset
+
+ is the ISO language code.
+ See chapter
 \begin_inset space ~
 \end_inset
 
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "chap:i18n"
+reference "cha:Internationalizing-LyX"
 
 \end_inset
 
@@ -674,7 +705,7 @@ kbd/
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:keymap"
+reference "sec:International-Keymap-Stuff"
 
 \end_inset
 
@@ -699,7 +730,7 @@ layouts/
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "chap:textclass"
+reference "cha:Installing-New-Document"
 
 \end_inset
 
@@ -779,7 +810,7 @@ templates/
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:templates"
+reference "sub:Creating-Templates"
 
 \end_inset
 
@@ -838,11 +869,7 @@ CREDITS
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
+Help\SpecialChar \menuseparator
 About
 \begin_inset space ~
 \end_inset
@@ -901,7 +928,7 @@ encodings
 \end_inset
 
  this contains tables describing how different character encodings can be
- mapped to unicode
+ mapped to Unicode
 \end_layout
 
 \begin_layout Labeling
@@ -977,11 +1004,7 @@ user directory
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
+Help\SpecialChar \menuseparator
 About
 \begin_inset space ~
 \end_inset
@@ -1038,16 +1061,8 @@ The preferences set in the
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references
+Tools\SpecialChar \menuseparator
+Preferences
 \end_layout
 
 \end_inset
@@ -1081,16 +1096,8 @@ When you reconfigure using
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-R
-\bar default
-econfigure
+Tools\SpecialChar \menuseparator
+Reconfigure
 \end_layout
 
 \end_inset
@@ -1123,16 +1130,8 @@ UserDir/layouts
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
-
-\bar under
-S
-\bar default
-ettings
+Document\SpecialChar \menuseparator
+Settings
 \end_layout
 
 \end_inset
@@ -1158,11 +1157,7 @@ UserDir/doc/
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp
+Help
 \end_layout
 
 \end_inset
@@ -1258,22 +1253,14 @@ doc/
 
 \end_inset
 
- subirectory, however, since it contains a file written by the configuration
+ subdirectory, however, since it contains a file written by the configuration
  script (also accessible through 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-R
-\bar default
-econfigure
+Tools\SpecialChar \menuseparator
+Reconfigure
 \end_layout
 
 \end_inset
@@ -1299,79 +1286,19 @@ User's Guide
 \end_layout
 
 \begin_layout Section
-Using the dialog for the first time
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-UserDir/preferences
-\end_layout
-
-\end_inset
-
- file will contain only changes that you have made to the default behavior,
- some of which is hard-coded into LyX and some of which is contained in
- the system file 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LyXDir/lyxrc.defaults
-\end_layout
-
-\end_inset
-
-.
- Note that in both files lines beginning with a 
-\begin_inset Quotes eld
-\end_inset
-
-#
-\begin_inset Quotes erd
-\end_inset
-
- are just comments and are not interpreted.
- However, only system administrators should edit 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LyXDir/lyxrc.defaults
-\end_layout
-
-\end_inset
-
-.
- Users should use the 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Preferences
-\end_layout
+Formats
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Formats"
 
 \end_inset
 
- dialog to create and modify their own 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-UserDir/preferences
-\end_layout
-
-\end_inset
 
- file.
 \end_layout
 
 \begin_layout Standard
-We hope that the 
+The first step is to define your file formats if they are not already defined.
+ To do so, open the 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
@@ -1382,64 +1309,19 @@ Preferences
 
 \end_inset
 
- dialog will be largely self-explanatory.
- Most things in the dialog have associated `tool tips': hover your mouse
- pointer over something for more information.
- Before we highlight a few of the more important commands below, however,
- a word of warning: Applying some of your changes (e.g., screen fonts) will
- have an instant effect.
- Others (e.g.
- changing the bind file) will not.
- If nothing appears to have changed, just 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Save
-\end_layout
-
-\end_inset
-
- the changes and restart LyX.
-\end_layout
-
-\begin_layout Section
-File Handling
-\end_layout
-
-\begin_layout Standard
-LyX has a powerful mechanism to convert to and from any file format using
- external programs.
-\end_layout
-
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sub:Formats"
-
-\end_inset
-
-Formats
-\end_layout
-
-\begin_layout Standard
-The first step is to define your file formats if they are not already defined.
- To do so, open the 
+ dialog.
+ Under 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Preferences\SpecialChar \menuseparator
 File Handling\SpecialChar \menuseparator
-File Formats
+File formats
 \end_layout
 
 \end_inset
 
- dialog.
- Press the 
+ press the 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
@@ -1461,7 +1343,7 @@ Format
 
 \end_inset
 
- field contains the named used to identify the format in the GUI.
+ field contains the name used to identify the format in the GUI.
  The 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
@@ -1472,7 +1354,7 @@ Short Name
 
 \end_inset
 
- is used to identify the format interally.
+ is used to identify the format internally.
  You will also need to enter a file extension.
  These are all required.
  The optional 
@@ -1521,7 +1403,7 @@ Viewer
 
 \end_inset
 
- and 
+ and an 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
@@ -1558,37 +1440,18 @@ View
 \end_inset
 
  menu.
- The editor is for example launched when you press the 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Edit
-\end_layout
-
-\end_inset
-
- button in the 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Graphics
-\end_layout
-
-\end_inset
-
- or the 
+ The editor is for example launched when you right-click on an image and
+ choose 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-External material
+Edit externally
 \end_layout
 
 \end_inset
 
dialog.
in the appearing context menu.
 \end_layout
 
 \begin_layout Standard
@@ -1603,10 +1466,14 @@ Document format
 \end_inset
 
  option tells LyX that a format is suitable for document export.
- If this is is set and if a suitable conversion route exists (see 
+ If this is set and if a suitable conversion route exists (see sec.
+\begin_inset space \thinspace{}
+\end_inset
+
+
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sub:Converters"
+reference "sec:Converters"
 
 \end_inset
 
@@ -1775,7 +1642,7 @@ png
 .
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Copiers
 \end_layout
 
@@ -1787,7 +1654,7 @@ Since all conversions from one format to another take place in LyX's temporary
 status collapsed
 
 \begin_layout Plain Layout
-For example, the file may refer to other files---images, for example---using
+For example, the file may refer to other files—images, for example—using
  relative file names, and these may become invalid when the file is copied
  to the temporary directory.
 \end_layout
@@ -1818,7 +1685,7 @@ $$s
 \end_inset
 
 g.
-\begin_inset space ~
+\begin_inset space \space{}
 \end_inset
 
 
@@ -1877,14 +1744,14 @@ $$l
 \end_layout
 
 \begin_layout Standard
-The latter is to be given in a form suitable for inclusion in a LaTeX's
+The latter should be the filename as it would be used in a LaTeX's 
 \series bold
 
 \backslash
 include
 \series default
- command and is relevant only when exporting files suitable for such inclusion.
+ command.
+ It is relevant only when exporting files suitable for such inclusion.
 \end_layout
 
 \begin_layout Standard
@@ -1931,7 +1798,7 @@ cp $FROMFILE /home/you/pdf/$TOFILE
 
 \end_inset
 
-Save that in your local LyX directory---say, 
+Save it in your local LyX directory—say, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -1941,19 +1808,30 @@ status collapsed
 
 \end_inset
 
----and make it executable, if you need to do so on your platform.
+and make it executable, if you need to do so on your platform.
  Then, in the 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
 Tools\SpecialChar \menuseparator
-Preferences:Copiers
+Preferences
+\end_layout
+
+\end_inset
+
+ dialog, select under 
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+File Handling\SpecialChar \menuseparator
+File formats
 \end_layout
 
 \end_inset
 
dialog, select the 
+ the 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
@@ -1963,7 +1841,7 @@ PDF(pdflatex)
 
 \end_inset
 
- format---or one of the other pdf formats---and enter 
+ format—or one of the other pdf formats—and enter 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -2091,19 +1969,19 @@ status collapsed
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
+Converters
 \begin_inset CommandInset label
 LatexCommand label
-name "sub:Converters"
+name "sec:Converters"
 
 \end_inset
 
-Converters
+
 \end_layout
 
 \begin_layout Standard
-You can define your own Converters to, uhh, convert files between different
- formats.
+You can define your own Converters to convert files between different formats.
  This is done in the 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
@@ -2135,11 +2013,7 @@ format
 
 \end_inset
 
- and
-\begin_inset space \thinspace{}
-\end_inset
-
+ and 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
@@ -2221,9 +2095,13 @@ $$b
 
 \end_inset
 
- The base filename of the input file (i.e., without the extension)
-\end_layout
-
+ The base filename of the input file (i.
+\begin_inset space \thinspace{}
+\end_inset
+
+g., without the extension)
+\end_layout
+
 \begin_layout Labeling
 \labelwidthstring 00.00.0000
 \begin_inset Flex CharStyle:Code
@@ -2238,6 +2116,21 @@ $$p
  The path to the input file
 \end_layout
 
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+$$r
+\end_layout
+
+\end_inset
+
+ The path to the original input file (this is different from $$p when a
+ chain of converters is called).
+\end_layout
+
 \begin_layout Standard
 In the 
 \begin_inset Flex CharStyle:MenuItem
@@ -2358,7 +2251,7 @@ infile.out
 status collapsed
 
 \begin_layout Plain Layout
-script <infile.out >infile.log
+script < infile.out > infile.log
 \end_layout
 
 \end_inset
@@ -2444,13 +2337,13 @@ None of these last three are presently used in any of the converters that
 \end_layout
 
 \begin_layout Standard
-You do not have to define converters between all the formats between which
you want to convert.
- For example, you will note that there is no `LyX to PostScript®' converter,
- but LyX will export PostScript®.
+You do not have to define converters for all formats between which you want
+ to convert.
+ For example, you will note that there is no `LyX to PostScript' converter,
+ but LyX will export PostScript.
  It does so by first creating a LaTeX file (no converter needs to be defined
  for this) which is then converted to DVI using the `LaTeX to DVI' converter,
- and finally converting the resulting DVI file to PostScript®.
+ and finally converting the resulting DVI file to PostScript.
  LyX finds such `chains' of converters automatically, and it will always
  choose the shortest possible chain.
  You can, though, still define multiple conversion methods between file
@@ -2466,7 +2359,7 @@ pdflatex
 
 \end_inset
 
-; via (DVI and) PostScript®, using 
+; via (DVI and) PostScript, using 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
@@ -2491,7 +2384,7 @@ dvipdfm
  formats', as described in section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sub:Formats"
+reference "sec:Formats"
 
 \end_inset
 
@@ -2543,7 +2436,7 @@ status collapsed
 Internationalizing LyX
 \begin_inset CommandInset label
 LatexCommand label
-name "chap:i18n"
+name "cha:Internationalizing-LyX"
 
 \end_inset
 
@@ -2863,8 +2756,15 @@ lyx.mo
 
 \end_inset
 
- (e.g.
+ (e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
+\begin_inset space \space{}
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -2897,7 +2797,7 @@ po
 \end_layout
 
 \begin_layout Subsubsection
-Ambigous messages
+Ambiguous messages
 \end_layout
 
 \begin_layout Standard
@@ -2940,7 +2840,7 @@ gettext
 
 \end_inset
 
- does not handle such ambigous translations.
+ does not handle such ambiguous translations.
  Therefore you have to add some context information to the message: Instead
  of 
 \begin_inset Flex CharStyle:Code
@@ -2972,7 +2872,7 @@ To[[as in 'From page x to page y']].
 
 \end_inset
 
- Now the two occurences of 
+ Now the two occurrences of 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -3022,11 +2922,7 @@ The online documentation (in the
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp
+Help
 \end_layout
 
 \end_inset
@@ -3050,7 +2946,7 @@ As of March 2008, at least some of the documents have been translated into
 status collapsed
 
 \begin_layout Plain Layout
-LyXDir/doc/xx_DocName.lyx
+LyXDir/doc/xx/DocName.lyx
 \end_layout
 
 \end_inset
@@ -3084,21 +2980,6 @@ DocName
  do right away:
 \end_layout
 
-\begin_layout Itemize
-Read 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-DocStyle.lyx
-\end_layout
-
-\end_inset
-
-, the guide to writing LyX documentation.
- Pay special attention to the translator's section.
-\end_layout
-
 \begin_layout Itemize
 Check out the documentation translation web page at 
 \begin_inset CommandInset href
@@ -3137,16 +3018,8 @@ Intro.lyx
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
-
-\bar under
-I
-\bar default
-ntroduction
+Help\SpecialChar \menuseparator
+Introduction
 \end_layout
 
 \end_inset
@@ -3174,7 +3047,7 @@ Make a copy of the document.
 status collapsed
 
 \begin_layout Plain Layout
-UserDir/doc/
+UserDir/doc/xx/
 \end_layout
 
 \end_inset
@@ -3763,13 +3636,14 @@ kinclude
 \end_layout
 
 \begin_layout Section
+International Keymap Stuff
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:keymap"
+name "sec:International-Keymap-Stuff"
 
 \end_inset
 
-International Keymap Stuff
+
 \end_layout
 
 \begin_layout Standard
@@ -3780,6 +3654,7 @@ status open
 In doing the revisions on this document in March 2008, I did not look over
  this stuff, as I do not understand it.
  It would be good if someone else could do so.
+ (RH)
 \end_layout
 
 \end_inset
@@ -4177,7 +4052,7 @@ char
 \emph default
  
 \family roman
-followed by the other, unallowed key, as output.
+followed by the other, not allowed key, as output.
 
 \family default
  Note that a 
@@ -5347,16 +5222,8 @@ You can edit your preferences so that your desired language environment
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-E
-\bar default
-dit\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references
+Edit\SpecialChar \menuseparator
+Preferences
 \end_layout
 
 \end_inset
@@ -5365,10 +5232,10 @@ references
 \end_layout
 
 \begin_layout Chapter
-Installing New Document Classes, Layouts, and Templates 
+Installing New Document Classes, Layouts, and Templates
 \begin_inset CommandInset label
 LatexCommand label
-name "chap:textclass"
+name "cha:Installing-New-Document"
 
 \end_inset
 
@@ -5389,160 +5256,228 @@ Installing New Document Classes
 In this chapter, we describe the procedures for creating and installing
  new LyX layout and template files, as well as offer a refresher on correctly
  installing new LaTeX document classes.
- Some definitions: a document class is a LaTeX file (usually ending in 
-\begin_inset Flex CharStyle:Code
+\end_layout
+
+\begin_layout Standard
+First, let us a say a few words about how one ought to think about the relation
+ between LyX and LaTeX.
+ The thing to understand is that, in a certain sense, LyX doesn't know anything
+ about LaTeX.
+ Indeed, from LyX's point of view, LaTeX is just one of several 
+\begin_inset Quotes eld
+\end_inset
+
+backend formats
+\begin_inset Quotes erd
+\end_inset
+
+ in which it is capable of producing output.
+ Other such formats are DocBook, plaintext, and XHTML.
+ LaTeX is, of course, a particularly important format, but very little of
+ the information LyX has about LaTeX is actually contained in the program
+ itself.
+\begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-.cls
+Some commands are sufficiently complex that they are 
+\begin_inset Quotes eld
+\end_inset
+
+hardcoded
+\begin_inset Quotes erd
+\end_inset
+
+ into LyX.
+ But the developers generally regard this as a Bad Thing.
 \end_layout
 
 \end_inset
 
- or 
+ Rather, that information, even for the standard classes like 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.sty
+article.cls
 \end_layout
 
 \end_inset
 
-) that describes the format of a document such as an article, report, journal
- preprint, etc, and all the commands needed to realize that format.
- A layout file is a LyX file that corresponds to a LaTeX document class
- and that tells LyX how to 
-\begin_inset Quotes eld
-\end_inset
+, is contained in layout files.
+ Similarly, LyX itself does not know much about DocBook or XHTML.
+\end_layout
 
-draw
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Standard
+You can think of the layout file for a given document class as a translation
+ manual between LyX constructs---paragraphs with their corresponding styles,
+ certain sorts of insets, etc---and the corresponding LaTeX, DocBook, or
+ XHTML constructs.
+ Almost everything LyX knows about 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
- things on the screen to make the display look something like the final
- printed page.
- More precisely, a layout file describes a 
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Plain Layout
+article.cls
+\end_layout
 
-text class
-\begin_inset Quotes erd
 \end_inset
 
- which is the internal construct LyX uses to render the screen display.
-\begin_inset Quotes eld
-\end_inset
+, for example, is contained in the file 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-Layout
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+article.layout
+\end_layout
 
- and 
-\begin_inset Quotes eld
 \end_inset
 
-text class
-\begin_inset Quotes erd
+ and in various other files it includes.
+ For this reason, anyone intending to write layout files should plan to
+ study the existing files.
+ A good place to start is with 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+stdsections.inc
+\end_layout
+
 \end_inset
 
- can be used somewhat interchangeably, but it is better to refer to the
- file as the layout, and the thing living in LyX's memory as the text class.
- A template file is simply a LyX document that contains a set of predefined
- entries for a given document class---entries that are generally required
- for that class.
- Templates are especially useful for things like journal manuscripts that
- are to be submitted electronically.
+, which is included in 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+article.layout
 \end_layout
 
-\begin_layout Section
-Installing a new LaTeX package
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+book.layout
 \end_layout
 
-\begin_layout Standard
-Some installations may not include a LaTeX package that you would like to
- use within LyX.
- For example, you might need FoilTeX, a package for preparing slides or
- viewgraphs for overhead projectors.
- Modern LaTeX distributions like TeXLive (2008 or newer) or MiKTeX provide
- a user interface for that.
- For example on MiKTeX you start its program 
-\begin_inset Quotes eld
 \end_inset
 
-Browse Packages
-\begin_inset Quotes erd
+, and many of the other layout files for document classes.
+ This file is where sections and the like are defined: 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+stdsections.inc
+\end_layout
+
 \end_inset
 
- to get a list of available packages.
- To install one, right click on it or use the installing toolbar button.
- When the package you want to install is not in the list, but you have it
- in form of a 
+ tells LyX how paragraphs that are marked with the Section, Subsection,
+ etc, styles can be translated into corresponding LaTeX, DocBook, and XHTML
+ commands and tags.
+ The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.cls
+article.layout
 \end_layout
 
 \end_inset
 
- or 
+ file basically just includes several of these 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.sty
+std*.inc
 \end_layout
 
 \end_inset
 
--file, then copy these files to a subfolder of your LaTeX distribution,
- for example to the folder 
-\family sans
-~
-\backslash
-tex
-\backslash
-latex
-\family default
-.
- Then update the file name database of your LaTeX-distribution.
- For example on MiKTeX this is done by pressing the button 
-\family sans
-Refresh
+ files.
+\end_layout
+
+\begin_layout Standard
+Defining the LyX--LaTeX correspondence is not the only thing layout files
+ do, though.
+ Their other job is to define how the LyX constructs themselves will appear
+ on-screen.
+ The fact that layout files have these two jobs is often a source of confusion,
+ because they are completely separate.
+ Telling LyX how to translate a certain paragraph style into LaTeX does
+ not tell LyX how to display it; conversely, telling LyX how to display
+ a certain paragraph style does not tell LyX how to translate it into LaTeX
+ (let alone tell LaTeX how to display it).
+ So, in general, when you define a new LyX construct, you must always do
+ two quite separate things: (i)
 \begin_inset space ~
 \end_inset
 
-FNDB
-\family default
- that you find in MiKTeX's 
-\begin_inset Quotes eld
+tell LyX how to translate it into LaTeX and (ii)
+\begin_inset space ~
 \end_inset
 
-Settings
-\begin_inset Quotes erd
+tell LyX how to display it.
+\end_layout
+
+\begin_layout Standard
+Much the same is true, of course, as regards LyX's other backend formats,
+ though XHTML is in some ways different, because in that case LyX 
+\emph on
+is
+\emph default
+ able, to some extent, to use information about how it should display a
+ paragraph on the screen to output information (in the form of CSS) about
+ how the paragraph should be displayed in a browser.
+ Even in this case, however, the distinction between what LyX does internally
+ and how things are rendered externally remains in force, and the two can
+ be controlled separately.
+ See 
+\begin_inset CommandInset ref
+LatexCommand prettyref
+reference "sec:Tags-for-XHTML"
+
 \end_inset
 
- program.
- In both cases you need afterwards to reconfigure LyX using the menu 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+ for the details.
+\end_layout
 
-\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Reconfigure
+\begin_layout Section
+Installing new LaTeX files
 \end_layout
 
+\begin_layout Standard
+Some installations may not include a LaTeX package or class file that you
+ would like to use within LyX.
+ For example, you might need FoilTeX, a package for preparing slides for
+ overhead projectors.
+ Modern LaTeX distributions like TeXLive (2008 or newer) or MiKTeX provide
+ a user interface for installing such packages.
+ For example, with MiKTeX, you start the program 
+\begin_inset Quotes eld
+\end_inset
+
+Browse Packages
+\begin_inset Quotes erd
 \end_inset
 
- and then to restart LyX.
+ to get a list of available packages.
+ To install one, right click on it or use the toolbar button to install
+ it.
 \end_layout
 
 \begin_layout Standard
-If your LaTeX distribution doesn't provide a user interface, then you can
- follow these steps by using a UNIX/Linux console.
+If your LaTeX distribution doesn't provide such a `package manager', or
+ if the file is not available from your distribution, then you can follow
+ these steps to install it manually.
 \end_layout
 
 \begin_layout Enumerate
@@ -5558,13 +5493,13 @@ target "http://www.ctan.org/"
 \end_layout
 
 \begin_layout Enumerate
-You can install this package in several different places.
+You can install the package in several different places.
  If you want it to be available for all users on your system, then you should
  install it in your `local' TeX tree; if you want (or need) it to be available
  just for you, then you can install it in your own `user' TeX tree.
- Where these should be created, if they do not already exist, depends upon
- the details of your system.
- To find out, look in the file 
+ Where these trees should be created, if they do not already exist, depends
upon the details of your system.
+ To find out where they are, look in the file 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -5604,7 +5539,7 @@ kpsewhich texmf.cnf
 
 \end_inset
 
- The location of the `local' TeX tree is defined by 
+ The location of the `local' TeX tree is defined by the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -5614,18 +5549,19 @@ TEXMFLOCAL
 
 \end_inset
 
-; this is usually somewhere like 
-\begin_inset Flex CharStyle:Code
+ variable; this is usually somewhere like 
+\begin_inset Flex URL
 status collapsed
 
 \begin_layout Plain Layout
+
 /usr/local/share/texmf/
 \end_layout
 
 \end_inset
 
 .
- The `user' TeX tree is defined by 
+ The location of the `user' TeX tree is defined by 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -5635,7 +5571,7 @@ TEXMFHOME
 
 \end_inset
 
- and is commonly at 
+ and is commonly 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -5647,7 +5583,7 @@ $HOME/texmf/
 
 .
  (If these variables are not predefined, you can define them.) You'll probably
- need root permissions to create or modify the `local' tree; but your `user'
+ need root permissions to create or modify the `local' tree, but your `user'
  tree shouldn't have such limitations.
 \end_layout
 
@@ -5682,7 +5618,11 @@ TEXMFHOME
 
 \end_inset
 
- variables; e.g.
+ variables; e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
 \begin_inset Newline newline
 \end_inset
 
@@ -5700,31 +5640,15 @@ TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN}
 \begin_inset Newline newline
 \end_inset
 
-But, again, most of this will 
-\begin_inset Quotes eld
-\end_inset
-
-just work
-\begin_inset Quotes erd
-\end_inset
-
-.
+It probably does.
 \end_layout
 
 \begin_layout Enumerate
-Create your local
-\begin_inset Foot
-status collapsed
-
-\begin_layout Plain Layout
-We'll assume henceforth that you're defining `local' TeX tree.
- If you're defining a user tree, just adjust as necessary.
-\end_layout
-
-\end_inset
-
- TeX tree.
- You must follow the directory structure of your existing 
+Your local and user trees 
+\emph on
+must
+\emph default
+ have the same sort of directory structure as your main existing 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -5744,446 +5668,396 @@ TEXMFMAIN
 
 \end_inset
 
-.
- For example, latex packages should go under 
+ (commonly, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$TEXMFLOCAL/tex/latex/
+/usr/share/texmf/
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Enumerate
-Install the package.
- For example, you would unpack the FoilTeX tarball and copy it to 
+.) For example, latex packages should go under 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$TEXMFLOCAL/tex/latex/foiltex
+$TEXMFLOCAL/tex/latex/
 \end_layout
 
 \end_inset
 
-.
- The 
+ or 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-foiltex
+$TEXMFHOME/tex/latex/
 \end_layout
 
 \end_inset
 
- directory contains various files.
+.
+ If you do not put them here, they probably will not work.
 \end_layout
 
 \begin_layout Enumerate
-Run: 
+Once your tree is properly set up, you can install the package into an appropria
+te location.
+ If you are lucky, your package will have been provided as a so-called `TDS'
+ (TeX Directory Structure) zip file.
+ To install it, you want to unzip it from the top of your tree.
+ So, for example, you can copy the file 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-texhash
+newpkg.zip
 \end_layout
 
 \end_inset
 
-.
- This should create 
+ to 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$TEXMFLOCAL/ls-R
+/home/yourname/texmf/
 \end_layout
 
 \end_inset
 
- amongst others.
-\end_layout
-
-\begin_layout Standard
-Your package is now installed and available to LaTeX.
- To make it available to LyX, you need to create a Layout file, if one is
- not already available.
- (See the next section.) Once you have a layout file, you need only reconfigure
- (
-\begin_inset Flex CharStyle:MenuItem
+ and then, from inside that directory, just run: 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Reconfigure
+unzip newpkg.zip
 \end_layout
 
 \end_inset
 
-) and then restart LyX.
- You should then see your new package---for example 
-\begin_inset Flex CharStyle:MenuItem
+.
+ This will extract the needed files and copy them where they need to be.
+\begin_inset Newline newline
+\end_inset
+
+If you do not have a TDS file, then you have to do this manually.
+ For example, you might install the FoilTeX files into 
+\begin_inset Flex URL
 status collapsed
 
 \begin_layout Plain Layout
-slides (FoilTeX)
+
+$TEXMFLOCAL/tex/latex/contrib/foiltex
 \end_layout
 
 \end_inset
 
----under 
-\begin_inset Flex CharStyle:MenuItem
+.
+ Why there? The CTAN download directories are themselves organized much
+ like a TeX tree, and it isn't a bad idea to follow its structure when you
+ install your own files.
+ FoilTeX, as it happens, is found at 
+\begin_inset Flex URL
 status collapsed
 
 \begin_layout Plain Layout
-Document\SpecialChar \menuseparator
-Settings
+
+http://ctan.org/texarchive/macros/latex/contrib/foiltex/
 \end_layout
 
 \end_inset
 
- in the 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Document Class
+.
 \end_layout
 
+\begin_layout Enumerate
+Finally, you must update the database TeX uses to find files.
+ On MiKTeX, this is done by pressing the button 
+\family sans
+Refresh
+\begin_inset space ~
 \end_inset
 
- drop box.
-\end_layout
+FNDB
+\family default
+ that you find in MiKTeX's 
+\begin_inset Quotes eld
+\end_inset
 
-\begin_layout Section
-Layouts
-\end_layout
+Settings
+\begin_inset Quotes erd
+\end_inset
 
-\begin_layout Standard
-This section describes how to write and install your own LyX layout files
- and walks through the 
+ program.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-article
+$TEXMFLOCAL/tex/latex/
 \end_layout
 
 \end_inset
 
- text class format as an example.
- The 
+.
+ Under TeXLive and the like, you should run 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.layout
-\end_layout
-
-\end_inset
-
- files describe what paragraph and character styles are available for a
- given document class and how LyX should display them.
- We try to provide a thorough description of the process here; however,
- there are so many different types of documents supported by LaTeX classes
- that we can't hope to cover every different possibility or problem you
- might encounter.
- (The LyX users' list is frequented by people with lots of experience with
- layout design who are willing to share what they've learned.)
+texhash
 \end_layout
 
-\begin_layout Standard
-As you prepare to write a new layout, it is extremely helpful to look at
- the example layouts distributed with LyX.
- If you use a nice LaTeX document class that might be of interest for others,
- too, and have a nice corresponding LyX layout, feel free to contribute
- the stuff to us, so we may put it into the distribution.
- There is also a 
-\begin_inset CommandInset href
-LatexCommand href
-name "section on the LyX wiki"
-target "http://wiki.lyx.org/Layouts/Layouts"
-
 \end_inset
 
- for this kind of material.
+ from a terminal, with root permissions if necessary.
 \end_layout
 
 \begin_layout Standard
-All the tags described in this chapter are case-insensitive; this means
- that 
+Your package is now installed and available to LaTeX.
+ You can verify this from a terminal by typing `
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Style
+kpsewhich yourfile.ext
 \end_layout
 
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:Code
+'.
+ To make LyX aware of it, however, you will need to reconfigure (
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-style
+Tools\SpecialChar \menuseparator
+Reconfigure
 \end_layout
 
 \end_inset
 
- and 
-\begin_inset Flex CharStyle:Code
+) and then restart LyX.
+ If the new package was a document class, such as FoilTeX again, you will
+ now see it available under 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-StYlE
+Document\SpecialChar \menuseparator
+Settings\SpecialChar \menuseparator
+Document Class
 \end_layout
 
 \end_inset
 
- are really the same command.
- The possible values are printed in brackets after the feature's name.
- The default value if a feature isn't specified inside a text class-description
- is typeset 
-\begin_inset Flex CharStyle:Code
+, in this case as 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-emphasized
+slides (FoilTeX)
 \end_layout
 
 \end_inset
 
 .
- If the argument has a datatype like 
-\begin_inset Quotes eld
-\end_inset
-
-string
-\begin_inset Quotes erd
-\end_inset
-
- or 
-\begin_inset Quotes eld
-\end_inset
-
-float
-\begin_inset Quotes erd
-\end_inset
-
-, the default is shown like this: 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-float=
-\emph on
-default
 \end_layout
 
-\end_inset
-
-.
+\begin_layout Standard
+What if there isn't a layout file is available for your new document class?
+ Then, unfortunately, LyX will know nothing about it until you create a
+ layout file yourself (or get someone else to do it).
+ That is the topic of the next section.
 \end_layout
 
-\begin_layout Subsection
-Layout modules
+\begin_layout Section
+Types of layout files
 \end_layout
 
 \begin_layout Standard
-Similar to layout files, and new with LyX 1.6, are layout 
-\emph on
-modules
-\emph default
-.
- Modules are to LaTeX packages much as layouts are to LaTeX classes, and
- some modules---such as the Endnotes module---provide support for just such
- a package.
- In a sense, layout modules are similar to included files---files like 
-\begin_inset Flex CharStyle:Code
-status collapsed
+This section describes the various sorts of LyX files that contain layout
+ information.
+ These files describe various paragraph and character styles, determining
+ how LyX should display them and how they should be translated into LaTeX,
+ DocBook, XHTML, or whatever output format is being used.
+\end_layout
 
-\begin_layout Plain Layout
-stdsections.inc
+\begin_layout Standard
+We shall try to provide a thorough description of the process of writing
+ layout files here.
+ However, there are so many different types of documents supported even
+ by just LaTeX that we can't hope to cover every different possibility or
+ problem you might encounter.
+ The LyX users' list is frequented by people with lots of experience with
+ layout design who are willing to share what they've learned, so please
+ feel free to ask questions there.
 \end_layout
 
+\begin_layout Standard
+As you prepare to write a new layout, it is extremely helpful to look at
+ the layouts distributed with LyX.
+ If you write a LyX layout for a LaTeX document class that might also be
+ used by others, or write a module that might be useful to others, then
+ you should consider posting your layout to the 
+\begin_inset CommandInset href
+LatexCommand href
+name "layout section on the LyX wiki"
+target "http://wiki.lyx.org/Layouts/Layouts"
+
 \end_inset
 
----in that modules are not specific to a given document layout but may be
- used with many different layouts.
- The difference is that using a layout module does not require editing the
- layout file.
- Rather, modules are selected in the 
-\begin_inset Flex CharStyle:MenuItem
+ or even to the LyX developers' list, so that it might be included in LyX
+ itself.
+\begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-Document\SpecialChar \menuseparator
-Settings
+Note that LyX is licensed under the General Public License, so any material
+ that is contribued to LyX must be similarly licensed.
 \end_layout
 
 \end_inset
 
- dialog.
-\end_layout
 
-\begin_layout Standard
-Building modules is the easiest way to get started with layout editing,
- since it can be as simple as adding a single new paragraph or flex inset.
- But modules may, in principle, contain anything a layout file can contain.
 \end_layout
 
-\begin_layout Standard
-A module must begin with a line like the following:
-\end_layout
+\begin_layout Subsection
+Layout modules
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Layout-modules"
+
+\end_inset
+
 
-\begin_layout LyX-Code
-#
-\backslash
-DeclareLyXModule[endnotes.sty]{Endnotes} 
 \end_layout
 
 \begin_layout Standard
-The argument in square brackets is optional: It declares any LaTeX packages
- on which the module depends.
- The mandatory argument, in curly brackets, is the name of the module, as
- it should appear in 
-\begin_inset Flex CharStyle:MenuItem
+We have spoken to this point about `layout files'.
+ But there are different sorts of files that contain layout information.
+ Layout files, strictly so called, have the 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Document\SpecialChar \menuseparator
-Settings
+.layout
 \end_layout
 
 \end_inset
 
-.
+ extension and provide LyX with information about document classes.
+ As of LyX 1.6, however, layout information can also be contained in layout
  
-\end_layout
+\emph on
+modules
+\emph default
+, which have the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Standard
-The module declaration should then be followed by lines like the following:
+\begin_layout Plain Layout
+.module
 \end_layout
 
-\begin_layout LyX-Code
-#DescriptionBegin 
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-#Adds an endnote command, in addition to footnotes.
-\end_layout
+ extension.
+ Modules are to LaTeX packages much as layouts are to LaTeX classes, and
+ some modules—such as the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout LyX-Code
-#You will need to add  
-\backslash
-theendnotes in ERT where you 
+\begin_layout Plain Layout
+endnotes
 \end_layout
 
-\begin_layout LyX-Code
-#want the endnotes to appear.
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-#DescriptionEnd 
-\end_layout
+ module—specifcally provide support for one package.
+ In a sense, layout modules are similar to included
+\begin_inset Foot
+status collapsed
 
-\begin_layout LyX-Code
-#Requires: somemodule | othermodule
-\end_layout
+\begin_layout Plain Layout
+These can have any extension, but by convention have the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout LyX-Code
-#Excludes: badmodule
+\begin_layout Plain Layout
+.inc
 \end_layout
 
-\begin_layout Standard
-The description is used in 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+\end_inset
 
-\begin_layout Plain Layout
-Document\SpecialChar \menuseparator
-Settings
+ extension.
 \end_layout
 
 \end_inset
 
- to provide the user with information about what the module does.
- The 
+ files—files like 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Requires
+stdsections.inc
 \end_layout
 
 \end_inset
 
- line is used to identify other modules with which this one must be used;
- the 
+—in that modules are not specific to a given document class but may be used
+ with many different classes.
+ The difference is that using an included file with 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Excludes
+article.cls
 \end_layout
 
 \end_inset
 
- line is used to identify modules with which this one may not be used.
- Both are optional, and, as shown, multiple modules should be separated
- with the pipe symbol: |.
- Note that the required modules are treated disjunctively: 
-\emph on
-at least one
-\emph default
- of the required modules must be used.
- Similarly, 
-\emph on
-no
-\emph default
- excluded module may be used.
- Note that modules are identified here by their 
-\emph on
-filenames
-\emph default
- without the .module extension.
- So 
-\begin_inset Flex CharStyle:Code
+ requires editing that file.
+ Modules, by contrast, are selected in the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-somemodule
+Document\SpecialChar \menuseparator
+Settings
 \end_layout
 
 \end_inset
 
- is really 
+ dialog.
+\end_layout
+
+\begin_layout Standard
+Building modules is the easiest way to get started with layout editing,
+ since it can be as simple as adding a single new paragraph style or flex
+ inset.
+ But modules may, in principle, contain anything a layout file can contain.
+\end_layout
+
+\begin_layout Standard
+After creating a new module and copying it to the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-somemodule.module
+layout/
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Standard
-After creating a new module, you will need to reconfigure and then restart
- LyX for the module to appear in the menu.
+ folder, you will need to reconfigure and then restart LyX for the module
+ to appear in the menu.
  However, changes you make to the module will be seen immediately, if you
  open 
 \begin_inset Flex CharStyle:MenuItem
@@ -6207,13 +6081,13 @@ OK
 .
  
 \emph on
-It is strongly recommended that you save your work before doing so
+It is strongly recommended that you save your work before doing this
 \emph default
 .
  In fact, 
 \emph on
 it is strongly recommended that you not attempt to edit modules while simultaneo
-usly working on documents
+usly working on actual documents
 \emph default
 .
  Though of course the developers strive to keep LyX stable in such situations,
@@ -6221,7 +6095,17 @@ usly working on documents
 \end_layout
 
 \begin_layout Subsection
-Supporting new document classes
+Layout for 
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+.sty
+\end_layout
+
+\end_inset
+
+ files
 \end_layout
 
 \begin_layout Standard
@@ -6248,48 +6132,65 @@ status collapsed
 
 ) files.
  Supporting a style file is usually fairly easy.
- Supporting a new document class is a bit harder.
+ Supporting a new class file is a bit harder.
+ We'll discuss the former in this section and the latter in the next.
+ Similar remarks apply, of course, if you want to support a new DocBook
+ DTD.
 \end_layout
 
-\begin_layout Subsection
-A layout for a 
+\begin_layout Standard
+The easier case is the one in which your new document class is provided
+ as a style file that is to be used in conjunction with an already supported
+ document class.
+ For the sake of the example, we'll assume that the style file is called
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-sty
+myclass.sty
 \end_layout
 
 \end_inset
 
- file
-\end_layout
-
-\begin_layout Standard
-If your new document class is provided as a style file that is used in conjuncti
-on with an existing, supported document class---for the sake of the example,
- we'll assume that the style file is called 
+ and that it is meant to be used with 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-myclass.sty
+report.cls
 \end_layout
 
 \end_inset
 
- and it is meant to be used with 
-\begin_inset Flex CharStyle:MenuItem
+, which is a standard class.
+\end_layout
+
+\begin_layout Standard
+Start by copying the existing class's layout file into your local directory:
+\begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-report.cls
+Of course, which directory is your local directory will vary by platform,
+ and LyX allows you to specify your local directory on startup, too, using
+ the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+-userdir
+\end_layout
+
+\end_inset
+
+ option.
 \end_layout
 
 \end_inset
 
-, which is a standard class---start by copying the existing class's layout
- file into your local directory:
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -6354,16 +6255,8 @@ Start LyX and select
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-R
-\bar default
-econfigure
+Tools\SpecialChar \menuseparator
+Reconfigure
 \end_layout
 
 \end_inset
@@ -6385,23 +6278,15 @@ report (myclass)
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
-
-\bar under
-S
-\bar default
-ettings
+Document\SpecialChar \menuseparator
+Settings
 \end_layout
 
 \end_inset
 
  dialog.
  It is likely that some of the sectioning commands and such in your new
- class will work differently from how they worked in the base class---
+ class will work differently from how they worked in the base class
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -6411,22 +6296,171 @@ report
 
 \end_inset
 
- in this example---so you can fiddle around with the settings for the different
+ in this exampleso you can fiddle around with the settings for the different
  sections if you wish.
+ The layout information for sections is contained in 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+stdsections.inc
+\end_layout
+
+\end_inset
+
+, but you do not need to copy and change this file.
+ Instead, you can simply add your changes to your layout file, after the
+ line 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Input stdclass.inc
+\end_layout
+
+\end_inset
+
+, which itself includes 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+stdsections.inc
+\end_layout
+
+\end_inset
+
+.
+ For example, you might add these lines:
+\end_layout
+
+\begin_layout LyX-Code
+Style Chapter
+\end_layout
+
+\begin_layout LyX-Code
+    Font
+\end_layout
+
+\begin_layout LyX-Code
+        Family Sans
+\end_layout
+
+\begin_layout LyX-Code
+    EndFont
+\end_layout
+
+\begin_layout LyX-Code
+End
+\end_layout
+
+\begin_layout Standard
+to change the font for chapter headings to sans-serif.
+ This will override (or, in this case, add to) the existing declaration
+ for the Chapter style.
+\end_layout
+
+\begin_layout Standard
+Your new package may also provide commands or environments not present in
+ the base class.
+ In this case, you will want to add these to the layout file.
+ See 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:TextClass"
+
+\end_inset
+
+ for information on how to do so.
+\end_layout
+
+\begin_layout Standard
+If 
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+myclass.sty
+\end_layout
+
+\end_inset
+
+ can be used with several different document classes, and even if it cannot,
+ you might find it easiest just to write a module that you can load with
+ the base class.
+ The simplest possible such module would be:
+\end_layout
+
+\begin_layout LyX-Code
+#
+\backslash
+DeclareLyXModule{My Package} 
+\end_layout
+
+\begin_layout LyX-Code
+#DescriptionBegin 
+\end_layout
+
+\begin_layout LyX-Code
+#Support for mypkg.sty.
+\end_layout
+
+\begin_layout LyX-Code
+#DescriptionEnd 
+\begin_inset Newline newline
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+Format 20
+\begin_inset Newline newline
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+Preamble
+\begin_inset Newline newline
+\end_inset
+
+    
+\backslash
+usepackage{mypkg}
+\begin_inset Newline newline
+\end_inset
+
+EndPreamble
+\end_layout
+
+\begin_layout Standard
+A more complex module might modify the behavior of some existing constructs
+ or define some new ones.
+ Again, see 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:TextClass"
+
+\end_inset
+
+ for discussion.
 \end_layout
 
 \begin_layout Subsection
-Layout for 
+Layout for 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-cls
+.cls
 \end_layout
 
 \end_inset
 
- file
+ files
 \end_layout
 
 \begin_layout Standard
@@ -6455,9 +6489,38 @@ LoadClass{book}
 \begin_layout Standard
 in the file.
  If so, then you may proceed largely as in the previous section, though
- the DeclareLaTeXClass line will be different.
- If your new class is thesis, and it is based upon book, then the line should
- read:
+ the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+DeclareLaTeXClass
+\end_layout
+
+\end_inset
+
+ line will be different.
+ If your new class is 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+thesis
+\end_layout
+
+\end_inset
+
+ and it is based upon 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+book
+\end_layout
+
+\end_inset
+
+, then the line should read:
 \begin_inset Foot
 status collapsed
 
@@ -6505,134 +6568,114 @@ roll your own
  Again, the specifics are covered below.
 \end_layout
 
-\begin_layout Section
-Declaring a new text class
-\end_layout
+\begin_layout Subsection
+Creating templates
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Creating-Templates"
+
+\end_inset
+
 
-\begin_layout Standard
-When it's finally time to get your hands dirty and create or edit your own
- layout file, the following sections describe what you're up against.
- Our advice is to go slowly, save and test often, listen to soothing music,
- and enjoy one or two of your favorite adult beverages; more if you are
- getting particularly stuck.
- It's really not that hard, except that the multitude of options can become
- overwhelming if you try to do to much in one sitting.
- Go have another adult beverage, just for good measure.
 \end_layout
 
 \begin_layout Standard
-Here we go!
+Once you have written a layout file for a new document class, you might
+ want to consider writing a 
+\emph on
+template
+\emph default
+ for it, too.
+ A template acts as a kind of tutorial for your layout, showing how it might
+ be used, though containing dummy content.
+ You can of course look at the various templates included with LyX for ideas.
 \end_layout
 
 \begin_layout Standard
-Lines in a layout file which begin with a 
+Templates are created just like usual documents: using LyX.
+ The only difference is that usual documents contain all possible settings,
+ including the font scheme and the paper size.
+ Usually a user doesn't want a template to overwrite his preferred settings
+ for such parameters.
+ For that reason, the designer of a template should remove the corresponding
+ commands like 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-#
-\end_layout
-
-\end_inset
-
- are comments.
- There is one exception to this rule: all layouts should begin with lines
- like:
-\end_layout
-
-\begin_layout LyX-Code
-
-\size small
-#% Do not delete the line below; configure depends on this 
-\end_layout
-
-\begin_layout LyX-Code
 
-\size small
-#  
 \backslash
-DeclareLaTeXClass{article}
+font_roman
 \end_layout
 
-\begin_layout Standard
-The second line is used when you configure LyX.
- The layout file is read by the LaTeX script 
+\end_inset
+
+ or 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-chkconfig.ltx
+
+\backslash
+papersize
 \end_layout
 
 \end_inset
 
-, in a special mode where 
+ from the template LyX file.
+ This can be done with any simple text-editor, for example 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-#
+vi
 \end_layout
 
 \end_inset
 
- is ignored.
- The first line is just a LaTeX comment, and the second one contains the
- declaration of the text class.
- If these lines appear in a file named 
+ or 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-article.layout
+notepad
 \end_layout
 
 \end_inset
 
-, then they define a text class of name 
+.
+\end_layout
+
+\begin_layout Standard
+Put the edited template files you create in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-article
+UserDir/templates/
 \end_layout
 
 \end_inset
 
- (the name of the layout file) which uses the LaTeX document class 
+, copy the ones you use from the global template directory in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-article.cls
+LyXDir/templates/
 \end_layout
 
 \end_inset
 
- (the default is to use the same name as the layout).
- The string 
-\begin_inset Quotes eld
-\end_inset
-
-article
-\begin_inset Quotes erd
-\end_inset
-
- that appears above is used as a description of the text class in the 
+ to the same place, and redefine the template path in the 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
-
-\bar under
-S
-\bar default
-ettings
+Tools\SpecialChar \menuseparator
+Preferences\SpecialChar \menuseparator
+Paths
 \end_layout
 
 \end_inset
@@ -6641,770 +6684,798 @@ ettings
 \end_layout
 
 \begin_layout Standard
-Let's assume that you wrote your own text class that uses the 
+Note, by the way, that there is a template which has a particular meaning:
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-article.cls
+defaults.lyx
 \end_layout
 
 \end_inset
 
- document class, but where you changed the appearance of the section headings.
- If you put it in a file 
-\begin_inset Flex CharStyle:Code
+.
+ This template is loaded every time you create a new document with 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-myarticle.layout
+File\SpecialChar \menuseparator
+New
 \end_layout
 
 \end_inset
 
-, the header of this file should be:
-\end_layout
-
-\begin_layout LyX-Code
+ in order to provide useful defaults.
+ To create this template from inside LyX, all you have to do is to open
+ a document with the correct settings, and use the 
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
 
-\size small
-#% Do not delete the line below; configure depends on this 
+\begin_layout Plain Layout
+Save as Document Defaults
 \end_layout
 
-\begin_layout LyX-Code
+\end_inset
 
-\size small
-#  
-\backslash
-DeclareLaTeXClass[article]{article (with my own headings)}
+ button.
 \end_layout
 
-\begin_layout Standard
-This declares a text class 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-myarticle
+\begin_layout Subsection
+Upgrading old layout files
 \end_layout
 
-\end_inset
-
-, associated with the LaTeX document class 
+\begin_layout Standard
+The format of layout files changes with each LyX release, so old layout
+ files need to be converted to the new format.
+ This process has been automated since LyX 1.4: If LyX reads a layout file
+ in an older format, it automatically calls the script 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-article.cls
+layout2layout.py
 \end_layout
 
 \end_inset
 
- and described as 
-\begin_inset Quotes eld
-\end_inset
-
-article (with my own headings)
-\begin_inset Quotes erd
-\end_inset
-
-.
- If your text class depends on several packages, you can declare it as:
+ to convert it to a temporary file in current format.
+ The original file is left untouched.
+ If you use the layout file often, then, you may want to convert it permanently,
+ so that LyX does not have to do so itself every time.
+ To do this, you can call the converter manually:
 \end_layout
 
 \begin_layout LyX-Code
-
-\size small
-#% Do not delete the line below; configure depends on this 
+mv myclass.layout myclass.old
 \end_layout
 
 \begin_layout LyX-Code
-
-\size small
-#  
-\backslash
-DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
+python LyXDir/scripts/layout2layout.py myclass.old myclass.layout
 \end_layout
 
 \begin_layout Standard
-This indicates that your text class uses the foo.sty package.
- Finally, it is also possible to declare classes for DocBook code.
- Typical declarations will look like
-\end_layout
-
-\begin_layout LyX-Code
+You need to replace 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\size small
-#% Do not delete the line below; configure depends on this 
+\begin_layout Plain Layout
+LyXDir
 \end_layout
 
-\begin_layout LyX-Code
+\end_inset
 
-\size small
-# 
-\backslash
-DeclareDocBookClass[article]{SGML (DocBook article)}
+ with the name of your LyX system directory, of course.
 \end_layout
 
 \begin_layout Standard
-Note that these declarations can also be given an optional parameter declaring
the name of the document class (but not a list).
+Note that manual conversion does not affect included files, so these will
have to be converted separately.
 \end_layout
 
-\begin_layout Standard
-So, to be as explicit as possible, the form of the layout declaration is:
-\end_layout
+\begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:TextClass"
 
-\begin_layout LyX-Code
+\end_inset
 
-\size small
-#  
-\backslash
-DeclareLaTeXClass[class,package.sty]{layout description}
+The layout file format
 \end_layout
 
 \begin_layout Standard
-The class need only be specified if the name of the LaTeX class file and
- the name of the layout file are different; if the name of the classfile
- is not specified, then LyX will simply assume that it is the same as the
- name of the layout file.
+When it's finally time to get your hands dirty and create or edit your own
+ layout file, the following sections describe what you're up against.
+ Our advice is to go slowly, save and test often, listen to soothing music,
+ and enjoy one or two of your favorite adult beverages; more if you are
+ getting particularly stuck.
+ It's really not that hard, except that the multitude of options can become
+ overwhelming if you try to do too much in one sitting.
+ Go have another adult beverage, just for good measure.
 \end_layout
 
 \begin_layout Standard
-When the text class has been modified to your taste, all you have to do
- is to copy it either to 
+Note that all the tags used in layout files are case-insensitive.
+ This means that 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LyXDir/layouts/
+Style
 \end_layout
 
 \end_inset
 
- or to 
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-UserDir/layouts
+style
 \end_layout
 
 \end_inset
 
-, run 
-\begin_inset Flex CharStyle:MenuItem
+ and 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
+StYlE
+\end_layout
 
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
+\end_inset
 
-\bar under
-R
-\bar default
-econfigure
+ are really the same tag.
+ The possible values are printed in brackets after the feature's name.
+ The default value if a feature isn't specified inside a text class-description
+ is typeset 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+emphasized
 \end_layout
 
 \end_inset
 
-, exit LyX and restart it.
- Then your new text class should be available along with the others.
-\end_layout
+.
+ If the argument has a data type like 
+\begin_inset Quotes eld
+\end_inset
 
-\begin_layout Standard
-In versions of LyX prior to 1.6, you had to restart LyX to see any changes
- you made to your layout files.
- As a result, editing layout files could be very time consuming.
- Beginning with 1.6, however, you can force a reload of the layout currently
- in use by using the LyX function 
-\begin_inset Flex CharStyle:MenuItem
+string
+\begin_inset Quotes erd
+\end_inset
+
+ or 
+\begin_inset Quotes eld
+\end_inset
+
+float
+\begin_inset Quotes erd
+\end_inset
+
+, the default is shown like this: 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-layout-reload
+float=
+\emph on
+default
 \end_layout
 
 \end_inset
 
 .
- There is no default binding for this function---though, of course, you
- can bind it to a key yourself.
- If you want to use this function, then, you should simply enter it in the
- mini-buffer.
-\emph on
-Warning
-\emph default
-: This is very much an `advanced feature'.
- It is 
-\emph on
-strongly
-\emph default
- recommended that you save your work before using this function.
- In fact, it is 
-\emph on
-strongly
-\emph default
- recommended that you not attempt to edit your layout while simultaneously
- working on a document that you care about.
- Use a test document.
- Syntax errors and the like in your layout file could cause peculiar behavior.
- In particular, such errors could cause LyX to regard the current layout
- as invalid and to attempt to switch to some other layout.
- The LyX team strives to keep LyX stable in such situations, but safe is
- better than sorry.
 \end_layout
 
 \begin_layout Subsection
-File format
+The Document Class Declaration
 \end_layout
 
 \begin_layout Standard
-The first non-comment line must contain the file format number:
-\end_layout
-
-\begin_layout Description
+Lines in a layout file which begin with 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Format
+#
 \end_layout
 
 \end_inset
 
- [
+ are comments.
+ There is one exception to this rule.
+ All 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-int
+*.layout
 \end_layout
 
 \end_inset
 
-] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
- don't have an explicit file format).
- The file format that is documented here is format 8.
+ files should begin with a line like:
 \end_layout
 
-\begin_layout Subsection
-General text class parameters
+\begin_layout LyX-Code
+
+\size small
+#% Do not delete the line below; configure depends on this 
 \end_layout
 
-\begin_layout Standard
-These are the general parameters which describe the form of the entire document:
+\begin_layout LyX-Code
+
+\size small
+#  
+\backslash
+DeclareLaTeXClass{article}
 \end_layout
 
-\begin_layout Description
+\begin_layout Standard
+The second line is used when you (re)configure LyX.
+ The layout file is read by the LaTeX script 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-AddToPreamble
+chkconfig.ltx
 \end_layout
 
 \end_inset
 
- Adds information to the document preamble.
- Must end with 
-\begin_inset Quotes eld
-\end_inset
-
-
+, in a special mode where 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-EndPreamble
+#
 \end_layout
 
 \end_inset
 
+ is ignored.
+ The first line is just a LaTeX comment, and the second one contains the
+ declaration of the text class.
+ If these lines appear in a file named 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_inset Quotes erd
-\end_inset
-
-.
+\begin_layout Plain Layout
+article.layout
 \end_layout
 
-\begin_layout Description
+\end_inset
+
+, then they define a text class of name 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-ClassOptions
+article
 \end_layout
 
 \end_inset
 
- Describes various global options supported by the document class.
- See Section
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:classoptions"
-
-\end_inset
-
- for a description.
- Must end with 
-\begin_inset Quotes eld
-\end_inset
-
-
+ (the name of the layout file) which uses the LaTeX document class 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-End
+article.cls
 \end_layout
 
 \end_inset
 
+ (the default is to use the same name as the layout).
+ The string 
+\begin_inset Quotes eld
+\end_inset
 
+article
 \begin_inset Quotes erd
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ that appears above is used as a description of the text class in the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-Columns
+Document\SpecialChar \menuseparator
+Settings
 \end_layout
 
 \end_inset
 
- [
+ dialog.
+\end_layout
+
+\begin_layout Standard
+Let's assume that you wrote your own text class that uses the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-1
+article.cls
 \end_layout
 
 \end_inset
 
-, 
+ document class, but where you changed the appearance of the section headings.
+ If you put it in a file 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-2
+myarticle.layout
 \end_layout
 
 \end_inset
 
-] Whether the class should default to having one or two columns.
- Can be changed in the 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
+, the header of this file should be:
+\end_layout
 
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
+\begin_layout LyX-Code
 
-\bar under
-S
-\bar default
-ettings
+\size small
+#% Do not delete the line below; configure depends on this 
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
 
- dialog.
+\size small
+#  
+\backslash
+DeclareLaTeXClass[article]{article (with my own headings)}
 \end_layout
 
-\begin_layout Description
+\begin_layout Standard
+This declares a text class 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Counter
+myarticle
 \end_layout
 
 \end_inset
 
- This sequence defines a new counter.
- See Section
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:counter"
-
-\end_inset
-
- for details.
- Must end with 
-\begin_inset Quotes eld
-\end_inset
-
-
+, associated with the LaTeX document class 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-End
+article.cls
 \end_layout
 
 \end_inset
 
+ and described as 
+\begin_inset Quotes eld
+\end_inset
 
+article (with my own headings)
 \begin_inset Quotes erd
 \end_inset
 
 .
+ If your text class depends on several packages, you can declare it as:
 \end_layout
 
-\begin_layout Description
+\begin_layout LyX-Code
+
+\size small
+#% Do not delete the line below; configure depends on this 
+\end_layout
+
+\begin_layout LyX-Code
+
+\size small
+#  
+\backslash
+DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
+\end_layout
+
+\begin_layout Standard
+This indicates that your text class uses the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-DefaultFont
+foo.sty
 \end_layout
 
 \end_inset
 
- Sets the default font used to display the document.
- See Section
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
+ package.
+ Finally, it is also possible to declare classes for DocBook code.
+ Typical declarations will look like:
+\end_layout
 
-\end_inset
+\begin_layout LyX-Code
 
- for how to declare fonts.
- Must end with 
-\begin_inset Quotes eld
-\end_inset
+\size small
+#% Do not delete the line below; configure depends on this 
+\end_layout
 
+\begin_layout LyX-Code
 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\size small
+# 
+\backslash
+DeclareDocBookClass[article]{SGML (DocBook article)}
+\end_layout
 
-\begin_layout Plain Layout
-EndFont
+\begin_layout Standard
+Note that these declarations can also be given an optional parameter declaring
+ the name of the document class (but not a list).
 \end_layout
 
-\end_inset
+\begin_layout Standard
+So, to be as explicit as possible, the form of the layout declaration is:
+\end_layout
 
+\begin_layout LyX-Code
 
-\begin_inset Quotes erd
-\end_inset
+\size small
+#  
+\backslash
+DeclareLaTeXClass[class,package.sty]{layout description}
+\end_layout
 
-.
+\begin_layout Standard
+The class need only be specified if the name of the LaTeX class file and
+ the name of the layout file are different; if the name of the class file
+ is not specified, then LyX will simply assume that it is the same as the
+ name of the layout file.
 \end_layout
 
-\begin_layout Description
+\begin_layout Standard
+When the text class has been modified to your taste, all you have to do
+ is to copy it either to 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-DefaultStyle
+LyXDir/layouts/
 \end_layout
 
 \end_inset
 
- [
+ or to 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+UserDir/layouts
 \end_layout
 
 \end_inset
 
-] This is the style that will be assigned to new paragraphs, usually 
+, run 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-Standard
+Tools\SpecialChar \menuseparator
+Reconfigure
 \end_layout
 
 \end_inset
 
-.
- This will default to the first defined style if not given, but you are
- highly encouraged to use this directive.
+, exit LyX and restart.
+ Then your new text class should be available along with the others.
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+Once the layout file is installed, you can edit it and see your changes
+ without having to reconfigure or to restart LyX.
+\begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-Float
+In versions of LyX prior to 1.6, this was not true.
+ As a result, editing layout files was very time consuming, since you had
+ constantly to restart LyX to see changes.
 \end_layout
 
 \end_inset
 
- Defines a new float.
- See Section
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:floats"
-
-\end_inset
-
- for details.
- Must end with 
-\begin_inset Quotes eld
-\end_inset
-
-
-\begin_inset Flex CharStyle:Code
+ You can force a reload of the current layout by using the LyX function
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-End
+layout-reload
 \end_layout
 
 \end_inset
 
-
-\begin_inset Quotes erd
-\end_inset
-
 .
+ There is no default binding for this function—though, of course, you can
+ bind it to a key yourself.
+ But you will normally use this function simply by entering it in the mini-buffe
+r.
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+
+\emph on
+Warning
+\emph default
+: 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-Input
+layout-reload
 \end_layout
 
 \end_inset
 
- As its name implies, this command allows you to include another layout
- definition file within yours to avoid duplicating commands.
- Common examples are the standard layout files, for example, 
-\begin_inset Flex CharStyle:Code
+ is very much an `advanced feature'.
+ It is 
+\emph on
+strongly
+\emph default
+ recommended that you save your work before using this function.
+ In fact, it is 
+\emph on
+strongly
+\emph default
+ recommended that you not attempt to edit layout information while simultaneousl
+y working on a document that you care about.
+ Use a test document.
+ Syntax errors and the like in your layout file could cause peculiar behavior.
+ In particular, such errors could cause LyX to regard the current layout
+ as invalid and to attempt to switch to some other layout.
+\begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-stdclass.inc
+Really bad syntax errors may even caused LyX to exit.
+ This is because certain sorts of errors may make LyX unable to read 
+\emph on
+any
+\emph default
+ layout information.
+ Please be careful.
 \end_layout
 
 \end_inset
 
-, which contains most of the basic layouts.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ The LyX team strives to keep LyX stable in such situations, but safe is
+ better than sorry.
+\begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-InsetLayout
+While we're giving advice: make regular backups.
+ And be nice to your mother.
 \end_layout
 
 \end_inset
 
- This section (re-)defines the layout of an inset.
- It can be applied to an existing inset of to a new, user-defined inset,
- e.g., a new character style.
- See Section
-\begin_inset space ~
-\end_inset
 
+\end_layout
 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:charstyle"
-
-\end_inset
+\begin_layout Subsection
+The Module Declaration
+\end_layout
 
- for more information.
- Must end with 
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Standard
+A module must begin with a line like the following:
+\end_layout
 
+\begin_layout LyX-Code
+#
+\backslash
+DeclareLyXModule[endnotes.sty]{Endnotes} 
+\end_layout
 
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+The mandatory argument, in curly brackets, is the name of the module, as
+ it should appear in 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-End
+Document\SpecialChar \menuseparator
+Settings
 \end_layout
 
 \end_inset
 
+.
+ The argument in square brackets is optional: It declares any LaTeX packages
+ on which the module depends.
+ Please note that only packages about which LyX knows should be listed in
+ the square brackets.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+The list of such packages is documented only in the source code.
+\end_layout
 
-\begin_inset Quotes erd
 \end_inset
 
-.
+ LyX will not check for arbitrary packages.
+ It is also possible to use the form 
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+from->to
 \end_layout
 
-\begin_layout Description
+\end_inset
+
+ as an optional argument, which declares that the module can only be used
+ when there exists a conversion chain between the formats `
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LeftMargin
+from
 \end_layout
 
 \end_inset
 
- A string that indicates the width of the left margin on the screen, for
- example, 
-\begin_inset Quotes eld
-\end_inset
+' and `
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+to
+\end_layout
 
-MMMMM
-\begin_inset Quotes erd
 \end_inset
 
-.
+'.
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Standard
+The module declaration should then be followed by lines like the following:
+\end_layout
 
-\begin_layout Plain Layout
-NoFloat
+\begin_layout LyX-Code
+#DescriptionBegin 
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+#Adds an endnote command, in addition to footnotes.
+\end_layout
 
- This command deletes an existing float.
- This is particularly useful when you want to suppress a float that has
- be defined in an input file.
+\begin_layout LyX-Code
+#You will need to add  
+\backslash
+theendnotes in TeX code where you 
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+#want the endnotes to appear.
+\end_layout
 
-\begin_layout Plain Layout
-NoStyle
+\begin_layout LyX-Code
+#DescriptionEnd 
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+#Requires: somemodule | othermodule
+\end_layout
 
- This command deletes an existing style.
- This is particularly useful when you want to suppress a style that has
- be defined in an input file.
+\begin_layout LyX-Code
+#Excludes: badmodule
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+The description is used in 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-OutputType
+Document\SpecialChar \menuseparator
+Settings
 \end_layout
 
 \end_inset
 
- A string indicating what sort of output documents using this class will
- produce.
- At present, the options are: `docbook', `latex', `linuxdoc', and `literate'.
-\end_layout
-
-\begin_layout Description
+ to provide the user with information about what the module does.
+ The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\series medium
-PageStyle
+Requires
 \end_layout
 
 \end_inset
 
- [
-\emph on
-
+ line is used to identify other modules with which this one must be used;
+ the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-plain
+Excludes
 \end_layout
 
 \end_inset
 
-
+ line is used to identify modules with which this one may not be used.
+ Both are optional, and, as shown, multiple modules should be separated
+ with the pipe symbol: |.
+ Note that the required modules are treated disjunctively: 
+\emph on
+at least one
 \emph default
-, 
+ of the required modules must be used.
+ Similarly, 
+\emph on
+no
+\emph default
+ excluded module may be used.
+ Note that modules are identified here by their 
+\emph on
+filenames
+\emph default
+ without the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-empty
+.module
 \end_layout
 
 \end_inset
 
-, 
+ extension.
+ So 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-headings
+somemodule
 \end_layout
 
 \end_inset
 
-] The class default pagestyle.
- Can be changed in the 
-\begin_inset Flex CharStyle:MenuItem
+ is really 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
+somemodule.module
+\end_layout
 
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
+\end_inset
 
-\bar under
-S
-\bar default
-ettings
+.
 \end_layout
 
-\end_inset
+\begin_layout Subsection
+File format
+\end_layout
 
- dialog.
+\begin_layout Standard
+The first non-comment line of any layout file, included file, or module
+\emph on
+must
+\emph default
+ contain the file format number:
 \end_layout
 
 \begin_layout Description
@@ -7412,52 +7483,66 @@ ettings
 status collapsed
 
 \begin_layout Plain Layout
-Preamble
+Format
 \end_layout
 
 \end_inset
 
- Sets the preamble for the LaTeX document.
- Note that this will completely override any prior 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Premable
+int
 \end_layout
 
 \end_inset
 
- or 
-\begin_inset Flex CharStyle:Code
-status collapsed
+] The format of the layout file.
+\end_layout
 
-\begin_layout Plain Layout
-AddToPreamble
+\begin_layout Standard
+This tag was introduced with LyX 1.4.0.
+ Layout files from LyX 1.3.x and earlier don't have an explicit file format
+ and are considered to be of format 1.
+ The format for the present version of LyX is format 20.
+ But each version of LyX is capable of reading earlier versions' layout
+ files, just as they are capable of reading files produced by earlier versions
+ of LyX.
+ There is, however, no provision for converting to earlier formats.
+ So LyX 1.6.x will not read layout files in format 20 but only files in format
+ 11 or earlier.
 \end_layout
 
-\end_inset
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:General-text-class"
 
- declarations.
- Must end with 
-\begin_inset Quotes eld
 \end_inset
 
+General text class parameters
+\end_layout
 
+\begin_layout Standard
+These are general parameters that govern the behavior of an entire document
+ class.
+ (This does 
+\emph on
+not
+\emph default
+ mean that they must appear in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-EndPreamble
+.layout
 \end_layout
 
 \end_inset
 
-
-\begin_inset Quotes erd
-\end_inset
-
-.
+ files rather than in modules.
+ A module can contain any layout tag.)
 \end_layout
 
 \begin_layout Description
@@ -7465,128 +7550,129 @@ EndPreamble
 status collapsed
 
 \begin_layout Plain Layout
-Provides
+AddToHTMLPreamble
 \end_layout
 
 \end_inset
 
- [
+ Adds information that will be output in the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+<head>
 \end_layout
 
 \end_inset
 
-] [
+ block when this document class is output to XHTML.
+ Typically, this would be used to output CSS style information, but it can
+ be used for anything that can appear in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-0
+<head>
 \end_layout
 
 \end_inset
 
-, 
+.
+ Must end with 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+EndPreamble
 \end_layout
 
 \end_inset
 
-] Whether the class already provides the feature 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-string
-\end_layout
 
+\begin_inset Quotes erd
 \end_inset
 
 .
- A feature is in general the name of a package (
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-amsmath
+AddToPreamble
 \end_layout
 
 \end_inset
 
-, 
+ Adds information to the document preamble.
+ Must end with 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-makeidx
+EndPreamble
 \end_layout
 
 \end_inset
 
-, \SpecialChar \ldots{}
-) or a macro (
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-url
+ClassOptions
 \end_layout
 
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
+ Describes various global options supported by the document class.
+ See Section
+\begin_inset space ~
+\end_inset
 
-\begin_layout Plain Layout
-boldsymbol
-\end_layout
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:ClassOptions"
 
 \end_inset
 
-,\SpecialChar \ldots{}
-); the complete list of supported features is unfortunately not documented
- outside the LyX source code---but see 
+ for a description.
+ Must end with 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LaTeXFeatures.cpp
+End
 \end_layout
 
 \end_inset
 
- if you're interested.
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
-
-\bar under
-L
-\bar default
-aTeX Configuration
-\end_layout
 
+\begin_inset Quotes erd
 \end_inset
 
- also gives an overview of the supported packages.
+.
 \end_layout
 
 \begin_layout Description
@@ -7594,7 +7680,7 @@ aTeX Configuration
 status collapsed
 
 \begin_layout Plain Layout
-Requires
+Columns
 \end_layout
 
 \end_inset
@@ -7604,46 +7690,40 @@ Requires
 status collapsed
 
 \begin_layout Plain Layout
-string
+
+\emph on
+1
 \end_layout
 
 \end_inset
 
-] Whether the class requires the feature
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
- string
+2
 \end_layout
 
 \end_inset
 
-.
- Multiple features must be separated by commas.
- Note that you can only request supported features.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+] Whether the class should 
+\emph on
+default
+\emph default
+ to having one or two columns.
+ Can be changed in the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-RightMargin
+Document\SpecialChar \menuseparator
+Settings
 \end_layout
 
 \end_inset
 
- A string that indicates the width of the right margin on the screen, for
- example, 
-\begin_inset Quotes eld
-\end_inset
-
-MMMMM
-\begin_inset Quotes erd
-\end_inset
-
-.
+ dialog.
 \end_layout
 
 \begin_layout Description
@@ -7651,83 +7731,58 @@ MMMMM
 status collapsed
 
 \begin_layout Plain Layout
-SecNumDepth
+Counter
 \end_layout
 
 \end_inset
 
- Sets which divisions get numbered.
- Corresponds to the 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-secnumdepth
+string
 \end_layout
 
 \end_inset
 
- counter in LaTeX.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Sides
-\end_layout
-
+] This sequence defines the properties for a counter.
+ If the counter does not yet exist, it is created; if it does exist, it
+ is modified.
+ Must end with 
+\begin_inset Quotes eld
 \end_inset
 
- [
-\emph on
 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-1
+End
 \end_layout
 
 \end_inset
 
 
-\emph default
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-2
-\end_layout
-
+\begin_inset Quotes erd
 \end_inset
 
-] Whether the class-default should be printing on one or both sides of the
- paper.
- Can be changed in the 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+.
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout Plain Layout
+See Section
+\begin_inset space ~
+\end_inset
 
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
 
-\bar under
-S
-\bar default
-ettings
-\end_layout
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
 
 \end_inset
 
dialog.
for details on counters.
 \end_layout
 
 \begin_layout Description
@@ -7735,13 +7790,12 @@ ettings
 status collapsed
 
 \begin_layout Plain Layout
-Style
+DefaultFont
 \end_layout
 
 \end_inset
 
- This sequence defines a new paragraph style.
- If the style already exists, it will redefine some of its parameters instead.
+ Sets the default font used to display the document.
  See Section
 \begin_inset space ~
 \end_inset
@@ -7749,11 +7803,11 @@ Style
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:style"
+reference "sub:Font-description"
 
 \end_inset
 
- for details.
+ for how to declare fonts.
  Must end with 
 \begin_inset Quotes eld
 \end_inset
@@ -7763,7 +7817,7 @@ reference "sec:style"
 status collapsed
 
 \begin_layout Plain Layout
-End
+EndFont
 \end_layout
 
 \end_inset
@@ -7780,7 +7834,7 @@ End
 status collapsed
 
 \begin_layout Plain Layout
-TitleLatexName
+DefaultModule
 \end_layout
 
 \end_inset
@@ -7790,22 +7844,26 @@ TitleLatexName
 status collapsed
 
 \begin_layout Plain Layout
-string="maketitle"
+string]
 \end_layout
 
 \end_inset
 
-] The name of the command or environment to be used with 
+ Specifies a module to be included by default with this document class.
+ The module should be specified by filename without the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-TitleLatexType
+.module
 \end_layout
 
 \end_inset
 
-.
+ extension.
+ The user can still remove the module, but it will be active at the outset.
+ (This applies only when new files are created, or when this class is chosen
+ for an existing document.)
 \end_layout
 
 \begin_layout Description
@@ -7813,7 +7871,7 @@ TitleLatexType
 status collapsed
 
 \begin_layout Plain Layout
-TitleLatexType
+DefaultStyle
 \end_layout
 
 \end_inset
@@ -7823,74 +7881,109 @@ TitleLatexType
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-CommandAfter
+string
 \end_layout
 
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:Code
+] This is the style that will be assigned to new paragraphs, usually 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-Environment
+Standard
 \end_layout
 
 \end_inset
 
-] Indicates what kind of markup is used to define the title of a document.
+.
+ This will default to the first defined style if not given, but you are
+ encouraged to use this directive.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-CommandAfter
+ExcludesModule
 \end_layout
 
 \end_inset
 
- means that the macro with name 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-TitleLatexName
+string
 \end_layout
 
 \end_inset
 
- will be inserted after the last layout which has 
-\begin_inset Quotes eld
-\end_inset
+] This tag indicates that the module in question—which should be specified
+ by filename without the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+.module
+\end_layout
 
+\end_inset
 
+ extension—cannot be used with this document class.
+ This might be used in a journal-specific layout file to prevent, say, the
+ use of the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-InTitle 1
+theorems-sec
 \end_layout
 
 \end_inset
 
+ module that numbers theorems by section.
+ This tag may 
+\emph on
+not
+\emph default
+ be used in a module.
+ Modules have their own way of excluding other modules (see 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Layout-modules"
 
-\begin_inset Quotes erd
 \end_inset
 
-.
+).
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Environment
+Float
 \end_layout
 
 \end_inset
 
- corresponds to the case where the block of paragraphs which have 
+ Defines a new float.
+ See Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Floats"
+
+\end_inset
+
+ for details.
+ Must end with 
 \begin_inset Quotes eld
 \end_inset
 
@@ -7899,7 +7992,7 @@ Environment
 status collapsed
 
 \begin_layout Plain Layout
-InTitle 1
+End
 \end_layout
 
 \end_inset
@@ -7908,100 +8001,80 @@ InTitle 1
 \begin_inset Quotes erd
 \end_inset
 
- should be enclosed into the 
+.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-TitleLatexName
+HTMLPreamble
 \end_layout
 
 \end_inset
 
- environment.
-\end_layout
-
-\begin_layout Description
+ Sets the information that will be output in the 
 \begin_inset Flex CharStyle:Code
-status open
+status collapsed
 
 \begin_layout Plain Layout
-TocDepth
+<head>
 \end_layout
 
 \end_inset
 
Sets which divisions are included in the table of contents.
- Corresponds to the 
block when this document class is output to XHTML.
+ Note that this will completely override any prior 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-tocdepth
+HTMLPreamble
 \end_layout
 
 \end_inset
 
- counter in LaTeX.
-\end_layout
-
-\begin_layout Description
+ or 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-UseModule
+AddToHTMLPreamble
 \end_layout
 
 \end_inset
 
- [
+ declarations.
+ (Use 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string]
+AddToHTMLPreamble
 \end_layout
 
 \end_inset
 
- Specifies a module to be included by default with this document class.
- The user can still remove the module, but it will be active at the outset.
- (This applies only when new files are created, or when this class is chosen
- for an existing document.)
-\end_layout
+ if you just want to add material to the preamble.) Must end with 
+\begin_inset Quotes eld
+\end_inset
+
 
-\begin_layout Subsection
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-ClassOptions
+EndPreamble
 \end_layout
 
 \end_inset
 
- section
-\end_layout
-
-\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:classoptions"
 
+\begin_inset Quotes erd
 \end_inset
 
-The 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-ClassOptions
-\end_layout
-
-\end_inset
-
- section can contain the following entries:
+.
 \end_layout
 
 \begin_layout Description
@@ -8009,7 +8082,7 @@ ClassOptions
 status collapsed
 
 \begin_layout Plain Layout
-FontSize
+IfCounter
 \end_layout
 
 \end_inset
@@ -8019,13 +8092,14 @@ FontSize
 status collapsed
 
 \begin_layout Plain Layout
-string="10|11|12"
+string
 \end_layout
 
 \end_inset
 
-] The list of available font sizes for the document's main font, separated
- by 
+] Modifies the properties of the given counter.
+ If the counter does not exist, the section is ignored.
+ Must end with 
 \begin_inset Quotes eld
 \end_inset
 
@@ -8034,7 +8108,7 @@ string="10|11|12"
 status collapsed
 
 \begin_layout Plain Layout
-|
+End
 \end_layout
 
 \end_inset
@@ -8044,28 +8118,21 @@ status collapsed
 \end_inset
 
 .
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Header
-\end_layout
-
+\begin_inset Newline newline
 \end_inset
 
- Used to set the DTD line with XML-based output classes.
- E.g.: PUBLIC 
-\begin_inset Quotes eld
+See Section
+\begin_inset space ~
 \end_inset
 
--//OASIS//DTD DocBook V4.2//EN
-\begin_inset Quotes erd
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
+
 \end_inset
 
-.
+ for details on counters.
 \end_layout
 
 \begin_layout Description
@@ -8073,7 +8140,7 @@ Header
 status collapsed
 
 \begin_layout Plain Layout
-PageStyle
+IfStyle
 \end_layout
 
 \end_inset
@@ -8083,12 +8150,14 @@ PageStyle
 status collapsed
 
 \begin_layout Plain Layout
-string="empty|plain|headings|fancy"
+string
 \end_layout
 
 \end_inset
 
-] The list of available page styles, separated by 
+] Modifies the properties of the given paragraph style.
+ If the style does not exist, the section is ignored.
+ Must end with 
 \begin_inset Quotes eld
 \end_inset
 
@@ -8097,7 +8166,7 @@ string="empty|plain|headings|fancy"
 status collapsed
 
 \begin_layout Plain Layout
-|
+End
 \end_layout
 
 \end_inset
@@ -8114,49 +8183,40 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-Other
-\end_layout
-
-\end_inset
-
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-string=""
+Input
 \end_layout
 
 \end_inset
 
-] Some document class options, separated by a comma, that will be added
- to the optional part of the 
+ As its name implies, this command allows you to include another layout
+ definition file within yours to avoid duplicating commands.
+ Common examples are the standard layout files, for example, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-documentclass
+stdclass.inc
 \end_layout
 
 \end_inset
 
- command.
+, which contains most of the basic layouts.
 \end_layout
 
-\begin_layout Standard
-The 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-ClassOptions
+InsetLayout
 \end_layout
 
 \end_inset
 
- section must end with 
+ This section (re-)defines the layout of an inset.
+ It can be applied to an existing inset or to a new, user-defined inset,
+ e.g., a new character style.
+ Must end with 
 \begin_inset Quotes eld
 \end_inset
 
@@ -8175,49 +8235,22 @@ End
 \end_inset
 
 .
-\end_layout
-
-\begin_layout Subsection
-Paragraph Styles
-\end_layout
-
-\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:style"
-
+\begin_inset Newline newline
 \end_inset
 
-A paragraph style description looks like this:
-\begin_inset Foot
-status collapsed
-
-\begin_layout Plain Layout
-Note that this will either define a new layout or modify an existing one.
-\end_layout
-
+See Section
+\begin_inset space ~
 \end_inset
 
 
-\end_layout
-
-\begin_layout LyX-Code
-Style 
-\family roman
-\emph on
-name
-\end_layout
-
-\begin_layout LyX-Code
- ...
-\end_layout
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Flex-insets-and"
 
-\begin_layout LyX-Code
-End
-\end_layout
+\end_inset
 
-\begin_layout Standard
-where the following commands are allowed:
+ for more information.
 \end_layout
 
 \begin_layout Description
@@ -8225,7 +8258,7 @@ where the following commands are allowed:
 status collapsed
 
 \begin_layout Plain Layout
-Align
+LeftMargin
 \end_layout
 
 \end_inset
@@ -8235,16 +8268,30 @@ Align
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-block
-\emph default
-, left, right, center
+string
 \end_layout
 
 \end_inset
 
-] Paragraph alignment.
+] A string that indicates the width of the left margin on the screen, for
+ example, 
+\begin_inset Quotes eld
+\end_inset
+
+MMMMM
+\begin_inset Quotes erd
+\end_inset
+
+.
+ (Note that this is not a `length', like 
+\begin_inset Quotes eld
+\end_inset
+
+2ex
+\begin_inset Quotes erd
+\end_inset
+
+.)
 \end_layout
 
 \begin_layout Description
@@ -8252,29 +8299,29 @@ block
 status collapsed
 
 \begin_layout Plain Layout
-AlignPossible
+NoFloat
 \end_layout
 
 \end_inset
 
- [
+ This command deletes an existing float.
+ This is particularly useful when you want to suppress a float that has
+ been defined in an input file.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-block
-\emph default
-, left, right, center
+NoStyle
 \end_layout
 
 \end_inset
 
-] A comma separated list of permitted alignments.
- (Some LaTeX styles prohibit certain alignments, since those wouldn't make
- sense.
- For example a right-aligned or centered enumeration isn't possible.)
+ This command deletes an existing style.
+ This is particularly useful when you want to suppress a style that has
+ be defined in an input file.
 \end_layout
 
 \begin_layout Description
@@ -8282,35 +8329,36 @@ block
 status collapsed
 
 \begin_layout Plain Layout
-BottomSep
+OutputFormat
 \end_layout
 
 \end_inset
 
- [
+ A string indicating the file format (as defined in the Preferences dialog)
+ produced by this class.
+ It is mainly useful when 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-float=0
+OutputType
 \end_layout
 
 \end_inset
 
-]
-\begin_inset Foot
+ is `literate' and one wants to define a new type of literate document.
+ This string is reset to `docbook', `latex', or `literate' when the correspondin
+g 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Note that a `float' here is a real number, such as: 1.5.
+OutputType
 \end_layout
 
 \end_inset
 
- The vertical space with which the last of a chain of paragraphs with this
- layout is separated from the following paragraph.
- If the next paragraph has another layout, the separations are not simply
- added, but the maximum is taken.
+ parameter is encountered.
 \end_layout
 
 \begin_layout Description
@@ -8318,26 +8366,14 @@ Note that a `float' here is a real number, such as: 1.5.
 status collapsed
 
 \begin_layout Plain Layout
-Category
-\end_layout
-
-\end_inset
-
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-[string]
+OutputType
 \end_layout
 
 \end_inset
 
- The category for this style.
- This is used to group related styles in the Layout combobox on the toolbar.
- Any string can be used, but you may want to use existing categories with
- your own styles.
+ A string indicating what sort of output documents using this class will
+ produce.
+ At present, the options are: `docbook', `latex', and `literate'.
 \end_layout
 
 \begin_layout Description
@@ -8345,76 +8381,60 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-CommandDepth
+PageStyle
 \end_layout
 
 \end_inset
 
- Depth of XML command.
- Used only with XML-type formats.
-\end_layout
+ [
+\emph on
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-CopyStyle
-\end_layout
-
-\end_inset
 
-\begin_inset CommandInset label
-LatexCommand label
-name "des:CopyStyle"
+\emph on
+plain
+\end_layout
 
 \end_inset
 
 
+\emph default
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-[string]
+empty
 \end_layout
 
 \end_inset
 
- Copies all the features of an existing style into the current one.
-\end_layout
-
-\begin_layout Description
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-DependsOn
+headings
 \end_layout
 
 \end_inset
 
- The name of a style whose preamble should be output 
-\emph on
-before
-\emph default
- this one.
- This allows to ensure some ordering of the preamble snippets when macros
- definitions depend on one another.
-\begin_inset Foot
+] The default pagestyle.
+ Can be changed in the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-Note that, besides that functionality, there is no way to ensure any ordering
- of preambles.
- The ordering that you see in a given version of LyX may change without
- warning in later versions.
+Document\SpecialChar \menuseparator
+Settings
 \end_layout
 
 \end_inset
 
-
+ dialog.
 \end_layout
 
 \begin_layout Description
@@ -8422,83 +8442,94 @@ Note that, besides that functionality, there is no way to ensure any ordering
 status collapsed
 
 \begin_layout Plain Layout
-EndLabeltype
+Preamble
 \end_layout
 
 \end_inset
 
- [
+ Sets the preamble for the LaTeX document.
+ Note that this will completely override any prior 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-No_Label
-\emph default
-, Box, Filled_Box, Static
-\end_layout
+Preamble
+\end_layout
 
 \end_inset
 
-] The type of label that stands at the end of the paragraph (or sequence
- of paragraphs if 
+ or 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LatexType
+AddToPreamble
 \end_layout
 
 \end_inset
 
- is 
+ declarations.
+ (Use 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Environment
+AddToPreamble
 \end_layout
 
 \end_inset
 
-, 
+ if you just want to add material to the preamble.) Must end with 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Item_Environment
+EndPreamble
 \end_layout
 
 \end_inset
 
- or 
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-List_Environment
+Provides
 \end_layout
 
 \end_inset
 
-).
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-No_Label
+string
 \end_layout
 
 \end_inset
 
- means 
-\begin_inset Quotes eld
-\end_inset
+] [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
 
-nothing
-\begin_inset Quotes erd
 \end_inset
 
 , 
@@ -8506,83 +8537,88 @@ nothing
 status collapsed
 
 \begin_layout Plain Layout
-Box
+1
 \end_layout
 
 \end_inset
 
- (resp.
+] Whether the class already provides the feature 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-\begin_inset space ~
-\end_inset
-
-Filled_Box
+string
 \end_layout
 
 \end_inset
 
-) is a white (resp.
-\begin_inset space ~
-\end_inset
-
-black) square suitable for end of proof markers, 
+.
+ A feature is in general the name of a package (
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Static
+amsmath
 \end_layout
 
 \end_inset
 
- is an explicit text string.
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+makeidx
 \end_layout
 
-\begin_layout Description
+\end_inset
+
+, \SpecialChar \ldots{}
+) or a macro (
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-EndLabelString
+url
 \end_layout
 
 \end_inset
 
- [
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string=""
+boldsymbol
 \end_layout
 
 \end_inset
 
-] The string used for a label with a 
+,\SpecialChar \ldots{}
+); the complete list of supported features is unfortunately not documented
+ outside the LyX source code—but see 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Static
+LaTeXFeatures.cpp
 \end_layout
 
 \end_inset
 
+ if you're interested.
  
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-EndLabelType
+Help\SpecialChar \menuseparator
+LaTeX Configuration
 \end_layout
 
 \end_inset
 
-.
+ also gives an overview of the supported packages.
 \end_layout
 
 \begin_layout Description
@@ -8590,7 +8626,7 @@ EndLabelType
 status collapsed
 
 \begin_layout Plain Layout
-Fill_Bottom
+ProvidesModule
 \end_layout
 
 \end_inset
@@ -8600,109 +8636,83 @@ Fill_Bottom
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-0
-\emph default
-,1
+string
 \end_layout
 
 \end_inset
 
-] Similar to 
+] Indicates that this layout provides the functionality of the module mentioned,
+ which should be specified by the filename without the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Fill_Top
+.module
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Description
+ extension.
+ This will typically be used if the layout includes the module directly,
+ rather than using the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Fill_Top
+DefaultModule
 \end_layout
 
 \end_inset
 
- [
+ tag to indicate that it ought to be used.
+ It could also be used in a module that provided an alternate implementation
+ of the same functionality.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-0
-\emph default
-,1
+Requires
 \end_layout
 
 \end_inset
 
-] With this parameter the 
-\begin_inset Flex CharStyle:MenuItem
+ [
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Fill
+string
 \end_layout
 
 \end_inset
 
- value of the 
-\begin_inset Quotes eld
-\end_inset
-
-Vertical space above
-\begin_inset Quotes erd
-\end_inset
-
- list of the 
-\begin_inset Flex CharStyle:MenuItem
+] Whether the class requires the feature 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-E
-\bar default
-dit\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-aragraph
-\begin_inset space ~
-\end_inset
-
-Settings
+string
 \end_layout
 
 \end_inset
 
- dialog can be set when initializing a paragraph with this style.
-\begin_inset Foot
+.
+ Multiple features must be separated by commas.
+ Note that you can only request supported features.
+ (Again, see 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-Note from Jean-Marc:
-\emph default
- I'm not sure that this setting has much use, and it should probably be
- removed in later versions.
+LaTeXFeatures.cpp
 \end_layout
 
 \end_inset
 
+ for a list of these.)
 \end_layout
 
 \begin_layout Description
@@ -8710,50 +8720,45 @@ Note from Jean-Marc:
 status collapsed
 
 \begin_layout Plain Layout
-Font
+RightMargin
 \end_layout
 
 \end_inset
 
- The font used for both the text body 
-\emph on
-and
-\emph default
- the label.
- See section
-\begin_inset space ~
+ A string that indicates the width of the right margin on the screen, for
+ example, 
+\begin_inset Quotes eld
 \end_inset
 
-
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
-
+MMMMM
+\begin_inset Quotes erd
 \end_inset
 
 .
- Note that defining this font automatically defines the 
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelFont
+SecNumDepth
 \end_layout
 
 \end_inset
 
to the same value.
So you should define this one first if you also want to defin
Sets which divisions get numbered.
Corresponds to th
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelFont
+secnumdepth
 \end_layout
 
 \end_inset
 
-.
+ counter in LaTeX.
 \end_layout
 
 \begin_layout Description
@@ -8761,19 +8766,12 @@ LabelFont
 status collapsed
 
 \begin_layout Plain Layout
-FreeSpacing
+Sides
 \end_layout
 
 \end_inset
 
-\begin_inset CommandInset label
-LatexCommand label
-name "des:FreeSpacing"
-
-\end_inset
-
-[
+ [
 \emph on
 
 \begin_inset Flex CharStyle:Code
@@ -8782,7 +8780,7 @@ status collapsed
 \begin_layout Plain Layout
 
 \emph on
-0
+1
 \end_layout
 
 \end_inset
@@ -8794,29 +8792,25 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-1
+2
 \end_layout
 
 \end_inset
 
-] Usually LyX doesn't allow you to insert more than one space between words,
- since a space is considered as the separation between two words, not a
- character or symbol of its own.
- This is a very fine thing but sometimes annoying, for example, when typing
- program code or plain LaTeX code.
- For this reason, 
-\begin_inset Flex CharStyle:Code
+] Whether the class-default should be printing on one or both sides of the
+ paper.
+ Can be changed in the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-FreeSpacing
+Document\SpecialChar \menuseparator
+Settings
 \end_layout
 
 \end_inset
 
- can be enabled.
- Note that LyX will create protected blanks for the additional blanks when
- in another mode than LaTeX-mode.
+ dialog.
 \end_layout
 
 \begin_layout Description
@@ -8824,55 +8818,48 @@ FreeSpacing
 status collapsed
 
 \begin_layout Plain Layout
-InnerTag
+Style
 \end_layout
 
 \end_inset
 
- [[FIXME]] (Used only with XML-type formats.)
-\end_layout
+ This sequence defines a paragraph style.
+ If the style does not yet exist, it is created; if it does exist, its parameter
+s are modified.
+ Must end with 
+\begin_inset Quotes eld
+\end_inset
+
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-InTitle
+End
 \end_layout
 
 \end_inset
 
-\begin_inset Flex CharStyle:Code
-status collapsed
 
-\begin_layout Plain Layout
-[1, 0]
-\end_layout
+\begin_inset Quotes erd
+\end_inset
 
+.
+\begin_inset Newline newline
 \end_inset
 
- If 1, marks the layout as being part of a title block (see also the 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-TitleLatexType
-\end_layout
-
+See Section
+\begin_inset space ~
 \end_inset
 
- and 
-\begin_inset Flex CharStyle:Code
-status collapsed
 
-\begin_layout Plain Layout
-TitleLatexName
-\end_layout
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Styles"
 
 \end_inset
 
global entries).
for details on paragraph styles.
 \end_layout
 
 \begin_layout Description
@@ -8880,7 +8867,7 @@ TitleLatexName
 status collapsed
 
 \begin_layout Plain Layout
-ItemSep
+TitleLatexName
 \end_layout
 
 \end_inset
@@ -8890,230 +8877,193 @@ ItemSep
 status collapsed
 
 \begin_layout Plain Layout
-float=0
+string="maketitle"
 \end_layout
 
 \end_inset
 
-] This provides extra space between paragraphs that have the same layout.
- If you put other layouts into an environment, each is separated with the
- environment's 
+] The name of the command or environment to be used with 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Parsep
+TitleLatexType
 \end_layout
 
 \end_inset
 
 .
- But the whole items of the environment are additionally separated with
- this 
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Itemsep
+TitleLatexType
 \end_layout
 
 \end_inset
 
-.
- Note that this is a
-\emph on
- multiplier.
-\end_layout
-
-\begin_layout Description
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-ItemTag
+
+\emph on
+CommandAfter
 \end_layout
 
 \end_inset
 
- [[FIXME]] (Used only with XML-type formats.)
-\end_layout
-
-\begin_layout Description
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-KeepEmpty
+Environment
 \end_layout
 
 \end_inset
 
+] Indicates what kind of markup is used to define the title of a document.
  
-\begin_inset CommandInset label
-LatexCommand label
-name "des:KeepEmpty"
-
-\end_inset
-
-[
-\emph on
-
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-0
+CommandAfter
 \end_layout
 
 \end_inset
 
-
-\emph default
-, 
+ means that the macro with name 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+TitleLatexName
 \end_layout
 
 \end_inset
 
-] Usually LyX does not allow you to leave a paragraph empty, since it would
- lead to empty LaTeX output.
- There are some cases where this could be desirable however: in a letter
- template, the required fields can be provided as empty fields, so that
- people do not forget them; in some special classes, a layout can be used
- as some kind of break, which does not contain actual text.
-\end_layout
+ will be inserted after the last layout which has 
+\begin_inset Quotes eld
+\end_inset
+
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelBottomsep
+InTitle 1
 \end_layout
 
 \end_inset
 
- [float=0] The vertical space between the label and the text body.
- Only used for labels that are above the text body (
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Top_Environment
-\end_layout
 
+\begin_inset Quotes erd
 \end_inset
 
-, 
+.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Centered_Top_Environment
+Environment
 \end_layout
 
 \end_inset
 
-).
-\end_layout
+ corresponds to the case where the block of paragraphs which have 
+\begin_inset Quotes eld
+\end_inset
+
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelCounter
+InTitle 1
 \end_layout
 
 \end_inset
 
- [
+
+\begin_inset Quotes erd
+\end_inset
+
+ should be enclosed into the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string=""
+TitleLatexName
 \end_layout
 
 \end_inset
 
-]
-\begin_inset Newline newline
-\end_inset
-
-The name of the counter for automatic numbering (see Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:counter"
-
-\end_inset
+ environment.
+\end_layout
 
- for details).
- This must be given if 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Labeltype
+TocDepth
 \end_layout
 
 \end_inset
 
- is 
+ Sets which divisions are included in the table of contents.
+ Corresponds to the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Counter
+tocdepth
 \end_layout
 
 \end_inset
 
-.
+ counter in LaTeX.
 \end_layout
 
-\begin_layout Description
+\begin_layout Subsection
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelFont
+ClassOptions
 \end_layout
 
 \end_inset
 
- The font used for the label.
- See section
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
+ section
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:ClassOptions"
 
 \end_inset
 
-.
+
 \end_layout
 
-\begin_layout Description
+\begin_layout Standard
+The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelIndent
+ClassOptions
 \end_layout
 
 \end_inset
 
- Text that indicates how far a label should be indented.
+ section can contain the following entries:
 \end_layout
 
 \begin_layout Description
@@ -9121,7 +9071,7 @@ LabelIndent
 status collapsed
 
 \begin_layout Plain Layout
-Labelsep
+FontSize
 \end_layout
 
 \end_inset
@@ -9131,128 +9081,106 @@ Labelsep
 status collapsed
 
 \begin_layout Plain Layout
-string=""
+string="10|11|12"
 \end_layout
 
 \end_inset
 
-] The horizontal space between the label and the text body.
- Only used for labels that are not above the text body.
-\end_layout
+] The list of available font sizes for the document's main font, separated
+ by 
+\begin_inset Quotes eld
+\end_inset
+
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelString
+|
 \end_layout
 
 \end_inset
 
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-string=""
-\end_layout
 
+\begin_inset Quotes erd
 \end_inset
 
-] The string used for a label with a 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Static
+.
 \end_layout
 
-\end_inset
-
- labeltype.
- When 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelCounter
+Header
 \end_layout
 
 \end_inset
 
- is set, this string can be contain the special formatting commands described
- in Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:counter"
+ Used to set the DTD line with XML-based output classes.
+ E.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.: PUBLIC 
+\begin_inset Quotes eld
+\end_inset
 
+-//OASIS//DTD DocBook V4.2//EN
+\begin_inset Quotes erd
 \end_inset
 
 .
-\begin_inset Foot
-status collapsed
+\end_layout
 
-\begin_layout Plain Layout
-For the sake of backwards compatibility, the string 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-@
-\emph on
-style-name
-\emph default
-@
+PageStyle
 \end_layout
 
 \end_inset
 
- will be replaced by the expanded 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelString
+string="empty|plain|headings|fancy"
 \end_layout
 
 \end_inset
 
- of style 
+] The list of available page styles, separated by 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-style-name
+|
 \end_layout
 
 \end_inset
 
-.
- This feature is now obsolete and should be replaced by the mechanisms of
- Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:counter"
 
+\begin_inset Quotes erd
 \end_inset
 
 .
 \end_layout
 
-\end_inset
-
-
-\end_layout
-
 \begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelStringAppendix
+Other
 \end_layout
 
 \end_inset
@@ -9267,51 +9195,96 @@ string=""
 
 \end_inset
 
-] This is used inside the appendix instead of 
+] Some document class options, separated by a comma, that will be added
+ to the optional part of the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelString
+
+\backslash
+documentclass
 \end_layout
 
 \end_inset
 
-.
- Note that every 
+ command.
+\end_layout
+
+\begin_layout Standard
+The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelString
+ClassOptions
 \end_layout
 
 \end_inset
 
- statement resets 
+ section must end with 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelStringAppendix
+End
 \end_layout
 
 \end_inset
 
- too.
+
+\begin_inset Quotes erd
+\end_inset
+
+.
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Subsection
+Paragraph Styles
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Paragraph-Styles"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+A paragraph style description looks like this:
+\begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-LabelTag
+Note that this will either define a new layout or modify an existing one.
 \end_layout
 
 \end_inset
 
- [FIXME] (Used only with XML-type formats.)
+
+\end_layout
+
+\begin_layout LyX-Code
+Style 
+\family roman
+\emph on
+name
+\end_layout
+
+\begin_layout LyX-Code
+ ...
+\end_layout
+
+\begin_layout LyX-Code
+End
+\end_layout
+
+\begin_layout Standard
+where the following commands are allowed:
 \end_layout
 
 \begin_layout Description
@@ -9319,7 +9292,7 @@ LabelTag
 status collapsed
 
 \begin_layout Plain Layout
-Labeltype
+Align
 \end_layout
 
 \end_inset
@@ -9331,208 +9304,242 @@ status collapsed
 \begin_layout Plain Layout
 
 \emph on
-No_Label
+block
 \emph default
-, Manual, Static, Top_Environment, 
-\begin_inset Newline newline
-\end_inset
-
-Centered_Top_Environment, Sensitive, Counter
+, left, right, center
 \end_layout
 
 \end_inset
 
-] 
-\begin_inset Newline newline
-\end_inset
-
+] Paragraph alignment.
+\end_layout
 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Manual
+AlignPossible
 \end_layout
 
 \end_inset
 
- means the label is the very first word (up to the first real blank).
-\begin_inset Foot
+ [
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Use protected spaces if you want more than one word as the label.
+
+\emph on
+block
+\emph default
+, left, right, center
 \end_layout
 
 \end_inset
 
+] A comma separated list of permitted alignments.
+ (Some LaTeX styles prohibit certain alignments, since those wouldn't make
+ sense.
+ For example a right-aligned or centered enumeration isn't possible.)
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Static
+BabelPreamble
 \end_layout
 
 \end_inset
 
- means it is defined in the layout (see 
+ Language dependent information to be included in the LaTeX preamble when
+ this style is used.
+ Note that this will completely override any prior 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelString
+BabelPreamble
 \end_layout
 
 \end_inset
 
-).
+ declarations.
+ Must end with 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Top_Environment
+EndBabelPreamble
 \end_layout
 
 \end_inset
 
- and 
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ The contents of this tag will occur once in the LaTeX preamble for each
+ language used by the document.
+ Each time, the following substitutions are made:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Centered_Top_Environment
+$$lang
 \end_layout
 
 \end_inset
 
- are special cases of 
+ is replaced by the language name (as used by the babel package).
+\end_layout
+
+\begin_layout Itemize
+The 
+\begin_inset Quotes eld
+\end_inset
+
+Function
+\begin_inset Quotes erd
+\end_inset
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Static
+_()
 \end_layout
 
 \end_inset
 
-.
- The label will be printed above the paragraph, but only at the top of an
- environment or the top of a chain of paragraphs with this layout.
- Usage is for example the 
-\begin_inset Flex CharStyle:MenuItem
+ replaces its argument by the translation of the argument to the current
+ language.
+\end_layout
+
+\begin_layout Standard
+This preamble snippet will only be used if the document contains more than
+ one language and the babel package is used.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Abstract
+BottomSep
 \end_layout
 
 \end_inset
 
- layout or the 
-\begin_inset Flex CharStyle:MenuItem
+ [
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Bibliography
+float=0
 \end_layout
 
 \end_inset
 
- layout.
- This is also the case for 
-\begin_inset Flex CharStyle:Code
+]
+\begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-Manual
+Note that a `float' here is a real number, such as: 1.5.
 \end_layout
 
 \end_inset
 
- labels with latex type 
+ The vertical space with which the last of a chain of paragraphs with this
+ layout is separated from the following paragraph.
+ If the next paragraph has another layout, the separations are not simply
+ added, but the maximum is taken.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Environment
+Category
 \end_layout
 
 \end_inset
 
-, in order to make layouts for theorems work correctly.
  
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Sensitive
+[string]
 \end_layout
 
 \end_inset
 
- is a special case for the caption-labels 
-\begin_inset Quotes eld
-\end_inset
-
-Figure
-\begin_inset Quotes erd
-\end_inset
-
- and 
-\begin_inset Quotes eld
-\end_inset
-
-Table
-\begin_inset Quotes erd
-\end_inset
-
-.
+ The category for this style.
+ This is used to group related styles in the Layout combobox on the toolbar.
+ Any string can be used, but you may want to use existing categories with
+ your own styles.
  
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Sensitive
+CommandDepth
 \end_layout
 
 \end_inset
 
- means the (hardcoded) label string depends on the kind of float.
- The 
+ Depth of XML command.
+ Used only with XML-type formats.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Counter
+CopyStyle
 \end_layout
 
 \end_inset
 
- label type defines automatically numbered labels.
- See Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:counter"
+\begin_inset CommandInset label
+LatexCommand label
+name "des:CopyStyle"
 
 \end_inset
 
-.
-\end_layout
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LatexName
+[string]
 \end_layout
 
 \end_inset
 
The name of the corresponding LaTeX stuff.
- Either the environment or command name.
Copies all the features of an existing style into the current one.
 \end_layout
 
 \begin_layout Description
@@ -9540,23 +9547,31 @@ LatexName
 status collapsed
 
 \begin_layout Plain Layout
-LatexParam
+DependsOn
 \end_layout
 
 \end_inset
 
- An optional parameter for the corresponding 
-\begin_inset Flex CharStyle:Code
+ The name of a style whose preamble should be output 
+\emph on
+before
+\emph default
+ this one.
+ This allows to ensure some ordering of the preamble snippets when macros
+ definitions depend on one another.
+\begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-LatexName
+Note that, besides that functionality, there is no way to ensure any ordering
+ of preambles.
+ The ordering that you see in a given version of LyX may change without
+ warning in later versions.
 \end_layout
 
 \end_inset
 
- stuff.
- This parameter cannot be changed from within LyX.
+
 \end_layout
 
 \begin_layout Description
@@ -9564,251 +9579,204 @@ LatexName
 status collapsed
 
 \begin_layout Plain Layout
-LatexType
+EndLabeltype
 \end_layout
 
 \end_inset
 
-\begin_inset CommandInset label
-LatexCommand label
-name "des:LatexType"
-
-\end_inset
-
-[
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
 
 \emph on
-Paragraph
+No_Label
 \emph default
-, Command, Environment, Item_Environment,
+, Box, Filled_Box, Static
 \end_layout
 
 \end_inset
 
+] The type of label that stands at the end of the paragraph (or sequence
+ of paragraphs if 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-List_Environment
+LatexType
 \end_layout
 
 \end_inset
 
-] How the layout should be translated into LaTeX.
+ is 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Paragraph
+Environment
 \end_layout
 
 \end_inset
 
- means nothing special.
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Command
+Item_Environment
 \end_layout
 
 \end_inset
 
- means 
+ or 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-
-\emph on
-LatexName
-\emph default
-{\SpecialChar \ldots{}
-}
+List_Environment
 \end_layout
 
 \end_inset
 
- and 
+).
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Environment
+No_Label
 \end_layout
 
 \end_inset
 
  means 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-
-\backslash
-begin{
-\emph on
-LatexName
-\emph default
-}\SpecialChar \ldots{}
-
-\backslash
-end{
-\emph on
-LatexName
-\emph default
-}
-\end_layout
+\begin_inset Quotes eld
+\end_inset
 
+nothing
+\begin_inset Quotes erd
 \end_inset
 
-.
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Item_Environment
+Box
 \end_layout
 
 \end_inset
 
- is the same as 
+ (resp.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Environment
+\begin_inset space ~
+\end_inset
+
+Filled_Box
 \end_layout
 
 \end_inset
 
-, except that a 
+) is a white (resp.
+\begin_inset space ~
+\end_inset
+
+black) square suitable for end of proof markers, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-item
+Static
 \end_layout
 
 \end_inset
 
- is generated for each paragraph of this environment.
+ is an explicit text string.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-List_Environment
+EndLabelString
 \end_layout
 
 \end_inset
 
- is the same as 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Item_Environment
+string=""
 \end_layout
 
 \end_inset
 
-, except that 
+] The string used for a label with a 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelWidthString
+Static
 \end_layout
 
 \end_inset
 
- is passed as an argument to the environment.
  
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelWidthString
+EndLabelType
 \end_layout
 
 \end_inset
 
- can be defined in the 
-\begin_inset Flex CharStyle:MenuItem
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-L
-\bar default
-ayout\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-aragraph
+Fill_Bottom
 \end_layout
 
 \end_inset
 
- dialog.
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
 
 \emph on
-LatexType
+0
+\emph default
+,1
 \end_layout
 
 \end_inset
 
- is perhaps a bit misleading, since these rules apply to SGML classes, too.
- Visit the SGML class files for specific examples.
-\end_layout
-
-\begin_layout Standard
-Putting the last few things together, the LaTeX output will be either: 
-\end_layout
-
-\begin_layout LyX-Code
-
-\backslash
-latexname[latexparam]{\SpecialChar \ldots{}
-}
-\end_layout
+] Similar to 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Standard
-or: 
+\begin_layout Plain Layout
+Fill_Top
 \end_layout
 
-\begin_layout LyX-Code
-
-\backslash
-begin{latexname}[latexparam] \SpecialChar \ldots{}
-\backslash
-end{latexname}.
-\end_layout
+\end_inset
 
-\begin_layout Standard
-depending upon the LaTex type.
+.
 \end_layout
 
 \begin_layout Description
@@ -9816,7 +9784,7 @@ depending upon the LaTex type.
 status collapsed
 
 \begin_layout Plain Layout
-LeftMargin
+Fill_Top
 \end_layout
 
 \end_inset
@@ -9826,103 +9794,115 @@ LeftMargin
 status collapsed
 
 \begin_layout Plain Layout
-string=""
-\end_layout
-
-\end_inset
-
-] If you put layouts into environments, the leftmargins are not simply added,
- but added with a factor 
-\begin_inset Formula $\frac{4}{depth+4}$
-\end_inset
-
-.
- Note that this parameter is also used when the margin is defined as 
-\begin_inset Flex CharStyle:Code
-status collapsed
 
-\begin_layout Plain Layout
-Manual
+\emph on
+0
+\emph default
+,1
 \end_layout
 
 \end_inset
 
- or 
-\begin_inset Flex CharStyle:Code
+] With this parameter the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-Dynamic
+Fill
 \end_layout
 
 \end_inset
 
-.
- Then it is added to the manual or dynamic margin.
-\begin_inset Newline newline
-\end_inset
-
-The argument is passed as a string.
- For example 
+ value of the 
 \begin_inset Quotes eld
 \end_inset
 
+Vertical space above
+\begin_inset Quotes erd
+\end_inset
 
-\begin_inset Flex CharStyle:Code
+ list of the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-MM
+Edit\SpecialChar \menuseparator
+Paragraph
+\begin_inset space ~
+\end_inset
+
+Settings
 \end_layout
 
 \end_inset
 
+ dialog can be set when initializing a paragraph with this style.
+\begin_inset Foot
+status collapsed
 
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+
+\emph on
+Note from Jean-Marc:
+\emph default
+ I'm not sure that this setting has much use, and it should probably be
+ removed in later versions.
+\end_layout
 
- means that the paragraph is indented with the width of 
-\begin_inset Quotes eld
 \end_inset
 
+\end_layout
 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-MM
+Font
 \end_layout
 
 \end_inset
 
-
-\begin_inset Quotes erd
+ The font used for both the text body 
+\emph on
+and
+\emph default
+ the label.
+ See section
+\begin_inset space ~
 \end_inset
 
- in the normal font.
- You can get a negative width by prefixing the string with 
-\begin_inset Quotes eld
-\end_inset
 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
+
+\end_inset
 
+.
+ Note that defining this font automatically defines the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
--
+LabelFont
 \end_layout
 
 \end_inset
 
+ to the same value.
+ So you should define this one first if you also want to define 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelFont
+\end_layout
 
-\begin_inset Quotes erd
 \end_inset
 
 .
- This way was chosen so that the look is the same with each used screen
- font.
 \end_layout
 
 \begin_layout Description
@@ -9930,146 +9910,122 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-Margin
+FreeSpacing
 \end_layout
 
 \end_inset
 
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-
-\emph on
-Static
-\emph default
-, Manual, Dynamic, First_Dynamic, Right_Address_Box
-\end_layout
+\begin_inset CommandInset label
+LatexCommand label
+name "des:FreeSpacing"
 
 \end_inset
 
-] 
-\begin_inset Newline newline
-\end_inset
+[
+\emph on
 
-The kind of margin that the layout has on the left side.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Static
+
+\emph on
+0
 \end_layout
 
 \end_inset
 
- just means a fixed margin.
+
+\emph default
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Manual
+1
 \end_layout
 
 \end_inset
 
- means that the left margin depends on the string entered in the 
-\begin_inset Flex CharStyle:MenuItem
+] Usually LyX doesn't allow you to insert more than one space between words,
+ since a space is considered as the separation between two words, not a
+ character or symbol of its own.
+ This is a very fine thing but sometimes annoying, for example, when typing
+ program code or plain LaTeX code.
+ For this reason, 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
+FreeSpacing
+\end_layout
 
-\bar under
-E
-\bar default
-dit\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-aragraph
-\begin_inset space ~
 \end_inset
 
-Settings
+ can be enabled.
+ Note that LyX will create protected blanks for the additional blanks when
+ in another mode than LaTeX-mode.
 \end_layout
 
-\end_inset
-
- dialog.
- This is used to typeset nice lists without tabulators.
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Dynamic
+HTML*
 \end_layout
 
 \end_inset
 
- means that the margin depends on the size of the label.
- This is used for automatic enumerated headlines.
- It is obvious that the headline 
-\begin_inset Quotes eld
-\end_inset
-
-5.4.3.2.1 Very long headline
-\begin_inset Quotes erd
-\end_inset
+ These tags are used with XHTML output.
+ See 
+\begin_inset CommandInset ref
+LatexCommand prettyref
+reference "sub:Paragraph-Style-XHTML"
 
- must have a wider left margin (as wide as 
-\begin_inset Quotes eld
 \end_inset
 
-5.4.3.2.1
-\begin_inset Quotes erd
-\end_inset
+.
+\end_layout
 
- plus the space) than 
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-3.2 Very long headline
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+InnerTag
+\end_layout
 
-, even if standard 
-\begin_inset Quotes eld
 \end_inset
 
-word processors
-\begin_inset Quotes erd
-\end_inset
+ [[FIXME]] (Used only with XML-type formats.)
+\end_layout
 
- are not able to do this.
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-First_Dynamic
+InPreamble
 \end_layout
 
 \end_inset
 
- is similar, but only the very first row of the paragraph is dynamic, while
- the others are static; this is used, for example, for descriptions.
  
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Right_Address_Box
+[1, 0]
 \end_layout
 
 \end_inset
 
- means the margin is chosen in a way that the longest row of this paragraph
- fits to the right margin.
- This is used to typeset an address on the right edge of the page.
+ If 1, marks the layout as to be included in the document preamble rather
+ than in the document body.
+ This is useful for document classes that want such information as the title
+ and author to appear in the preamble.
 \end_layout
 
 \begin_layout Description
@@ -10077,51 +10033,42 @@ Right_Address_Box
 status collapsed
 
 \begin_layout Plain Layout
-NeedProtect
+InTitle
 \end_layout
 
 \end_inset
 
- [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-0
+[1, 0]
 \end_layout
 
 \end_inset
 
-,
+ If 1, marks the layout as being part of a title block (see also the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+TitleLatexType
 \end_layout
 
 \end_inset
 
-] Whether fragile commands in this layout should be 
+ and 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-protect
+TitleLatexName
 \end_layout
 
 \end_inset
 
-'ed.
- (Note: This is 
-\emph on
-not
-\emph default
- whether this command should itself be protected.)
+ global entries).
 \end_layout
 
 \begin_layout Description
@@ -10129,7 +10076,7 @@ not
 status collapsed
 
 \begin_layout Plain Layout
-Newline
+ItemSep
 \end_layout
 
 \end_inset
@@ -10139,40 +10086,39 @@ Newline
 status collapsed
 
 \begin_layout Plain Layout
-0
+float=0
 \end_layout
 
 \end_inset
 
-, 
+] This provides extra space between paragraphs that have the same layout.
+ If you put other layouts into an environment, each is separated with the
+ environment's 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-1
+Parsep
 \end_layout
 
 \end_inset
 
-] Whether newlines are translated into LaTeX newlines (
+.
+ But the whole items of the environment are additionally separated with
+ this 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-
-\backslash
-
+Itemsep
 \end_layout
 
 \end_inset
 
-) or not.
- The translation can be switched off to allow more comfortable LaTeX editing
- inside LyX.
+.
+ Note that this is a
+\emph on
+ multiplier.
 \end_layout
 
 \begin_layout Description
@@ -10180,55 +10126,63 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-NextNoIndent
+ItemTag
 \end_layout
 
 \end_inset
 
- [
+ [[FIXME]] (Used only with XML-type formats.)
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+KeepEmpty
 \end_layout
 
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_inset CommandInset label
+LatexCommand label
+name "des:KeepEmpty"
 
-\begin_layout Plain Layout
+\end_inset
 
+[
 \emph on
-0
-\end_layout
-
-\end_inset
 
-] Whether the following Paragraph is allowed to indent its very first row.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+
+\emph on
+0
 \end_layout
 
 \end_inset
 
- means that it is not allowed to do so; 
+
+\emph default
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-0
+1
 \end_layout
 
 \end_inset
 
- means it could do so if it wants to.
+] Usually LyX does not allow you to leave a paragraph empty, since it would
+ lead to empty LaTeX output.
+ There are some cases where this could be desirable however: in a letter
+ template, the required fields can be provided as empty fields, so that
+ people do not forget them; in some special classes, a layout can be used
+ as some kind of break, which does not contain actual text.
 \end_layout
 
 \begin_layout Description
@@ -10236,38 +10190,33 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-ObsoletedBy
+LabelBottomsep
 \end_layout
 
 \end_inset
 
- Name of a layout that has replaced this layout.
- This is used to rename a layout, while keeping backward compatibility.
-\end_layout
-
-\begin_layout Description
+ [float=0] The vertical space between the label and the text body.
+ Only used for labels that are above the text body (
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-OptionalArgs
+Top_Environment
 \end_layout
 
 \end_inset
 
- [
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-int=0
+Centered_Top_Environment
 \end_layout
 
 \end_inset
 
-] The number of optional arguments that can be used with this layout.
- This is useful for things like section headings, and only makes sense with
- LaTeX.
+).
 \end_layout
 
 \begin_layout Description
@@ -10275,7 +10224,7 @@ int=0
 status collapsed
 
 \begin_layout Plain Layout
-ParIndent
+LabelCounter
 \end_layout
 
 \end_inset
@@ -10290,156 +10239,180 @@ string=""
 
 \end_inset
 
-] The indent of the very first line of a paragraph.
- The 
+]
+\begin_inset Newline newline
+\end_inset
+
+The name of the counter for automatic numbering.
+\begin_inset Newline newline
+\end_inset
+
+This 
+\emph on
+must
+\emph default
+ be given if 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Parindent
+LabelType
 \end_layout
 
 \end_inset
 
- will be fixed for a certain layout.
- The exception is Standard layout, since the indentation of a Standard layout
- paragraph can be prohibited with 
+ is 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-NextNoIndent
+Counter
 \end_layout
 
 \end_inset
 
 .
- Also, Standard layout paragraphs inside environments use the 
+ In that case, the counter will be stepped each time the layout appears.
+\begin_inset Newline newline
+\end_inset
+
+This 
+\emph on
+may
+\emph default
+ also be given if 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Parindent
+LabelType
 \end_layout
 
 \end_inset
 
- of the environment, not their native one.
- For example, Standard paragraphs inside an enumeration are not indented.
-\end_layout
-
-\begin_layout Description
+ is 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Parsep
+Enumerate
 \end_layout
 
 \end_inset
 
- [
+, though this case is a bit complicated.
+ Suppose you declare 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-float=0
+LabelCounter myenum
 \end_layout
 
 \end_inset
 
-] The vertical space between two paragraphs of this layout.
-\end_layout
 
-\begin_layout Description
+\begin_inset Quotes erd
+\end_inset
+
+.
+ Then the actual counters used are 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Parskip
+myenumi
 \end_layout
 
 \end_inset
 
- [
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-float=0
+myenumii
 \end_layout
 
 \end_inset
 
-] LyX allows the user to choose either 
-\begin_inset Quotes eld
-\end_inset
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-indent
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+myenumiii
+\end_layout
 
- or 
-\begin_inset Quotes eld
 \end_inset
 
-skip
-\begin_inset Quotes erd
-\end_inset
+, and 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
- to typeset a document.
- When 
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Plain Layout
+myenumiv
+\end_layout
 
-indent
-\begin_inset Quotes erd
 \end_inset
 
- is chosen, this value is completely ignored.
- When 
-\begin_inset Quotes eld
+, much as in LaTeX.
+ These counters must all be declared separately.
+\begin_inset Newline newline
 \end_inset
 
-skip
-\begin_inset Quotes erd
-\end_inset
+See Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
 
- is chosen, the parindent of a LaTeXtype 
-\begin_inset Quotes eld
 \end_inset
 
-Paragraph
-\begin_inset Quotes erd
-\end_inset
+ for details on counters.
+\end_layout
 
- layout is ignored and all paragraphs are separated by this parskip argument.
- The vertical space is calculated with 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-value
+LabelFont
+\end_layout
+
+\end_inset
+
+ The font used for the label.
+ See section
 \begin_inset space ~
 \end_inset
 
-* DefaultHeight
-\end_layout
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
 
 \end_inset
 
- where 
+.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-DefaultHeight
+LabelIndent
 \end_layout
 
 \end_inset
 
- is the height of a row with the normal font.
- This way, the look stays the same with different screen fonts.
+ Text that indicates how far a label should be indented.
 \end_layout
 
 \begin_layout Description
@@ -10447,146 +10420,130 @@ DefaultHeight
 status collapsed
 
 \begin_layout Plain Layout
-PassThru
+Labelsep
 \end_layout
 
 \end_inset
 
-\begin_inset CommandInset label
-LatexCommand label
-name "des:PathThru"
-
-\end_inset
-
-[
-\emph on
-
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-0
+string=""
 \end_layout
 
 \end_inset
 
+] The horizontal space between the label and the text body.
+ Only used for labels that are not above the text body.
+\end_layout
 
-\emph default
-, 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+LabelString
 \end_layout
 
 \end_inset
 
-] Whether the contents of this paragraph should be output in raw form, meaning
- without special translations that LaTeX would require.
-\end_layout
-
-\begin_layout Description
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Preamble
+string=""
 \end_layout
 
 \end_inset
 
-\begin_inset CommandInset label
-LatexCommand label
-name "des:Preamble"
+] The string used for a label with a 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\end_inset
+\begin_layout Plain Layout
+Static
+\end_layout
 
-Information to be included in the LaTeX preamable when this style is used.
- Used to define macros, load packages, etc., required by this particular
- style.
- Must end with 
-\begin_inset Quotes eld
 \end_inset
 
-
+ labeltype.
+ When 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-EndPreamble
+LabelCounter
 \end_layout
 
 \end_inset
 
+ is set, this string can be contain the special formatting commands described
+ in Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
 
-\begin_inset Quotes erd
 \end_inset
 
 .
-\end_layout
+\begin_inset Foot
+status collapsed
 
-\begin_layout Description
+\begin_layout Plain Layout
+For the sake of backwards compatibility, the string 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Requires 
+@
+\emph on
+style-name
+\emph default
+@
 \end_layout
 
 \end_inset
 
-[
+ will be replaced by the expanded 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+LabelString
 \end_layout
 
 \end_inset
 
-] 
-\begin_inset CommandInset label
-LatexCommand label
-name "des:Requires"
-
-\end_inset
-
-Whether the layout requires the feature 
+ of style 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+
+\emph on
+style-name
 \end_layout
 
 \end_inset
 
 .
- See the description of 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Provides
-\end_layout
+ This feature is now obsolete and should be replaced by the mechanisms of
+ Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
 
 \end_inset
 
- above (page 
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:FreeSpacing"
+.
+\end_layout
 
 \end_inset
 
-) for information on `features'.
+
 \end_layout
 
 \begin_layout Description
@@ -10594,7 +10551,7 @@ reference "des:FreeSpacing"
 status collapsed
 
 \begin_layout Plain Layout
-RightMargin
+LabelStringAppendix
 \end_layout
 
 \end_inset
@@ -10609,360 +10566,314 @@ string=""
 
 \end_inset
 
-] Similar to 
+] This is used inside the appendix instead of 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LeftMargin
+LabelString
 \end_layout
 
 \end_inset
 
 .
-\end_layout
-
-\begin_layout Description
+ Note that every 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Spacing
+LabelString
 \end_layout
 
 \end_inset
 
- [
+ statement resets 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-single
-\emph default
-, onehalf, double, other
+LabelStringAppendix
 \end_layout
 
 \end_inset
 
-\emph on
-value
-\emph default
-] This defines what the default spacing should be in the layout.
- The arguments 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-single
+ too.
 \end_layout
 
-\end_inset
-
-, 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-onehalf
+LabelTag
 \end_layout
 
 \end_inset
 
- and 
+ [FIXME] (Used only with XML-type formats.)
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-double
+LabelType
 \end_layout
 
 \end_inset
 
- correspond respectively to a multiplier value of 1, 1.25 and 1.667.
- If you specify the argument 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-other
+
+\emph on
+No_Label
+\emph default
+, Manual, Static, Top_Environment, Centered_Top_Environment, Counter, Sensitive,
+ Enumerate, Itemize, Bibliography
 \end_layout
 
 \end_inset
 
-, then you should also provide a numerical argument which will be the actual
- multiplier value.
- Note that, contrary to other parameters, 
+] 
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Spacing
+Manual
 \end_layout
 
 \end_inset
 
- implies the generation of specific LaTeX code, using the package 
-\family roman
+ means the label is the very first word (up to the first real blank).
+ Use protected spaces (like
+\begin_inset space ~
+\end_inset
+
+that one) if you want more than one word as the label.
+\end_layout
 
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-setspace.sty
+Static
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Description
+ means the label is simply whatever 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-TextFont
+LabelString
 \end_layout
 
 \end_inset
 
- The font used for the text body .
- See section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
-
-\end_inset
-
-.
+ declares it to be.
+ Note that this really is `static'.
 \end_layout
 
-\begin_layout Description
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\series medium
-TocLevel [int]
+Top_Environment
 \end_layout
 
 \end_inset
 
- The level of the style in the table of contents.
- This is used for automatic numbering of section headings.
-\end_layout
-
-\begin_layout Description
+ and 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-TopSep
+Centered_Top_Environment
 \end_layout
 
 \end_inset
 
- [
+ are special cases of 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-float=0
+Static
 \end_layout
 
 \end_inset
 
-] The vertical space with which the very first of a chain of paragraphs
- with this layout is separated from the previous paragraph.
- If the previous paragraph has another layout, the separations are not simply
- added, but the maximum is taken.
-\end_layout
+.
+ The label will be printed above the paragraph, but only at the top of an
+ environment or the top of a chain of paragraphs with this layout.
+ This might be used with the 
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
 
-\begin_layout Subsection
-Floats
+\begin_layout Plain Layout
+Abstract
 \end_layout
 
-\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:floats"
-
 \end_inset
 
-Since version 1.3.0 of LyX, it is has been both possible and necessary to
- define the floats (
-\begin_inset Flex CharStyle:MenuItem
+ layout, for example.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-figure
+Sensitive
 \end_layout
 
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+ is a special case for the caption-labels 
+\begin_inset Quotes eld
+\end_inset
 
-\begin_layout Plain Layout
-table
-\end_layout
+Figure
+\begin_inset Quotes erd
+\end_inset
 
+ and 
+\begin_inset Quotes eld
 \end_inset
 
-, \SpecialChar \ldots{}
-) in the text class itself.
- Standard floats are included in the file 
+Table
+\begin_inset Quotes erd
+\end_inset
+
+.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-stdfloats.inc
+Sensitive
 \end_layout
 
 \end_inset
 
-, so you may have to do no more than add
-\end_layout
-
-\begin_layout LyX-Code
-Input stdfloats.inc
-\end_layout
-
-\begin_layout Standard
-to your layout file.
- If you want to implement a text class that proposes some other float types
- (like the AGU class bundled with LyX), the information below will hopefully
- help you:
+ means the (hardcoded) label string depends on the kind of float: It is
+ hardcoded to be `FloatType N', where N is the value of the counter associated
+ with the float.
 \end_layout
 
-\begin_layout Description
+\begin_layout Itemize
+The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Extension
+Counter
 \end_layout
 
 \end_inset
 
- [
+ label type defines automatically numbered labels.
+ The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+LabelString
 \end_layout
 
 \end_inset
 
-=
-\begin_inset Quotes erd
-\end_inset
-
-
-\begin_inset Quotes erd
+ will be expanded to resolve any counter references it contains: For example,
+ it might be 
+\begin_inset Quotes eld
 \end_inset
 
-] The file name extension of an auxiliary file for the list of figures (or
- whatever).
- LaTeX writes the captions to this file.
-\end_layout
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-GuiName
+Section 
+\backslash
+thechapter.
+\backslash
+thesection
 \end_layout
 
 \end_inset
 
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-string
-\end_layout
-
-\end_inset
 
-=
 \begin_inset Quotes erd
 \end_inset
 
+.
+ See Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
 
-\begin_inset Quotes erd
 \end_inset
 
-] The string that will be used in the menus and also for the caption.
+ for more information on counters.
 \end_layout
 
-\begin_layout Description
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LaTeXBuiltin
+Enumerate
 \end_layout
 
 \end_inset
 
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-
-\emph on
-0
+ produces the usual sort of enumeration labels.
+ At present, it is hardcoded to use Arabic numerals, lowercase letters,
+ small Roman numerals, and uppercase letters for the four possible depths.
 \end_layout
 
-\end_inset
-
-, 
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+Itemize
 \end_layout
 
 \end_inset
 
-] Set to 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-1
+ produces various bullets at the different levels.
+ It is also hardcoded.
 \end_layout
 
-\end_inset
-
- if the float is already defined by the LaTeX document class.
- If this is set to 
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-0
+Bibliography
 \end_layout
 
 \end_inset
 
-, the float will be defined using the LaTeX package 
+ is used internally by LyX and should be used only with 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-float
+LatexType BibEnvironment
 \end_layout
 
 \end_inset
@@ -10970,754 +10881,809 @@ float
 .
 \end_layout
 
+\end_deeper
 \begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-ListName
+LangPreamble
 \end_layout
 
 \end_inset
 
- [
+ Like 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+BabelPreamble
 \end_layout
 
 \end_inset
 
-=
-\begin_inset Quotes erd
-\end_inset
-
-
-\begin_inset Quotes erd
+, but this preamble snippet occurs independently from the babel package,
+ and only for the document language.
+ Must end with 
+\begin_inset Quotes eld
 \end_inset
 
-] The heading used for the list of floats.
-\end_layout
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-NumberWithin
+EndLangPreamble
 \end_layout
 
 \end_inset
 
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-string
-\end_layout
-
-\end_inset
 
-=
 \begin_inset Quotes erd
 \end_inset
 
+.
+\end_layout
 
-\begin_inset Quotes erd
-\end_inset
-
-] This (optional) argument determines whether floats of this class will
- be numbered within some sectional unit of the document.
- For example, if within is equal to 
+\begin_deeper
+\begin_layout Standard
+If the style defines text that appears in the typeset document, it may use
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-chapter
+LangPreamble
 \end_layout
 
 \end_inset
 
-, the floats will be numbered within chapters.
-\end_layout
-
-\begin_layout Description
+ and 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Placement
+BabelPreamble
 \end_layout
 
 \end_inset
 
- [
+ to support non-english and even multilanguage documents correctly.
+ The following excerpt (from the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+theorems-ams.inc
 \end_layout
 
 \end_inset
 
-=
-\begin_inset Quotes erd
-\end_inset
+ file) shows how this works:
+\end_layout
 
+\begin_layout LyX-Code
+Preamble
+\end_layout
 
-\begin_inset Quotes erd
-\end_inset
+\begin_layout LyX-Code
+  
+\backslash
+theoremstyle{remark}
+\end_layout
 
-] The default placement for the given class of floats.
- The string should be as in standard LaTeX: 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+  
+\backslash
+newtheorem{claim}[thm]{
+\backslash
+protect
+\backslash
+claimname}
+\end_layout
 
-\begin_layout Plain Layout
-t
+\begin_layout LyX-Code
+EndPreamble
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+LangPreamble
+\end_layout
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+  
+\backslash
+providecommand{
+\backslash
+claimname}{_(Claim)}
+\end_layout
+
+\begin_layout LyX-Code
 
-\begin_layout Plain Layout
-b
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+EndLangPreamble
+\end_layout
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+BabelPreamble
+\end_layout
 
-\begin_layout Plain Layout
-p
+\begin_layout LyX-Code
+    
+\backslash
+addto
+\backslash
+captions$$lang{
+\backslash
+renewcommand{
+\backslash
+claimname}{_(Claim)}}
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+EndBabelPreamble
+\end_layout
 
- and 
+\begin_layout Standard
+The key to correct translation of the user visible text is the definition
+ of the command 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-h
+
+\backslash
+claimname
 \end_layout
 
 \end_inset
 
- for top, bottom, page, and here, respectively.
-\begin_inset Foot
+ in the language preamble.
+ This command holds the name of the theorem that will appear in the output.
+ The 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Note that the order of these letters in the string is irrelevant, like in
- LaTeX.
+BabelPreamble
 \end_layout
 
 \end_inset
 
- On top of that there is a new type, 
+ then uses the commands offered by the babel package to redefine 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-H
-\end_layout
 
-\end_inset
+\backslash
+claimname
+\end_layout
 
-, which does not really correspond to a float, since it means: put it 
-\begin_inset Quotes eld
 \end_inset
 
-here
-\begin_inset Quotes erd
-\end_inset
+ for each used language in multilanguage documents.
+\end_layout
 
- and nowhere else.
- Note however that the 
+\end_deeper
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-H
+LatexName
 \end_layout
 
 \end_inset
 
- specifier is special and, because of implementation details, cannot be
- used in non-builtin float types.
- If you do not understand what this means, just use 
-\begin_inset Quotes eld
-\end_inset
-
+ The name of the corresponding LaTeX stuff.
+ Either the environment or command name.
+\end_layout
 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-tbp
+LatexParam
 \end_layout
 
 \end_inset
 
-
-\begin_inset Quotes erd
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Description
+ An optional parameter for the corresponding 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Style
+LatexName
 \end_layout
 
 \end_inset
 
- [
+ stuff.
+ This parameter cannot be changed from within LyX.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+LatexType
 \end_layout
 
 \end_inset
 
-=
-\begin_inset Quotes erd
-\end_inset
-
+\begin_inset CommandInset label
+LatexCommand label
+name "des:LatexType"
 
-\begin_inset Quotes erd
 \end_inset
 
-] The style used when defining the float using 
+[
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
 
-\backslash
-newfloat
+\emph on
+Paragraph
+\emph default
+, Command, Environment, Item_Environment,
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Type
+List_Environment, Bib_Environment
 \end_layout
 
 \end_inset
 
- [
+] How the layout should be translated into LaTeX.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+LatexType
 \end_layout
 
 \end_inset
 
-=
-\begin_inset Quotes erd
-\end_inset
-
+ is perhaps a bit misleading, since these rules apply to SGML classes, too.
+ Visit the SGML class files for specific examples.
+\end_layout
 
-\begin_inset Quotes erd
 \end_inset
 
-] The 
-\begin_inset Quotes eld
-\end_inset
 
-type
-\begin_inset Quotes erd
-\end_inset
+\end_layout
 
- of the new class of floats, like program or algorithm.
- After the appropriate 
+\begin_deeper
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-newfloat
+Paragraph
 \end_layout
 
 \end_inset
 
-, commands such as 
+ means nothing special.
+\end_layout
+
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-begin{program}
+Command
 \end_layout
 
 \end_inset
 
- or 
+ means 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
 
 \backslash
-end{algorithm*}
+
+\emph on
+LatexName
+\emph default
+{\SpecialChar \ldots{}
+}
 \end_layout
 
 \end_inset
 
- will be available.
+.
 \end_layout
 
-\begin_layout Standard
-Note that defining a float with type 
+\begin_layout Itemize
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-type
+Environment
 \end_layout
 
 \end_inset
 
- automatically defines the corresponding counter with name 
+ means 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
 
+\backslash
+begin{
 \emph on
-type
-\end_layout
-
-\end_inset
-
-.
-\end_layout
+LatexName
+\emph default
+}\SpecialChar \ldots{}
 
-\begin_layout Subsection
-Inset layouts and Flex insets
+\backslash
+end{
+\emph on
+LatexName
+\emph default
+}
 \end_layout
 
-\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:charstyle"
-
 \end_inset
 
-LyX has supported character styles since version 1.4.0; since version 1.6.0
- these are called Flex insets.
-\end_layout
-
-\begin_layout Standard
-Furthermore, it is possible to define the general layout of many different
- types of insets.
- Currently, InsetLayout can be used to customize the layout parameters for
- footnotes, marginal notes, note insets, ERT insets, branches, listings,
- indexes, boxes, tables, algorithms, URLs, and optional arguments, as well
- as Flex insets.
+.
  
 \end_layout
 
-\begin_layout Standard
-Flex insets come in three different kinds: 
-\end_layout
-
 \begin_layout Itemize
-character style (
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-CharStyle
+Item_Environment
 \end_layout
 
 \end_inset
 
-): These define semantic markup corresponding to such LaTeX commands as
+ is the same as 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-noun
+Environment
 \end_layout
 
 \end_inset
 
- and 
+, except that an 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
 
 \backslash
-code
+item
 \end_layout
 
 \end_inset
 
-.
+ is generated for each paragraph of this environment.
 \end_layout
 
 \begin_layout Itemize
-user custom (
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Custom
+List_Environment
 \end_layout
 
 \end_inset
 
-): These can be used to define custom collapsable insets, similar to ERT,
- footnote, and the like.
-\end_layout
-
-\begin_layout Itemize
-XML elements (
+ is the same as 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Element
+Item_Environment
 \end_layout
 
 \end_inset
 
-): For use with DocBook classes.
-\end_layout
-
-\begin_layout Standard
-The 
+, except that 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-InsetLayout
+LabelWidthString
 \end_layout
 
 \end_inset
 
- definition starting line is of the form
-\end_layout
-
-\begin_layout LyX-Code
-InsetLayout <Type> <Name>
-\end_layout
-
-\begin_layout Standard
-where 
+ is passed as an argument to the environment.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-<Type>
+LabelWidthString
 \end_layout
 
 \end_inset
 
- can be 
-\begin_inset Flex CharStyle:Code
+ can be defined in the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-Algorithm
-\end_layout
 
-\end_inset
-
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\bar under
+L
+\bar default
+ayout\SpecialChar \menuseparator
 
-\begin_layout Plain Layout
-Branch
+\bar under
+P
+\bar default
+aragraph
 \end_layout
 
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
+ dialog.
+\end_layout
 
-\begin_layout Plain Layout
-Box
+\begin_layout Standard
+Putting the last few things together, the LaTeX output will be either: 
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\backslash
+latexname[latexparam]{\SpecialChar \ldots{}
+}
+\end_layout
 
-\begin_layout Plain Layout
-ERT
+\begin_layout Standard
+or: 
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
 
-, 
+\backslash
+begin{latexname}[latexparam] \SpecialChar \ldots{}
+\backslash
+end{latexname}.
+\end_layout
+
+\begin_layout Standard
+depending upon the LaTeX type.
+\end_layout
+
+\end_deeper
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Figure
+LeftMargin
 \end_layout
 
 \end_inset
 
-, 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Foot
+string=""
 \end_layout
 
 \end_inset
 
-, 
+] If you put layouts into environments, the leftmargins are not simply added,
+ but added with a factor 
+\begin_inset Formula $\frac{4}{depth+4}$
+\end_inset
+
+.
+ Note that this parameter is also used when the margin is defined as 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Index
+Manual
 \end_layout
 
 \end_inset
 
-, 
+ or 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Listings
+Dynamic
 \end_layout
 
 \end_inset
 
-, 
+.
+ Then it is added to the manual or dynamic margin.
+\begin_inset Newline newline
+\end_inset
+
+The argument is passed as a string.
+ For example 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Marginal
+MM
 \end_layout
 
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
 
-\begin_layout Plain Layout
-Note:Comment
-\end_layout
+\begin_inset Quotes erd
+\end_inset
 
+ means that the paragraph is indented with the width of 
+\begin_inset Quotes eld
 \end_inset
 
-, 
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Note:Note
+MM
 \end_layout
 
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
 
-\begin_layout Plain Layout
-Note:GreyedOut
-\end_layout
+\begin_inset Quotes erd
+\end_inset
 
+ in the normal font.
+ You can get a negative width by prefixing the string with 
+\begin_inset Quotes eld
 \end_inset
 
-, 
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-OptArg
+-
 \end_layout
 
 \end_inset
 
-, 
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ This way was chosen so that the look is the same with each used screen
+ font.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Table
+Margin
 \end_layout
 
 \end_inset
 
-, 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-URL
+
+\emph on
+Static
+\emph default
+, Manual, Dynamic, First_Dynamic, Right_Address_Box
 \end_layout
 
 \end_inset
 
-, or 
+] 
+\begin_inset Newline newline
+\end_inset
+
+The kind of margin that the layout has on the left side.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Flex
+Static
 \end_layout
 
 \end_inset
 
-.
- If 
+ just means a fixed margin.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-<Type>
+Manual
 \end_layout
 
 \end_inset
 
- is 
-\begin_inset Flex CharStyle:Code
+ means that the left margin depends on the string entered in the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-Flex
+Edit\SpecialChar \menuseparator
+Paragraph
+\begin_inset space ~
+\end_inset
+
+Settings
 \end_layout
 
 \end_inset
 
-, then 
+ dialog.
+ This is used to typeset nice lists without tabulators.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-<Name>
+Dynamic
 \end_layout
 
 \end_inset
 
- should have the form 
-\begin_inset Flex CharStyle:Code
-status collapsed
+ means that the margin depends on the size of the label.
+ This is used for automatic enumerated headlines.
+ It is obvious that the headline 
+\begin_inset Quotes eld
+\end_inset
 
-\begin_layout Plain Layout
-SubType:StyleName
-\end_layout
+5.4.3.2.1 Very long headline
+\begin_inset Quotes erd
+\end_inset
 
+ must have a wider left margin (as wide as 
+\begin_inset Quotes eld
 \end_inset
 
-, where 
+5.4.3.2.1
+\begin_inset Quotes erd
+\end_inset
+
+ plus the space) than 
+\begin_inset Quotes eld
+\end_inset
+
+3.2 Very long headline
+\begin_inset Quotes erd
+\end_inset
+
+, even if standard 
+\begin_inset Quotes eld
+\end_inset
+
+word processors
+\begin_inset Quotes erd
+\end_inset
+
+ are not able to do this.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-SubType
+First_Dynamic
 \end_layout
 
 \end_inset
 
- is either 
+ is similar, but only the very first row of the paragraph is dynamic, while
+ the others are static; this is used, for example, for descriptions.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-CharStyle
+Right_Address_Box
 \end_layout
 
 \end_inset
 
-, 
+ means the margin is chosen in a way that the longest row of this paragraph
+ fits to the right margin.
+ This is used to typeset an address on the right edge of the page.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Custom
+NeedProtect
 \end_layout
 
 \end_inset
 
-, or 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Element
+
+\emph on
+0
 \end_layout
 
 \end_inset
 
-, and 
+,
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-StyleName
+1
 \end_layout
 
 \end_inset
 
- is any valid identifier.
-\end_layout
-
-\begin_layout Standard
-The following 
+] Whether fragile commands in this layout should be 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-InsetLayout
+
+\backslash
+protect
 \end_layout
 
 \end_inset
 
- section can contain the following entries:
+'ed.
+ (Note: This is 
+\emph on
+not
+\emph default
+ whether this command should itself be protected.)
 \end_layout
 
 \begin_layout Description
@@ -11725,43 +11691,50 @@ InsetLayout
 status collapsed
 
 \begin_layout Plain Layout
-BgColor
+Newline
 \end_layout
 
 \end_inset
 
- The color for the inset's background.
- These valid colors are defined in 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-src/ColorCode.h
+0
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Description
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-CopyStyle
+
+\emph on
+1
 \end_layout
 
 \end_inset
 
- As with paragraph styles (see page 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "des:CopyStyle"
+] Whether newlines are translated into LaTeX newlines (
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+
+\backslash
+
+\end_layout
 
 \end_inset
 
-).
+) or not.
+ The translation can be switched off to allow more comfortable LaTeX editing
+ inside LyX.
 \end_layout
 
 \begin_layout Description
@@ -11769,7 +11742,7 @@ reference "des:CopyStyle"
 status collapsed
 
 \begin_layout Plain Layout
-CustomPars
+NextNoIndent
 \end_layout
 
 \end_inset
@@ -11778,6 +11751,16 @@ CustomPars
 \begin_inset Flex CharStyle:Code
 status collapsed
 
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
 \begin_layout Plain Layout
 
 \emph on
@@ -11786,7 +11769,8 @@ status collapsed
 
 \end_inset
 
-,
+] Whether the following Paragraph is allowed to indent its very first row.
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -11796,8 +11780,17 @@ status collapsed
 
 \end_inset
 
-] Indicates whether the user may employ the Paragraph Settings dialog to
- customize the paragraph.
+ means that it is not allowed to do so; 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+0
+\end_layout
+
+\end_inset
+
+ means it could do so if it wants to.
 \end_layout
 
 \begin_layout Description
@@ -11805,86 +11798,96 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-Decoration
+ObsoletedBy
 \end_layout
 
 \end_inset
 
- can be 
+ Name of a layout that has replaced this layout.
+ This is used to rename a layout, while keeping backward compatibility.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Classic
+OptionalArgs
 \end_layout
 
 \end_inset
 
-, 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Minimalistic
+int=0
 \end_layout
 
 \end_inset
 
-, or 
+] The number of optional arguments that can be used with this layout.
+ This is useful for things like section headings, and only makes sense with
+ LaTeX.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Conglomerate
+ParIndent
 \end_layout
 
 \end_inset
 
-, describing the rendering style used for the inset's frame and buttons.
- Footnotes generally use 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Classic
+string=""
 \end_layout
 
 \end_inset
 
-; ERT insets generally use 
+] The indent of the very first line of a paragraph.
+ The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Minimalistic
+Parindent
 \end_layout
 
 \end_inset
 
-; and character styles use 
+ will be fixed for a certain layout.
+ The exception is Standard layout, since the indentation of a Standard layout
+ paragraph can be prohibited with 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Conglomerate
+NextNoIndent
 \end_layout
 
 \end_inset
 
 .
-\end_layout
-
-\begin_layout Description
+ Also, Standard layout paragraphs inside environments use the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-End
+Parindent
 \end_layout
 
 \end_inset
 
- Required at the end of the InsetLayout declarations.
+ of the environment, not their native one.
+ For example, Standard paragraphs inside an enumeration are not indented.
 \end_layout
 
 \begin_layout Description
 status collapsed
 
 \begin_layout Plain Layout
-Font
+Parsep
 \end_layout
 
 \end_inset
 
- The font used for both the text body 
-\emph on
-and
-\emph default
- the label.
- See section
-\begin_inset space ~
-\end_inset
-
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
+\begin_layout Plain Layout
+float=0
+\end_layout
 
 \end_inset
 
-.
- Note that defining this font automatically defines the 
+] The vertical space between two paragraphs of this layout.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelFont
+Parskip
 \end_layout
 
 \end_inset
 
- to the same value, so define this first and define 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelFont
+float=0
 \end_layout
 
 \end_inset
 
- later if you want them to be different.
-\end_layout
+] LyX allows the user to choose either 
+\begin_inset Quotes eld
+\end_inset
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status open
+indent
+\begin_inset Quotes erd
+\end_inset
 
-\begin_layout Plain Layout
-ForceLTR
-\end_layout
+ or 
+\begin_inset Quotes eld
+\end_inset
 
+skip
+\begin_inset Quotes erd
 \end_inset
 
- [[FIXME]]
-\end_layout
+ to typeset a document.
+ When 
+\begin_inset Quotes eld
+\end_inset
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+indent
+\begin_inset Quotes erd
+\end_inset
 
-\begin_layout Plain Layout
-ForcePlain
-\end_layout
+ is chosen, this value is completely ignored.
+ When 
+\begin_inset Quotes eld
+\end_inset
 
+skip
+\begin_inset Quotes erd
 \end_inset
 
- [
+ is chosen, the parindent of a LaTeXtype 
+\begin_inset Quotes eld
+\end_inset
+
+Paragraph
+\begin_inset Quotes erd
+\end_inset
+
+ layout is ignored and all paragraphs are separated by this parskip argument.
+ The vertical space is calculated with 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
+value
+\begin_inset space ~
+\end_inset
 
-\emph on
-0
+* DefaultHeight
 \end_layout
 
 \end_inset
 
-,
+ where 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+DefaultHeight
 \end_layout
 
 \end_inset
 
-] Indicates whether the PlainLayout should be used or, instead, the user
can change the paragraph style used in the inset.
+ is the height of a row with the normal font.
This way, the look stays the same with different screen fonts.
 \end_layout
 
 \begin_layout Description
@@ -11991,39 +12009,46 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-FreeSpacing
+PassThru
 \end_layout
 
 \end_inset
 
- As with paragraph styles (see page 
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:FreeSpacing"
+\begin_inset CommandInset label
+LatexCommand label
+name "des:PathThru"
 
 \end_inset
 
-).
-\end_layout
+[
+\emph on
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-KeepEmpty
+
+\emph on
+0
 \end_layout
 
 \end_inset
 
- As with paragraph styles (see page 
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:KeepEmpty"
+
+\emph default
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
 
 \end_inset
 
-).
+] Whether the contents of this paragraph should be output in raw form, meaning
+ without special translations that LaTeX would require.
 \end_layout
 
 \begin_layout Description
@@ -12031,35 +12056,40 @@ reference "des:KeepEmpty"
 status collapsed
 
 \begin_layout Plain Layout
-LabelFont
+Preamble
 \end_layout
 
 \end_inset
 
- The font used for the label.
- See section
-\begin_inset space ~
-\end_inset
-
+\begin_inset CommandInset label
+LatexCommand label
+name "des:Preamble"
 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
+\end_inset
 
+Information to be included in the LaTeX preamble when this style is used.
+ Used to define macros, load packages, etc., required by this particular
+ style.
+ Must end with 
+\begin_inset Quotes eld
 \end_inset
 
-.
- Note that this definition can never appear before 
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Font
+EndPreamble
 \end_layout
 
 \end_inset
 
-, lest it be ineffective.
+
+\begin_inset Quotes erd
+\end_inset
+
+.
 \end_layout
 
 \begin_layout Description
@@ -12067,81 +12097,58 @@ Font
 status collapsed
 
 \begin_layout Plain Layout
-LabelString
+Requires 
 \end_layout
 
 \end_inset
 
- What will be displayed on the button or elsewhere as the inset label.
- Some inset types (ERT and Branch) modify this label on the fly.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LatexName
-\end_layout
-
-\end_inset
-
- The name of the corresponding LaTeX stuff.
- Either the environment or command name.
-\end_layout
-
-\begin_layout Description
+[
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LatexParam
+string
 \end_layout
 
 \end_inset
 
- The optional parameter for the corresponding 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LatexName
-\end_layout
+] 
+\begin_inset CommandInset label
+LatexCommand label
+name "des:Requires"
 
 \end_inset
 
- stuff, including possible bracket pairs lik
+Whether the layout requires the featur
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-[]
+string
 \end_layout
 
 \end_inset
 
 .
- This parameter cannot be changed from within LyX.
-\end_layout
-
-\begin_layout Description
+ See the description of 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LatexType
+Provides
 \end_layout
 
 \end_inset
 
As with paragraph styles (see page 
above (page 
 \begin_inset CommandInset ref
 LatexCommand pageref
-reference "des:LatexType"
+reference "des:FreeSpacing"
 
 \end_inset
 
-).
+) for information on `features'.
 \end_layout
 
 \begin_layout Description
@@ -12149,53 +12156,32 @@ reference "des:LatexType"
 status collapsed
 
 \begin_layout Plain Layout
-LyxType 
-\end_layout
-
-\end_inset
-
- Can be 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-charstyle
-\end_layout
-
-\end_inset
-
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-custom
+RightMargin
 \end_layout
 
 \end_inset
 
-, 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-element
+string=""
 \end_layout
 
 \end_inset
 
-, 
+] Similar to 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-end
+LeftMargin
 \end_layout
 
 \end_inset
 
- (indicating a dummy definition ending definitions of charstyles etc.).
- This entry is only meaningful for Flex (user definable) insets.
+.
 \end_layout
 
 \begin_layout Description
@@ -12203,7 +12189,7 @@ end
 status collapsed
 
 \begin_layout Plain Layout
-MultiPar
+Spacing
 \end_layout
 
 \end_inset
@@ -12215,123 +12201,105 @@ status collapsed
 \begin_layout Plain Layout
 
 \emph on
-0
+single
+\emph default
+, onehalf, double, other
 \end_layout
 
 \end_inset
 
-,
+\emph on
+value
+\emph default
+] This defines what the default spacing should be in the layout.
+ The arguments 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+single
 \end_layout
 
 \end_inset
 
-] Whether multiple paragraphs are permitted in this inset.
- This will also set CustomPars to the same value and ForcePlain to the opposite
- value.
- These can be reset to other values, if they are used 
-\emph on
-after
-\emph default
- MultiPar.
-\end_layout
-
-\begin_layout Description
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-NeedProtect
+onehalf
 \end_layout
 
 \end_inset
 
- [
+ and 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-0
+double
 \end_layout
 
 \end_inset
 
-,
+ correspond respectively to a multiplier value of 1, 1.25 and 1.667.
+ If you specify the argument 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+other
 \end_layout
 
 \end_inset
 
-] Whether fragile commands in this layout should be 
+, then you should also provide a numerical argument which will be the actual
+ multiplier value.
+ Note that, contrary to other parameters, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-protect
+Spacing
 \end_layout
 
 \end_inset
 
-'ed.
- (Note: This is 
-\emph on
-not
-\emph default
- whether this command should itself be protected.)
-\end_layout
+ implies the generation of specific LaTeX code, using the package 
+\family roman
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-PassThru
+setspace.sty
 \end_layout
 
 \end_inset
 
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-
-\emph on
-0
+.
 \end_layout
 
-\end_inset
-
-,
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+TextFont
 \end_layout
 
 \end_inset
 
-] As with paragraph styles (see page 
+ The font used for the text body .
+ See section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "des:PathThru"
+reference "sub:Font-description"
 
 \end_inset
 
-).
+.
 \end_layout
 
 \begin_layout Description
@@ -12339,19 +12307,29 @@ reference "des:PathThru"
 status collapsed
 
 \begin_layout Plain Layout
-Preamble
+TocLevel
 \end_layout
 
 \end_inset
 
- As with paragraph styles (see page 
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:Preamble"
+
+\series medium
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\series medium
+[int]
+\end_layout
 
 \end_inset
 
-).
+
+\series default
+ The level of the style in the table of contents.
+ This is used for automatic numbering of section headings.
 \end_layout
 
 \begin_layout Description
@@ -12359,7 +12337,7 @@ reference "des:Preamble"
 status collapsed
 
 \begin_layout Plain Layout
-Requires 
+TopSep
 \end_layout
 
 \end_inset
@@ -12369,39 +12347,36 @@ Requires
 status collapsed
 
 \begin_layout Plain Layout
-string
+float=0
 \end_layout
 
 \end_inset
 
-] As with paragraph styles (see page 
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:Requires"
-
-\end_inset
-
-).
+] The vertical space with which the very first of a chain of paragraphs
+ with this layout is separated from the previous paragraph.
+ If the previous paragraph has another layout, the separations are not simply
+ added, but the maximum is taken.
 \end_layout
 
 \begin_layout Subsection
-Counters
-\end_layout
-
-\begin_layout Standard
+Floats
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:counter"
+name "sub:Floats"
 
 \end_inset
 
-Since version 1.3.0 of LyX, it is both possible and necessary to define the
- counters (
+
+\end_layout
+
+\begin_layout Standard
+Since version 1.3.0 of LyX, it is has been both possible and necessary to
+ define the floats (
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-chapter
+figure
 \end_layout
 
 \end_inset
@@ -12411,19 +12386,19 @@ chapter
 status collapsed
 
 \begin_layout Plain Layout
-figure
+table
 \end_layout
 
 \end_inset
 
 , \SpecialChar \ldots{}
 ) in the text class itself.
The standard counters are defined in the file 
Standard floats are included in the file 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-stdcounters.inc
+stdfloats.inc
 \end_layout
 
 \end_inset
@@ -12432,41 +12407,47 @@ stdcounters.inc
 \end_layout
 
 \begin_layout LyX-Code
-Input stdcounters.inc
+Input stdfloats.inc
 \end_layout
 
 \begin_layout Standard
-to your layout file to get them to work.
- But if you want to define custom counters, then you can do so.
- The counter declaration must begin with:
+to your layout file.
+ If you want to implement a text class that proposes some other float types
+ (like the AGU class bundled with LyX), the information below will hopefully
+ help you:
 \end_layout
 
-\begin_layout LyX-Code
-Counter name
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Extension
 \end_layout
 
-\begin_layout Standard
-where of course `name' is replaced by the name of the counter.
- And it must end with 
-\begin_inset Quotes eld
 \end_inset
 
-
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-End
+string
 \end_layout
 
 \end_inset
 
+=
+\begin_inset Quotes erd
+\end_inset
+
 
 \begin_inset Quotes erd
 \end_inset
 
-.
- The following parameters can also be used:
+] The file name extension of an auxiliary file for the list of figures (or
+ whatever).
+ LaTeX writes the captions to this file.
 \end_layout
 
 \begin_layout Description
 status collapsed
 
 \begin_layout Plain Layout
-LabelString [string=""]
+GuiName
 \end_layout
 
 \end_inset
 
- when this is defined, this string defines how the counter is displayed.
- Setting this value sets 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelStringAppendix
+string
 \end_layout
 
 \end_inset
 
- to the same value.
- The following special constructs can be used in the string:
-\end_layout
+=
+\begin_inset Quotes erd
+\end_inset
 
-\begin_deeper
-\begin_layout Itemize
+
+\begin_inset Quotes erd
+\end_inset
+
+] The string that will be used in the menus and also for the caption.
+ This is translated to the current language if babel is used.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-thecounter
+HTML*
 \end_layout
 
 \end_inset
 
- will be replaced by the expansion of the 
+ These are used for XHTML output.
+ See 
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelString
+LaTeXBuiltin
 \end_layout
 
 \end_inset
 
- (or 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelStringAppendix
+
+\emph on
+0
 \end_layout
 
 \end_inset
 
-) of the counter 
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-counter
+1
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Itemize
-counter values can be expressed using LaTeX-like macros 
+] Set to 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
+1
+\end_layout
 
-\backslash
+\end_inset
 
-\emph on
-numbertype
-\emph default
-{
-\emph on
-counter
-\emph default
-}
+ if the float is already defined by the LaTeX document class.
+ If this is set to 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+0
 \end_layout
 
 \end_inset
 
-, wher
+, the float will be defined using the LaTeX packag
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-numbertype
+float
 \end_layout
 
 \end_inset
 
- can be:
-\begin_inset Foot
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\family roman
-\series medium
-\shape up
-\size normal
-\emph off
-\bar no
-\noun off
-\color none
-Actually, the situation is a bit more complicated: any
-\family default
-\series default
-\shape default
-\emph default
-\bar default
-\size default
-\emph on
-\noun default
-\color inherit
-numbertype
-\family roman
-\series medium
-\shape up
-\size normal
-\emph off
-\bar no
-\noun off
- other than those descibed below will produce arabic numerals.
- It would not be surprising to see this change in the future.
+ListName
 \end_layout
 
 \end_inset
 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-arabic
+string
 \end_layout
 
 \end_inset
 
-: 1, 2, 3,\SpecialChar \ldots{}
-; 
+=
+\begin_inset Quotes erd
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+] The heading used for the list of floats.
+ This is translated to the document language.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-alph
+NumberWithin
 \end_layout
 
 \end_inset
 
- for lower-case letters: a, b, c, \SpecialChar \ldots{}
-; 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Alph
+string
 \end_layout
 
 \end_inset
 
- for upper-case letters: A, B, C, \SpecialChar \ldots{}
-; 
+=
+\begin_inset Quotes erd
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+] This (optional) argument determines whether floats of this class will
+ be numbered within some sectional unit of the document.
+ For example, if within is equal to 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-roman
+chapter
 \end_layout
 
 \end_inset
 
- for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
-; 
+, the floats will be numbered within chapters.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Roman
+Placement
 \end_layout
 
 \end_inset
 
- for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
-; 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-hebrew
+string
 \end_layout
 
 \end_inset
 
- for hebrew numerals.
-\end_layout
+=
+\begin_inset Quotes erd
+\end_inset
 
-\end_deeper
-\begin_layout Standard
-If LabelString is not defined, a default value is constructed as follows:
- if the counter has a master counter 
+
+\begin_inset Quotes erd
+\end_inset
+
+] The default placement for the given class of floats.
+ The string should be as in standard LaTeX: 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-master
+t
 \end_layout
 
 \end_inset
 
- (defined via 
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Within
+b
 \end_layout
 
 \end_inset
 
-), the string 
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-themaster.
-\backslash
-arabic{counter}
+p
 \end_layout
 
 \end_inset
 
- is used; otherwise the string 
+ and 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
+h
+\end_layout
 
-\backslash
-arabic{counter}
+\end_inset
+
+ for top, bottom, page, and here, respectively.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Note that the order of these letters in the string is irrelevant, like in
+ LaTeX.
 \end_layout
 
 \end_inset
 
- is used.
+ On top of that there is a new type, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+H
 \end_layout
 
-\begin_layout Description
+\end_inset
+
+, which does not really correspond to a float, since it means: put it 
+\begin_inset Quotes eld
+\end_inset
+
+here
+\begin_inset Quotes erd
+\end_inset
+
+ and nowhere else.
+ Note however that the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelStringAppendix [string=""]
+H
 \end_layout
 
 \end_inset
 
- Same as 
+ specifier is special and, because of implementation details, cannot be
+ used in non-built in float types.
+ If you do not understand what this means, just use 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LabelString
+tbp
 \end_layout
 
 \end_inset
 
-, but for use in the Appendix.
+
+\begin_inset Quotes erd
+\end_inset
+
+.
 \end_layout
 
 \begin_layout Description
@@ -12761,7 +12775,7 @@ LabelString
 status collapsed
 
 \begin_layout Plain Layout
-Within
+Style
 \end_layout
 
 \end_inset
@@ -12784,277 +12798,319 @@ string
 \begin_inset Quotes erd
 \end_inset
 
-] If this is set to the name of another counter, the present counter will
- be reset everytime the other one is increased.
- For example, 
+] The style used when defining the float using 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-subsection
+
+\backslash
+newfloat
 \end_layout
 
 \end_inset
 
- is numbered inside 
+.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-section
+Type
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Subsection
-Font description
-\end_layout
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:fonts"
+\begin_layout Plain Layout
+string
+\end_layout
 
 \end_inset
 
-A font description looks like this:
-\end_layout
+=
+\begin_inset Quotes erd
+\end_inset
 
-\begin_layout LyX-Code
-Font 
-\family roman
-\emph on
-or
-\family default
-\emph default
- LabelFont
-\end_layout
 
-\begin_layout LyX-Code
- ...
-\end_layout
+\begin_inset Quotes erd
+\end_inset
 
-\begin_layout LyX-Code
-EndFont
-\end_layout
+] The 
+\begin_inset Quotes eld
+\end_inset
 
-\begin_layout Standard
-The following commands are available:
-\end_layout
+type
+\begin_inset Quotes erd
+\end_inset
 
-\begin_layout Description
+ of the new class of floats, like program or algorithm.
+ After the appropriate 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Color
+
+\backslash
+newfloat
 \end_layout
 
 \end_inset
 
- [
+, commands such as 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
 
-\emph on
-none
+\backslash
+begin{program}
 \end_layout
 
 \end_inset
 
-, 
+ or 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-black
+
+\backslash
+end{algorithm*}
 \end_layout
 
 \end_inset
 
-, 
+ will be available.
+\end_layout
+
+\begin_layout Standard
+Note that defining a float with type 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-white
+
+\emph on
+type
 \end_layout
 
 \end_inset
 
-, 
+ automatically defines the corresponding counter with name 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-red
+
+\emph on
+type
 \end_layout
 
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-green
+.
 \end_layout
 
+\begin_layout Subsection
+Flex insets and InsetLayout
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Flex-insets-and"
+
 \end_inset
 
-, 
-\begin_inset Flex CharStyle:Code
-status collapsed
 
-\begin_layout Plain Layout
-blue
 \end_layout
 
-\end_inset
+\begin_layout Standard
+LyX has supported character styles since version 1.4.0; as of version 1.6.0,
+ these are called Flex insets.
+\end_layout
 
-, 
+\begin_layout Standard
+Flex insets come in three different kinds: 
+\end_layout
+
+\begin_layout Itemize
+character style (
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-cyan
+CharStyle
 \end_layout
 
 \end_inset
 
-, 
+): These define semantic markup corresponding to such LaTeX commands as
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-magenta
+
+\backslash
+noun
 \end_layout
 
 \end_inset
 
-, 
+ and 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-yellow
+
+\backslash
+code
 \end_layout
 
 \end_inset
 
-]
+.
 \end_layout
 
-\begin_layout Description
+\begin_layout Itemize
+user custom (
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Family
+Custom
 \end_layout
 
 \end_inset
 
- [
-\emph on
-
+): These can be used to define custom collapsible insets, similar to TeX
+ code, footnote, and the like.
+ An obvious example is an endnote inset, which is defined in the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-Roman
+endnote
 \end_layout
 
 \end_inset
 
+ module.
+\end_layout
 
-\emph default
-, 
+\begin_layout Itemize
+XML elements (
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Sans
+Element
 \end_layout
 
 \end_inset
 
-, 
+): For use with DocBook classes.
+\end_layout
+
+\begin_layout Standard
+Flex insets are defined using the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Typewriter
+InsetLayout
 \end_layout
 
 \end_inset
 
-] 
+ tag, which shall be explained in a moment.
 \end_layout
 
-\begin_layout Description
+\begin_layout Standard
+The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Misc
+InsetLayout
 \end_layout
 
 \end_inset
 
- [
+ tag also serves another function: It can be used to customize the general
+ layout of many different types of insets.
+ Currently, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+InsetLayout
 \end_layout
 
 \end_inset
 
-] Valid argument sare: 
+ can be used to customize the layout parameters for footnotes, marginal
+ notes, note insets, TeX code (ERT) insets, branches, listings, indexes,
+ boxes, tables, algorithms, URLs, and optional arguments, as well as to
+ define Flex insets.
+\end_layout
+
+\begin_layout Standard
+The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-emph
+InsetLayout
 \end_layout
 
 \end_inset
 
-, 
+ definition must begin with a line of the form:
+\end_layout
+
+\begin_layout LyX-Code
+InsetLayout <Type>
+\end_layout
+
+\begin_layout Standard
+Here 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-noun
+<Type>
 \end_layout
 
 \end_inset
 
-, 
+ indicates the inset whose layout is being defined, and here there are two
+ cases.
+\end_layout
+
+\begin_layout Enumerate
+The layout for a pre-existing inset is being modified.
+ In this case, can be 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-underbar
+<Type>
 \end_layout
 
 \end_inset
 
-, 
+ any one of the following: 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-no_emph
+Algorithm
 \end_layout
 
 \end_inset
@@ -13064,96 +13120,77 @@ no_emph
 status collapsed
 
 \begin_layout Plain Layout
-no_noun
+Branch
 \end_layout
 
 \end_inset
 
- and 
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-no_bar
+Box
 \end_layout
 
 \end_inset
 
-.
- Each of these turns on or off the corresponding attribute.
-\end_layout
-
-\begin_layout Description
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Series
+Box:shaded
 \end_layout
 
 \end_inset
 
- [
-\emph on
-
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-Medium
+ERT
 \end_layout
 
 \end_inset
 
-
-\emph default
 , 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Bold
+Figure
 \end_layout
 
 \end_inset
 
-] 
-\end_layout
-
-\begin_layout Description
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Shape
+Foot
 \end_layout
 
 \end_inset
 
- [
-\emph on
-
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-Up
+Index
 \end_layout
 
 \end_inset
 
-
-\emph default
 , 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Italic
+Info
 \end_layout
 
 \end_inset
@@ -13163,7 +13200,7 @@ Italic
 status collapsed
 
 \begin_layout Plain Layout
-SmallCaps
+Info:menu
 \end_layout
 
 \end_inset
@@ -13173,30 +13210,27 @@ SmallCaps
 status collapsed
 
 \begin_layout Plain Layout
-Slanted
+Info:shortcut
 \end_layout
 
 \end_inset
 
-] 
-\end_layout
-
-\begin_layout Description
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Size
+Info:shortcuts
 \end_layout
 
 \end_inset
 
- [
+, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-tiny
+Listings
 \end_layout
 
 \end_inset
@@ -13206,7 +13240,7 @@ tiny
 status collapsed
 
 \begin_layout Plain Layout
-small
+Marginal
 \end_layout
 
 \end_inset
@@ -13216,9 +13250,7 @@ small
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-normal
+Note:Comment
 \end_layout
 
 \end_inset
@@ -13228,7 +13260,7 @@ normal
 status collapsed
 
 \begin_layout Plain Layout
-large
+Note:Note
 \end_layout
 
 \end_inset
@@ -13238,7 +13270,7 @@ large
 status collapsed
 
 \begin_layout Plain Layout
-larger
+Note:GreyedOut
 \end_layout
 
 \end_inset
@@ -13248,7 +13280,7 @@ larger
 status collapsed
 
 \begin_layout Plain Layout
-largest
+OptArg
 \end_layout
 
 \end_inset
@@ -13258,80 +13290,85 @@ largest
 status collapsed
 
 \begin_layout Plain Layout
-huge
+Table
 \end_layout
 
 \end_inset
 
-, 
+, or 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-giant
+URL
 \end_layout
 
 \end_inset
 
-]
+.
 \end_layout
 
-\begin_layout Subsection
-Upgrading old layout files
-\end_layout
-
-\begin_layout Standard
-The file format of layout files changes from time to time, so old layout
- files need to be converted.
- This process has been automated since LyX 1.4.0: If LyX reads an old format
- layout file it will call the conversion tool 
+\begin_layout Enumerate
+The layout for a Flex inset is being defined.
+ In this case, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LyXDir/scripts/layout2layout.py
+<Type>
 \end_layout
 
 \end_inset
 
- and convert it to a temporary file in current format.
- The original file is left untouched.
- If you want to convert the layout file permanently, just call the converter
- by hand:
+ can be any valid identifier not used by a pre-existing inset.
+ Note that the definition of a flex inset 
+\emph on
+must 
+\emph default
+also include a 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LyXType
 \end_layout
 
-\begin_layout LyX-Code
-python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
+\end_inset
+
+ entry, declaring which type of inset this is.
 \end_layout
 
 \begin_layout Standard
-(You need to replac
+Th
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$LyXDir
+InsetLayout
 \end_layout
 
 \end_inset
 
- with the name of your LyX system directory, unless you happen to have defined
- such an environment variable.) Then copy 
+ definition can contain the following entries:
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-myclassnew.layout
+BgColor
 \end_layout
 
 \end_inset
 
- to 
+ The color for the inset's background.
+ The valid colors are defined in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-UserDir/layouts/
+src/ColorCode.h
 \end_layout
 
 \end_inset
@@ -13339,1038 +13376,3907 @@ UserDir/layouts/
 .
 \end_layout
 
-\begin_layout Standard
-The automatic conversion only handles syntax changes.
- It cannot handle the case where the contents of included files was changed,
- so these will have to be converted separately.
-\end_layout
-
-\begin_layout Section
-Creating Templates
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:templates"
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Templates are created just like usual documents.
- The only difference is that usual documents contain all possible settings,
- including the font scheme and the paper size.
- Usually a user doesn't want a template to overwrite his defaults in these
- cases.
- For that reason, the designer of a template should remove the corresponding
- commands like 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-fontscheme
+ContentAsLabel
 \end_layout
 
 \end_inset
 
- or 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
 
-\backslash
-papersize
+\emph on
+0
 \end_layout
 
 \end_inset
 
- from the template LyX file.
- This can be done with any simple text-editor, for example 
+,
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-vi
+1
 \end_layout
 
 \end_inset
 
- or 
+] Whether to use the content of the inset as the label, when the inset is
+ closed.
+ Default is false.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-xedit
+CopyStyle
 \end_layout
 
 \end_inset
 
-.
+ As with paragraph styles (see page 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "des:CopyStyle"
+
+\end_inset
+
+).
 \end_layout
 
-\begin_layout Standard
-Put the edited template files you create in 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-UserDir/templates/
+CustomPars
 \end_layout
 
 \end_inset
 
-, copy the ones you use from the global template directory in 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LyXDir/templates/
+
+\emph on
+0
 \end_layout
 
 \end_inset
 
- to the same place, and redefine the template path in the 
-\begin_inset Flex CharStyle:MenuItem
+,
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-T
-\family sans
-\bar default
-ools
-\family default
-\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references\SpecialChar \menuseparator
-Paths
+1
 \end_layout
 
 \end_inset
 
- dialog.
+] Indicates whether the user may employ the Paragraph Settings dialog to
+ customize the paragraph.
 \end_layout
 
-\begin_layout Standard
-Note that there is a template which has a particular meaning: 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-defaults.lyx
+Decoration
 \end_layout
 
 \end_inset
 
-.
- This template is loaded everytime you create a new document with 
-\begin_inset Flex CharStyle:MenuItem
+ can be 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-F
-\bar default
-ile
+Classic
 \end_layout
 
 \end_inset
 
-\SpecialChar \menuseparator
-
-\begin_inset Flex CharStyle:MenuItem
+, 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-N
-\bar default
-ew
+Minimalistic
 \end_layout
 
 \end_inset
 
- in order to provide useful defaults.
- To create this template from inside LyX, all you have to do is to open
- a document with the correct settings, and use the 
-\begin_inset Flex CharStyle:MenuItem
+, or 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Sa
-\bar under
-v
-\bar default
-e as Document Defaults
+Conglomerate
 \end_layout
 
 \end_inset
 
- button.
-\end_layout
-
-\begin_layout Chapter
-Including External Material
-\end_layout
-
-\begin_layout Standard
-\begin_inset Box Shadowbox
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-width "100col%"
-special "none"
-height "1in"
-height_special "totalheight"
-status open
+, describing the rendering style used for the inset's frame and buttons.
+ Footnotes generally use 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
 \begin_layout Plain Layout
-WARNING: This portion of the documentation has not been updated for some
- time.
- We certainly hope that it is still accurate, but there are no guarantees.
+Classic
 \end_layout
 
 \end_inset
 
+, ERT insets generally 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
+\begin_layout Plain Layout
+Minimalistic
 \end_layout
 
-\begin_layout Standard
-The use of material from sources external to LyX is covered in detail in
- the 
-\emph on
-Embedded Objects
-\emph default
- manual.
- This part of the manual covers what needs to happen behind the scenes for
- new sorts of material to be included.
-\end_layout
-
-\begin_layout Section
-How does it work?
-\end_layout
+\end_inset
 
-\begin_layout Standard
-The external material feature is based on the concept of a 
-\emph on
-template
-\emph default
-.
- A template is a specification of how LyX should interface with a certain
- kind of material.
- As bundled, LyX comes with predefined templates for Xfig figures, various
- raster format images, chess diagrams, and LilyPond music notation.
- You can check the actual list by using the menu 
-\begin_inset Flex CharStyle:MenuItem
+, and character styles 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Insert\SpecialChar \menuseparator
-File\SpecialChar \menuseparator
-External Material
+Conglomerate
 \end_layout
 
 \end_inset
 
 .
- Furthermore, it is possible to roll your own template to support a specific
- kind of material.
- Later we'll describe in more detail what is involved, and hopefully you
- will submit all the templates you create so we can include them in a later
- LyX version.
 \end_layout
 
-\begin_layout Standard
-Another basic idea of the external material feature is to distinguish between
- the original file that serves as a base for final material and the produced
- file that is included in your exported or printed document.
- For example, consider the case of a figure produced with 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Xfig
+End
 \end_layout
 
 \end_inset
 
-.
- The Xfig application itself works on an original file with the 
+ Required at the end of the InsetLayout declarations.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.fig
+Font
 \end_layout
 
 \end_inset
 
- extension.
- Within XFig, you create and change your figure, and when you are done,
- you save the 
+ The font used for both the text body 
+\emph on
+and
+\emph default
+ the label.
+ See section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
+
+\end_inset
+
+.
+ Note that defining this font automatically defines the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-fig
+LabelFont
 \end_layout
 
 \end_inset
 
--file.
- When you want to include the figure in your document, you invoke 
+ to the same value, so define this first and define 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-transfig
+LabelFont
 \end_layout
 
 \end_inset
 
- in order to create a PostScript file that can readily be included in your
- LaTeX file.
- In this case, the 
+ later if you want them to be different.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.fig
+ForceLTR
 \end_layout
 
 \end_inset
 
- file is the original file, and the PostScript file is the produced file.
-\end_layout
+ Force the 
+\begin_inset Quotes eld
+\end_inset
 
-\begin_layout Standard
-This distinction is important in order to allow updating of the material
- while you are in the process of writing the document.
- Furthermore, it provides us with the flexibility that is needed to support
- multiple export formats.
- For instance, in the case of a plain text file, it is not exactly an award-winn
-ing idea to include the figure as raw PostScript®.
- Instead, you'd either prefer to just include a reference to the figure
- or try to invoke some graphics to Ascii converter to make the final result
- look similar to the real graphics.
- The external material management allows you to do this, because it is parameter
-ized on the different export formats that LyX supports.
+latex
+\begin_inset Quotes erd
+\end_inset
+
+ language, leading to Left-to-Right (latin) output, e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
+\begin_inset space \space{}
+\end_inset
+
+in TeX code or URL.
+ A kludge.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+ForcePlain
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] Indicates whether the PlainLayout should be used or, instead, the user
+ can change the paragraph style used in the inset.
+ Default is false.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+FreeSpacing
+\end_layout
+
+\end_inset
+
+ As with paragraph styles (see page 
+\begin_inset CommandInset ref
+LatexCommand pageref
+reference "des:FreeSpacing"
+
+\end_inset
+
+).
+ Default is false.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTML*
+\end_layout
+
+\end_inset
+
+ These tags control XHTML output.
+ See 
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+InToc
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] Whether to include the contents of this inset in the strings generated
+ for the `Outline' pane.
+ One would not, for example, want the content of a footnote in a section
+ header to be included in the TOC displayed in the outline, but one would
+ normally want the content of a character style displayed.
+ Default is false: not to include.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+KeepEmpty
+\end_layout
+
+\end_inset
+
+ As with paragraph styles (see page 
+\begin_inset CommandInset ref
+LatexCommand pageref
+reference "des:KeepEmpty"
+
+\end_inset
+
+).
+ Default is false.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelFont
+\end_layout
+
+\end_inset
+
+ The font used for the label.
+ See section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
+
+\end_inset
+
+.
+ Note that this definition can never appear before 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Font
+\end_layout
+
+\end_inset
+
+, lest it be ineffective.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+ What will be displayed on the button or elsewhere as the inset label.
+ Some inset types (TeX code and Branch) modify this label on the fly.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexName
+\end_layout
+
+\end_inset
+
+ The name of the corresponding LaTeX stuff.
+ Either the environment or command name.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexParam
+\end_layout
+
+\end_inset
+
+ The optional parameter for the corresponding 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexName
+\end_layout
+
+\end_inset
+
+ stuff, including possible bracket pairs like 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+[]
+\end_layout
+
+\end_inset
+
+.
+ This parameter cannot be changed from within LyX.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexType
+\end_layout
+
+\end_inset
+
+ As with paragraph styles (see page 
+\begin_inset CommandInset ref
+LatexCommand pageref
+reference "des:LatexType"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LyxType 
+\end_layout
+
+\end_inset
+
+ Can be 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+charstyle
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+custom
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+element
+\end_layout
+
+\end_inset
+
+, or 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+end
+\end_layout
+
+\end_inset
+
+ (indicating a dummy definition ending definitions of charstyles, etc).
+ This entry is required in and is only meaningful for Flex insets.
+ Among other things, it determines on which menu this inset will appear.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] Whether multiple paragraphs are permitted in this inset.
+ This will also set 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+CustomPars
+\end_layout
+
+\end_inset
+
+ to the same value and 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+ForcePlain
+\end_layout
+
+\end_inset
+
+ to the opposite value.
+ These can be reset to other values, if they are used 
+\emph on
+after
+\emph default
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
+\end_layout
+
+\end_inset
+
+.
+ Default is true.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+NeedProtect
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] Whether fragile commands in this layout should be 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+protect
+\end_layout
+
+\end_inset
+
+'ed.
+ (Note: This is 
+\emph on
+not
+\emph default
+ whether the command should itself be protected.) Default is false.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+PassThru
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] As with paragraph styles (see page 
+\begin_inset CommandInset ref
+LatexCommand pageref
+reference "des:PathThru"
+
+\end_inset
+
+).
+ Default is false.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Preamble
+\end_layout
+
+\end_inset
+
+ As with paragraph styles (see page 
+\begin_inset CommandInset ref
+LatexCommand pageref
+reference "des:Preamble"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Requires 
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] As with paragraph styles (see page 
+\begin_inset CommandInset ref
+LatexCommand pageref
+reference "des:Requires"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Subsection
+Counters
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Counters"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Since version 1.3.0 of LyX, it is both possible and necessary to define the
+ counters (
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+chapter
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+figure
+\end_layout
+
+\end_inset
+
+, \SpecialChar \ldots{}
+) in the text class itself.
+ The standard counters are defined in the file 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+stdcounters.inc
+\end_layout
+
+\end_inset
+
+, so you may have to do no more than add
+\end_layout
+
+\begin_layout LyX-Code
+Input stdcounters.inc
+\end_layout
+
+\begin_layout Standard
+to your layout file to get them to work.
+ But if you want to define custom counters, then you can do so.
+ The counter declaration must begin with:
+\end_layout
+
+\begin_layout LyX-Code
+Counter CounterName
+\end_layout
+
+\begin_layout Standard
+where of course `
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+CounterName
+\end_layout
+
+\end_inset
+
+' is replaced by the name of the counter.
+ And it must end with 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+End
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ The following parameters can also be used:
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString [string=""]
+\end_layout
+
+\end_inset
+
+ when this is defined, this string defines how the counter is displayed.
+ Setting this value sets 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelStringAppendix
+\end_layout
+
+\end_inset
+
+ to the same value.
+ The following special constructs can be used in the string:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+thecounter
+\end_layout
+
+\end_inset
+
+ will be replaced by the expansion of the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+ (or 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelStringAppendix
+\end_layout
+
+\end_inset
+
+) of the counter 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+counter
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Itemize
+counter values can be expressed using LaTeX-like macros 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+
+\emph on
+numbertype
+\emph default
+{
+\emph on
+counter
+\emph default
+}
+\end_layout
+
+\end_inset
+
+, where 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+numbertype
+\end_layout
+
+\end_inset
+
+ can be:
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+
+\family roman
+\series medium
+\shape up
+\size normal
+\emph off
+\bar no
+\noun off
+\color none
+Actually, the situation is a bit more complicated: any
+\family default
+\series default
+\shape default
+\emph default
+\bar default
+\size default
+\emph on
+\noun default
+\color inherit
+numbertype
+\family roman
+\series medium
+\shape up
+\size normal
+\emph off
+\bar no
+\noun off
+ other than those described below will produce arabic numerals.
+ It would not be surprising to see this change in the future.
+\end_layout
+
+\end_inset
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+arabic
+\end_layout
+
+\end_inset
+
+: 1, 2, 3,\SpecialChar \ldots{}
+; 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+alph
+\end_layout
+
+\end_inset
+
+ for lower-case letters: a, b, c, \SpecialChar \ldots{}
+; 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Alph
+\end_layout
+
+\end_inset
+
+ for upper-case letters: A, B, C, \SpecialChar \ldots{}
+; 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+roman
+\end_layout
+
+\end_inset
+
+ for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
+; 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Roman
+\end_layout
+
+\end_inset
+
+ for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
+; 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+hebrew
+\end_layout
+
+\end_inset
+
+ for hebrew numerals.
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+If LabelString is not defined, a default value is constructed as follows:
+ if the counter has a master counter 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+master
+\end_layout
+
+\end_inset
+
+ (defined via 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Within
+\end_layout
+
+\end_inset
+
+), the string 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+themaster.
+\backslash
+arabic{counter}
+\end_layout
+
+\end_inset
+
+ is used; otherwise the string 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+arabic{counter}
+\end_layout
+
+\end_inset
+
+ is used.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelStringAppendix [string=""]
+\end_layout
+
+\end_inset
+
+ Same as 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+, but for use in the Appendix.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Within
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+=
+\begin_inset Quotes erd
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+] If this is set to the name of another counter, the present counter will
+ be reset every time the other one is increased.
+ For example, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+subsection
+\end_layout
+
+\end_inset
+
+ is numbered inside 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+section
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+Font description
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Font-description"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+A font description looks like this:
+\end_layout
+
+\begin_layout LyX-Code
+Font 
+\family roman
+\emph on
+or
+\family default
+\emph default
+ LabelFont
+\end_layout
+
+\begin_layout LyX-Code
+ ...
+\end_layout
+
+\begin_layout LyX-Code
+EndFont
+\end_layout
+
+\begin_layout Standard
+The following commands are available:
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Color
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+none
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+black
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+white
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+red
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+green
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+blue
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+cyan
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+magenta
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+yellow
+\end_layout
+
+\end_inset
+
+]
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Family
+\end_layout
+
+\end_inset
+
+ [
+\emph on
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+Roman
+\end_layout
+
+\end_inset
+
+
+\emph default
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Sans
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Typewriter
+\end_layout
+
+\end_inset
+
+] 
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Misc
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Valid arguments are: 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+emph
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+noun
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+underbar
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+no_emph
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+no_noun
+\end_layout
+
+\end_inset
+
+ and 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+no_bar
+\end_layout
+
+\end_inset
+
+.
+ Each of these turns on or off the corresponding attribute.
+ For example, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+emph
+\end_layout
+
+\end_inset
+
+ turns on emphasis, and 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+no_emph
+\end_layout
+
+\end_inset
+
+ turns it off.
+\begin_inset Newline newline
+\end_inset
+
+If the latter seems puzzling, remember that the font settings for the present
+ context are generally inherited from the surrounding context.
+ So 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+no_emph
+\end_layout
+
+\end_inset
+
+ would turn off the emphasis that was anyway in effect, say, in a theorem
+ environment.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Series
+\end_layout
+
+\end_inset
+
+ [
+\emph on
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+Medium
+\end_layout
+
+\end_inset
+
+
+\emph default
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Bold
+\end_layout
+
+\end_inset
+
+] 
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Shape
+\end_layout
+
+\end_inset
+
+ [
+\emph on
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+Up
+\end_layout
+
+\end_inset
+
+
+\emph default
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Italic
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+SmallCaps
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Slanted
+\end_layout
+
+\end_inset
+
+] 
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Size
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+tiny
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+small
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+normal
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+large
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+larger
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+largest
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+huge
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+giant
+\end_layout
+
+\end_inset
+
+]
+\end_layout
+
+\begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Tags-for-XHTML"
+
+\end_inset
+
+Tags for XHTML output
+\end_layout
+
+\begin_layout Standard
+As with LaTeX or DocBook, the format of LyX's XHTML output is also controlled
+ by layout information.
+ In general, LyX provides sensible defaults and, as mentioned earlier, it
+ will even construct default CSS style rules from the other layout tags.
+ For example, LyX will attempt to use the information provided in the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Font
+\end_layout
+
+\end_inset
+
+ declaration for the Chapter style to write CSS that will appropriately
+ format chapter headings.
+\end_layout
+
+\begin_layout Standard
+In many cases, then, you may not have to do anything at all to get acceptable
+ XHTML output for your own environments, custom insets, and so forth.
+ But in some cases you will, and so LyX provides a number of layout tags
+ that can be used to customize the XHTML and CSS that are generated.
+\end_layout
+
+\begin_layout Standard
+Note that there are two tags, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLPreamble
+\end_layout
+
+\end_inset
+
+ and 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+AddToHTMLPreamble
+\end_layout
+
+\end_inset
+
+ that may appear outside style and inset declarations.
+ See 
+\begin_inset CommandInset ref
+LatexCommand prettyref
+reference "sub:General-text-class"
+
+\end_inset
+
+ for details on these.
+\end_layout
+
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Paragraph-Style-XHTML"
+
+\end_inset
+
+Paragraph styles
+\end_layout
+
+\begin_layout Standard
+The sort of XHTML LyX outputs for a paragraph depends upon whether we are
+ dealing with a normal paragraph, a command, or an environment, where this
+ is itself determined by the contents of the corresponding 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LaTeXType
+\end_layout
+
+\end_inset
+
+ tag.
+\end_layout
+
+\begin_layout Standard
+For a command or normal paragraph, the output XHTML has the following form:
+\end_layout
+
+\begin_layout LyX-Code
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+<labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>Label</labeltag>
+\end_layout
+
+\begin_layout LyX-Code
+Contents of the paragraph.
+\end_layout
+
+\begin_layout LyX-Code
+</tag>
+\end_layout
+
+\begin_layout Standard
+The label tags are of course omitted if the paragraph does not have a label.
+\end_layout
+
+\begin_layout Standard
+For an environment that is not some sort of list, the XHTML takes this form:
+\end_layout
+
+\begin_layout LyX-Code
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+<itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+><labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>Environment Label</labeltag>First paragraph.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+<itemtag>Second paragraph.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+</tag>
+\end_layout
+
+\begin_layout Standard
+Note that the label is output only for the first paragraph, as it should
+ be for a theorem, for example.
+\end_layout
+
+\begin_layout Standard
+For a list, we have one of these forms:
+\end_layout
+
+\begin_layout LyX-Code
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+<itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+><labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>List Label</labeltag>First item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+<itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+><labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>List Label</labeltag>Second item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+</tag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+<labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>List Label</labeltag><itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>First item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+<labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>List Label</labeltag><itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>Second item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+</tag>
+\end_layout
+
+\begin_layout Standard
+Note the different orders of 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+labeltag
+\end_layout
+
+\end_inset
+
+ and 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+itemtag
+\end_layout
+
+\end_inset
+
+.
+ Which order we get depends upon the setting of 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabelFirst
+\end_layout
+
+\end_inset
+
+: If 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabelFirst
+\end_layout
+
+\end_inset
+
+ is false (the default), you get the first of these, with the label within
+ the item; if true, you get the second, with the label outside the item.
+\end_layout
+
+\begin_layout Standard
+The specific tags and attributes output for each paragraph type can be controlle
+d by means of the layout tags we are about to describe.
+ As mentioned earlier, however, LyX uses sensible defaults for many of these,
+ so you often may not need to do very much to get good XHTML output.
+ Think of the available tags as there so you can tweak things to your liking.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Specifies attribute information to be output with the main tag.
+ For example, 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`mydiv'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ By default, LyX will output 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`layoutname'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+, where 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+layoutname
+\end_layout
+
+\end_inset
+
+ is the LyX name of the layout, made lowercase, for example: chapter.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLForceCSS
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+0,1
+\end_layout
+
+\end_inset
+
+] Whether to output the default CSS information LyX generates for this layout,
+ even if additional information is explicitly provided via 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLStyle
+\end_layout
+
+\end_inset
+
+.
+ Setting this to 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+ allows you to alter or augment the generated CSS, rather than to override
+ it completely.
+ Default is 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+0
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLItem
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The tag to be used for individual paragraphs of environments, replacing
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+itemtag
+\end_layout
+
+\end_inset
+
+ in the examples above.
+ Defaults to 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+div
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLItemAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Attributes for the item tag.
+ Defaults to 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`layoutname_item'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabel
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The tag to be used for paragraph and item labels, replacing 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+labeltag
+\end_layout
+
+\end_inset
+
+ in the examples above.
+ Defaults to 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+span
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabelAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Attributes for the label tag.
+ Defaults to 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`layoutname_label'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabelFirst
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+0,1
+\end_layout
+
+\end_inset
+
+] Meaningful only for list-like environments, this tag controls whether
+ the label tag is output before or inside the item tag.
+ This is used, for example, in the description environment, where we want
+ `
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+<dt>\SpecialChar \ldots{}
+</dt><dd>\SpecialChar \ldots{}
+</dd>
+\end_layout
+
+\end_inset
+
+.
+ Default is 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+0
+\end_layout
+
+\end_inset
+
+: The label tag is output inside the item tag.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLPreamble
+\end_layout
+
+\end_inset
+
+ Information to be output in the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+<head>
+\end_layout
+
+\end_inset
+
+ section when this style is used.
+ This might, for example, be used to include a 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+<script>
+\end_layout
+
+\end_inset
+
+ block defining an 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+onclick
+\end_layout
+
+\end_inset
+
+ handler.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLStyle
+\end_layout
+
+\end_inset
+
+ CSS style information to be included when this style is used.
+ Note that this will automatically be wrapped in a layout-generated 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+<style>
+\end_layout
+
+\end_inset
+
+ block, so only the CSS itself need be included.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLTag
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The tag to be used for the main label, replacing 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+tag
+\end_layout
+
+\end_inset
+
+ in the examples above.
+ Defaults to 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+div
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+InsetLayout XHTML
+\end_layout
+
+\begin_layout Standard
+The XHTML output of insets can also be controlled by information in layout
+ files.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+At present, this is true only for 
+\begin_inset Quotes eld
+\end_inset
+
+text
+\begin_inset Quotes erd
+\end_inset
+
+ insets (insets you can type into) and is not true for 
+\begin_inset Quotes eld
+\end_inset
+
+command
+\begin_inset Quotes erd
+\end_inset
+
+ insets (insets that are associated with dialog boxes).
+\end_layout
+
+\end_inset
+
+ Here, too, LyX tries to provide sensible defaults, and it constructs default
+ CSS style rules.
+ But everything can be customized.
+\end_layout
+
+\begin_layout Standard
+The XHTML LyX outputs for an inset has the following form:
+\end_layout
+
+\begin_layout LyX-Code
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+<labeltag>Label</labeltag>
+\end_layout
+
+\begin_layout LyX-Code
+<innertag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>Contents of the inset.</innertag>
+\end_layout
+
+\begin_layout LyX-Code
+</tag>
 \end_layout
 
 \begin_layout Standard
-Besides supporting the production of different products according to the
- exported format, it supports tight integration with editing and viewing
- applications.
- In the case of an XFig figure, you are able to invoke Xfig on the original
- file with a single click from within the external material dialog in LyX,
- and also preview the produced PostScript file with ghostview with another
- click.
- No more fiddling around with the command line and/or file browsers to locate
- and manipulate the original or produced files.
- In this way, you are finally able to take full advantage of the many different
- applications that are relevant to use when you write your documents, and
- ultimately be more productive.
+If the inset permits multiple paragraphs---that is, if 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
+\end_layout
+
+\end_inset
+
+ is true---then the contents of the inset will itself be output as paragraphs
+ formatted according to the styles used for those paragraphs (standard,
+ quote, and the like).
+ The label tag is of course omitted if the paragraph does not have a label
+ and, at present, is always 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+span
+\end_layout
+
+\end_inset
+
+.
+ The inner tag is optional and, by default, does not appear.
+\end_layout
+
+\begin_layout Standard
+The specific tags and attributes output for each inset can be controlled
+ by means of the following layout tags.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Specifies attribute information to be output with the main tag.
+ For example, 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`myinset' onclick=`\SpecialChar \ldots{}
+'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ By default, LyX will output 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`insetname'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+, where 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+insetname
+\end_layout
+
+\end_inset
+
+ is the LyX name of the inset, made lowercase and with non-alphanumeric
+ characters converted to underscores, for example: footnote.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLForceCSS
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\emph default
+,1
+\end_layout
+
+\end_inset
+
+] Whether to output the default CSS information LyX generates for this layout,
+ even if additional information is explicitly provided via 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLStyle
+\end_layout
+
+\end_inset
+
+.
+ Setting this to 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+ allows you to alter or augment the generated CSS, rather than to override
+ it completely.
+ Default is 0.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLInnerAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Attributes for the inner tag.
+ Defaults to 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`insetname_inner'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLInnerTag
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The inner tag, replacing 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+innertag
+\end_layout
+
+\end_inset
+
+ in the examples above.
+ By default, there is none.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLIsBlock
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+0,
+\emph on
+1
+\end_layout
+
+\end_inset
+
+] Whether this inset represents a standalone block of text (such as a footnote)
+ or instead represents material that is included in the surrounding text
+ (such as a branch).
+ Defaults to 1.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabel
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] A label for this inset, possibly including a reference to a counter.
+ For example, for footnote, it might be: 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+arabic{footnote}
+\end_layout
+
+\end_inset
+
+.
+ This is optional, and there is no default.
 \end_layout
 
-\begin_layout Section
-The external template configuration file
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLPreamble
 \end_layout
 
-\begin_layout Standard
-It is relatively easy to add custom external template definitions to LyX.
- However, be aware that doing this in an careless manner most probably 
-\emph on
-will
-\emph default
- introduce an easily exploitable security hole.
- So before you do this, please read the discussion about security in section
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:Security-discussion"
+\end_inset
+
+ Information to be output in the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+<head>
+\end_layout
 
 \end_inset
 
-.
+ section when this style is used.
+ This might, for example, be used to include a 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+<script>
 \end_layout
 
-\begin_layout Standard
-Having said that, we encourage you to submit any interesting templates that
- you create.
+\end_inset
+
+ block defining an 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+onclick
 \end_layout
 
-\begin_layout Standard
-The external templates are defined in the 
+\end_inset
+
+ handler.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-LyXDir/lib/external_templates
+HTMLStyle
 \end_layout
 
 \end_inset
 
file.
- You can place your own version in 
CSS style information to be included when this style is used.
+ Note that this will automatically be wrapped in a layout-generated 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-UserDir/external_templates
+<style>
 \end_layout
 
 \end_inset
 
-.
+ block, so only the CSS itself need be included.
 \end_layout
 
-\begin_layout Standard
-A typical template looks like this:
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLTag
 \end_layout
 
-\begin_layout LyX-Code
-Template XFig
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
 \end_layout
 
-\begin_layout LyX-Code
-GuiName "XFig: $$AbsOrRelPathParent$$Basename"
+\end_inset
+
+] The tag to be used for the main label, replacing 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+tag
 \end_layout
 
-\begin_layout LyX-Code
-HelpText
+\end_inset
+
+ in the examples above.
+ The default depends upon the setting of 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
 \end_layout
 
-\begin_layout LyX-Code
-An XFig figure.
+\end_inset
+
+: If 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
 \end_layout
 
-\begin_layout LyX-Code
-HelpTextEnd
+\end_inset
+
+ is true, the default is 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+div
 \end_layout
 
-\begin_layout LyX-Code
-InputFormat fig
+\end_inset
+
+; if it is false, the default is 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+span
 \end_layout
 
-\begin_layout LyX-Code
-FileFilter "*.fig"
+\end_inset
+
+.
 \end_layout
 
-\begin_layout LyX-Code
-AutomaticProduction true
+\begin_layout Subsection
+Float XHTML
 \end_layout
 
-\begin_layout LyX-Code
-Transform Rotate
+\begin_layout Standard
+The XHTML output for floats too can be controlled by layout information.
+ The output has the following form:
 \end_layout
 
 \begin_layout LyX-Code
-Transform Resize
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
 \end_layout
 
 \begin_layout LyX-Code
-Format LaTeX
+Contents of the float.
 \end_layout
 
 \begin_layout LyX-Code
-TransformCommand Rotate RotationLatexCommand
+</tag>
 \end_layout
 
-\begin_layout LyX-Code
-TransformCommand Resize ResizeLatexCommand
+\begin_layout Standard
+The caption, if there is one, is a separate inset and will be output as
+ such.
+ Its appearance can be controlled via the InsetLayout for caption insets.
 \end_layout
 
-\begin_layout LyX-Code
-Product "$$RotateFront$$ResizeFront
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLAttr
 \end_layout
 
-\begin_layout LyX-Code
-         
-\backslash
+\end_inset
 
-\backslash
-input{$$AbsOrRelPathMaster$$Basename.pstex_t}
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
 \end_layout
 
-\begin_layout LyX-Code
-         $$ResizeBack$$RotateBack"
+\end_inset
+
+] Specifies attribute information to be output with the main tag.
+ For example, 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`myfloat' onclick=`\SpecialChar \ldots{}
+'
 \end_layout
 
-\begin_layout LyX-Code
-UpdateFormat pstex
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ By default, LyX will output 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`float float-floattype'
 \end_layout
 
-\begin_layout LyX-Code
-UpdateResult "$$AbsPath$$Basename.pstex_t"
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+, where 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+floattype
 \end_layout
 
-\begin_layout LyX-Code
-Requirement "graphicx"
+\end_inset
+
+ is LyX's name for this type of float, as determined by the float delcaration
+ (see 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Floats"
+
+\end_inset
+
+), though made lowercase and with non-alphanumeric characters converted
+ to underscores, for example: float-table.
 \end_layout
 
-\begin_layout LyX-Code
-ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLStyle
 \end_layout
 
-\begin_layout LyX-Code
-ReferencedFile latex "$$AbsPath$$Basename.eps"
+\end_inset
+
+ CSS style information to be included when this float is used.
+ Note that this will automatically be wrapped in a layout-generated 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+<style>
 \end_layout
 
-\begin_layout LyX-Code
-ReferencedFile dvi "$$AbsPath$$Basename.eps"
+\end_inset
+
+ block, so only the CSS itself need be included.
 \end_layout
 
-\begin_layout LyX-Code
-FormatEnd
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLTag
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
 \end_layout
 
-\begin_layout LyX-Code
-Format PDFLaTeX
+\end_inset
+
+] The tag to be used for this float, replacing 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+tag
 \end_layout
 
-\begin_layout LyX-Code
-TransformCommand Rotate RotationLatexCommand
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-TransformCommand Resize ResizeLatexCommand
-\end_layout
 
-\begin_layout LyX-Code
-Product "$$RotateFront$$ResizeFront
-\end_layout
+\begin_inset Quotes erd
+\end_inset
 
-\begin_layout LyX-Code
-         
-\backslash
+ in the example above.
+ The default is 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\backslash
-input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
+\begin_layout Plain Layout
+div
 \end_layout
 
-\begin_layout LyX-Code
-         $$ResizeBack$$RotateBack"
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-UpdateFormat pdftex
+ and will rarely need changing.
 \end_layout
 
-\begin_layout LyX-Code
-UpdateResult "$$AbsPath$$Basename.pdftex_t"
+\begin_layout Subsection
+LyX-generated CSS
 \end_layout
 
-\begin_layout LyX-Code
-Requirement "graphicx"
+\begin_layout Standard
+We have several times mentioned that LyX will generate default CSS style
+ rules for both insets and paragraph styles, based upon the other layout
+ information that is provided.
+ In this section, we shall say a word about which layout information LyX
+ uses and how.
 \end_layout
 
-\begin_layout LyX-Code
-ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
-\end_layout
+\begin_layout Standard
+At present, LyX auto-generates CSS only for font information, making use
+ of the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout LyX-Code
-ReferencedFile latex "$$AbsPath$$Basename.pdf"
+\begin_layout Plain Layout
+Family
 \end_layout
 
-\begin_layout LyX-Code
-FormatEnd
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-Format Ascii
-\end_layout
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout LyX-Code
-Product "$$Contents(
-\backslash
-"$$AbsPath$$Basename.asc
-\backslash
-")"
+\begin_layout Plain Layout
+Series
 \end_layout
 
-\begin_layout LyX-Code
-UpdateFormat asciixfig
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-UpdateResult "$$AbsPath$$Basename.asc"
-\end_layout
+, 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout LyX-Code
-FormatEnd
+\begin_layout Plain Layout
+Shape
 \end_layout
 
-\begin_layout LyX-Code
-Format DocBook
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-Product "<graphic fileref=
-\backslash
-"$$AbsOrRelPathMaster$$Basename.eps
-\backslash
-">
-\end_layout
+, and 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout LyX-Code
-         </graphic>"
+\begin_layout Plain Layout
+Size
 \end_layout
 
-\begin_layout LyX-Code
-UpdateFormat eps
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-UpdateResult "$$AbsPath$$Basename.eps"
-\end_layout
+ specified in the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout LyX-Code
-ReferencedFile docbook "$$AbsPath$$Basename.eps"
+\begin_layout Plain Layout
+Font
 \end_layout
 
-\begin_layout LyX-Code
-ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-FormatEnd
-\end_layout
+ declaration.
+ (See 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
 
-\begin_layout LyX-Code
-Product "[XFig: $$FName]"
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-FormatEnd
-\end_layout
+.) The translation is mostly straightforward and obvious.
+ For example, 
+\begin_inset Quotes eld
+\end_inset
 
-\begin_layout LyX-Code
-TemplateEnd
-\end_layout
 
-\begin_layout Standard
-As you can see, the template is enclosed in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Template
+Family Sans
 \end_layout
 
 \end_inset
 
- \SpecialChar \ldots{}
+
+\begin_inset Quotes erd
+\end_inset
+
+ becomes 
+\begin_inset Quotes eld
+\end_inset
+
+
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-TemplateEnd
+font-family: sans-serif;
 \end_layout
 
 \end_inset
 
+
+\begin_inset Quotes erd
+\end_inset
+
 .
- It contains a header specifying some general settings and, for each supported
- primary document file format, a section 
+ The correspondence of LyX sizes and CSS sizes is a little less obvious
+ but nonetheless intuitive.
+ See the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Format
+getSizeCSS()
 \end_layout
 
 \end_inset
 
- \SpecialChar \ldots{}
-\begin_inset Flex CharStyle:Code
+ function in 
+\begin_inset Flex URL
 status collapsed
 
 \begin_layout Plain Layout
-FormatEnd
+
+src/FontInfo.cpp
 \end_layout
 
 \end_inset
 
-.
+ for the details.
 \end_layout
 
-\begin_layout Subsection
-The template header
+\begin_layout Chapter
+Including External Material
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+\begin_inset Box Shadowbox
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+width "100col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+WARNING: This portion of the documentation has not been updated for some
+ time.
+ We certainly hope that it is still accurate, but there are no guarantees.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+The use of material from sources external to LyX is covered in detail in
+ the 
+\emph on
+Embedded Objects
+\emph default
+ manual.
+ This part of the manual covers what needs to happen behind the scenes for
+ new sorts of material to be included.
+\end_layout
+
+\begin_layout Section
+How does it work?
+\end_layout
+
+\begin_layout Standard
+The external material feature is based on the concept of a 
+\emph on
+template
+\emph default
+.
+ A template is a specification of how LyX should interface with a certain
+ kind of material.
+ As bundled, LyX comes with predefined templates for Xfig figures, various
+ raster format images, chess diagrams, and LilyPond music notation.
+ You can check the actual list by using the menu 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-AutomaticProduction
-\begin_inset space ~
+Insert\SpecialChar \menuseparator
+File\SpecialChar \menuseparator
+External Material
+\end_layout
+
 \end_inset
 
-true|false
+.
+ Furthermore, it is possible to roll your own template to support a specific
+ kind of material.
+ Later we'll describe in more detail what is involved, and hopefully you
+ will submit all the templates you create so we can include them in a later
+ LyX version.
+\end_layout
+
+\begin_layout Standard
+Another basic idea of the external material feature is to distinguish between
+ the original file that serves as a base for final material and the produced
+ file that is included in your exported or printed document.
+ For example, consider the case of a figure produced with 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Xfig
 \end_layout
 
 \end_inset
 
- Whether the file represented by the template must be generated by LyX.
- This command must occur exactly once.
+.
+ The Xfig application itself works on an original file with the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+.fig
 \end_layout
 
-\begin_layout Description
+\end_inset
+
+ extension.
+ Within Xfig, you create and change your figure, and when you are done,
+ you save the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-FileFilter
-\begin_inset space ~
-\end_inset
-
-<pattern>
+fig
 \end_layout
 
 \end_inset
 
- A glob pattern that is used in the file dialog to filter out the desired
- files.
- If there is more than one possible file extension (e.g.
-\begin_inset space ~
-\end_inset
-
-tgif has 
+-file.
+ When you want to include the figure in your document, you invoke 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.obj
+transfig
 \end_layout
 
 \end_inset
 
- and 
+ in order to create a PostScript file that can readily be included in your
+ LaTeX file.
+ In this case, the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.tgo
+.fig
 \end_layout
 
 \end_inset
 
-), use something like 
-\begin_inset Flex CharStyle:Code
-status collapsed
+ file is the original file, and the PostScript file is the produced file.
+\end_layout
 
-\begin_layout Plain Layout
-"*.{obj,tgo}"
+\begin_layout Standard
+This distinction is important in order to allow updating of the material
+ while you are in the process of writing the document.
+ Furthermore, it provides us with the flexibility that is needed to support
+ multiple export formats.
+ For instance, in the case of a plain text file, it is not exactly an award-winn
+ing idea to include the figure as raw PostScript.
+ Instead, you'd either prefer to just include a reference to the figure
+ or try to invoke some graphics to ASCII converter to make the final result
+ look similar to the real graphics.
+ The external material management allows you to do this, because it is parametri
+zed on the different export formats that LyX supports.
+\end_layout
+
+\begin_layout Standard
+Besides supporting the production of different products according to the
+ exported format, it supports tight integration with editing and viewing
+ applications.
+ In the case of an Xfig figure, you are able to invoke Xfig on the original
+ file with a single click from within the external material dialog in LyX,
+ and also preview the produced PostScript file with Ghostview with another
+ click.
+ No more fiddling around with the command line and/or file browsers to locate
+ and manipulate the original or produced files.
+ In this way, you are finally able to take full advantage of the many different
+ applications that are relevant to use when you write your documents, and
+ ultimately be more productive.
+\end_layout
+
+\begin_layout Section
+The external template configuration file
 \end_layout
 
+\begin_layout Standard
+It is relatively easy to add custom external template definitions to LyX.
+ However, be aware that doing this in an careless manner most probably 
+\emph on
+will
+\emph default
+ introduce an easily exploitable security hole.
+ So before you do this, please read the discussion about security in section
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Security-discussion"
+
 \end_inset
 
 .
- This command must occur exactly once.
 \end_layout
 
-\begin_layout Description
+\begin_layout Standard
+Having said that, we encourage you to submit any interesting templates that
+ you create.
+\end_layout
+
+\begin_layout Standard
+The external templates are defined in the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-GuiName
-\begin_inset space ~
-\end_inset
-
-<guiname>
+LyXDir/lib/external_templates
 \end_layout
 
 \end_inset
 
- The text that is displayed on the button.
- This command must occur exactly once.
-\end_layout
-
-\begin_layout Description
+ file.
+ You can place your own version in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-HelpText
-\begin_inset space ~
-\end_inset
+UserDir/external_templates
+\end_layout
 
-<text>
-\begin_inset space ~
 \end_inset
 
-HelpTextEnd
+.
 \end_layout
 
-\end_inset
+\begin_layout Standard
+A typical template looks like this:
+\end_layout
 
- The help text that is used in the External dialog.
- Provide enough information to explain to the user just what the template
- can provide him with.
- This command must occur exactly once.
+\begin_layout LyX-Code
+Template XFig
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+GuiName "XFig: $$AbsOrRelPathParent$$Basename"
+\end_layout
 
-\begin_layout Plain Layout
-InputFormat
-\begin_inset space ~
-\end_inset
+\begin_layout LyX-Code
+HelpText
+\end_layout
 
-<format>
+\begin_layout LyX-Code
+An XFig figure.
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+HelpTextEnd
+\end_layout
 
- The file format of the original file.
- This must be the name of a format that is known to LyX (see section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sub:Formats"
+\begin_layout LyX-Code
+InputFormat fig
+\end_layout
 
-\end_inset
+\begin_layout LyX-Code
+FileFilter "*.fig"
+\end_layout
 
-).
- Use 
-\begin_inset Quotes eld
-\end_inset
+\begin_layout LyX-Code
+AutomaticProduction true
+\end_layout
 
+\begin_layout LyX-Code
+Transform Rotate
+\end_layout
 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+Transform Resize
+\end_layout
 
-\begin_layout Plain Layout
-*
+\begin_layout LyX-Code
+Format LaTeX
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+TransformCommand Rotate RotationLatexCommand
+\end_layout
 
+\begin_layout LyX-Code
+TransformCommand Resize ResizeLatexCommand
+\end_layout
 
-\begin_inset Quotes erd
-\end_inset
+\begin_layout LyX-Code
+Product "$$RotateFront$$ResizeFront
+\end_layout
 
- if the template can handle original files of more than one format.
- LyX will attempt to interrogate the file itself in order to deduce its
- format in this case.
- This command must occur exactly once.
+\begin_layout LyX-Code
+         
+\backslash
+
+\backslash
+input{$$AbsOrRelPathMaster$$Basename.pstex_t}
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+         $$ResizeBack$$RotateBack"
+\end_layout
 
-\begin_layout Plain Layout
-Template
-\begin_inset space ~
-\end_inset
+\begin_layout LyX-Code
+UpdateFormat pstex
+\end_layout
 
-<id>
+\begin_layout LyX-Code
+UpdateResult "$$AbsPath$$Basename.pstex_t"
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+Requirement "graphicx"
+\end_layout
 
- A unique name for the template.
- It must not contain substitution macros (see below).
+\begin_layout LyX-Code
+ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+ReferencedFile latex "$$AbsPath$$Basename.eps"
+\end_layout
 
-\begin_layout Plain Layout
-Transform
-\begin_inset space ~
-\end_inset
+\begin_layout LyX-Code
+ReferencedFile dvi "$$AbsPath$$Basename.eps"
+\end_layout
 
-Rotate|Resize|Clip|Extra
+\begin_layout LyX-Code
+FormatEnd
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+Format PDFLaTeX
+\end_layout
 
- This command specifies which transformations are supported by this template.
- It may occur zero or more times.
- This command enables the corresponding tabs in the external dialog.
- Each 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+TransformCommand Rotate RotationLatexCommand
+\end_layout
 
-\begin_layout Plain Layout
-Transform
+\begin_layout LyX-Code
+TransformCommand Resize ResizeLatexCommand
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+Product "$$RotateFront$$ResizeFront
+\end_layout
 
- command must have either a corresponding 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+         
+\backslash
 
-\begin_layout Plain Layout
-TransformCommand
+\backslash
+input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
+\end_layout
+
+\begin_layout LyX-Code
+         $$ResizeBack$$RotateBack"
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+UpdateFormat pdftex
+\end_layout
 
- or a 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+UpdateResult "$$AbsPath$$Basename.pdftex_t"
+\end_layout
 
-\begin_layout Plain Layout
-TransformOption
+\begin_layout LyX-Code
+Requirement "graphicx"
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
+\end_layout
 
- command in the 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+ReferencedFile latex "$$AbsPath$$Basename.pdf"
+\end_layout
 
-\begin_layout Plain Layout
-Format
+\begin_layout LyX-Code
+FormatEnd
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+Format Ascii
+\end_layout
 
- section.
- Otherwise the transformation will not be supported by that format.
+\begin_layout LyX-Code
+Product "$$Contents(
+\backslash
+"$$AbsPath$$Basename.asc
+\backslash
+")"
 \end_layout
 
-\begin_layout Subsection
-The Format section
+\begin_layout LyX-Code
+UpdateFormat asciixfig
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+UpdateResult "$$AbsPath$$Basename.asc"
+\end_layout
 
-\begin_layout Plain Layout
-Format
-\begin_inset space ~
-\end_inset
+\begin_layout LyX-Code
+FormatEnd
+\end_layout
 
-LaTeX|PDFLaTeX|PlainText|DocBook
+\begin_layout LyX-Code
+Format DocBook
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+Product "<graphic fileref=
+\backslash
+"$$AbsOrRelPathMaster$$Basename.eps
+\backslash
+">
+\end_layout
 
- The primary document file format that this format definition is for.
- Not every template has a sensible representation in all document file formats.
- Please define nevertheless a 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+         </graphic>"
+\end_layout
 
-\begin_layout Plain Layout
-Format
+\begin_layout LyX-Code
+UpdateFormat eps
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+UpdateResult "$$AbsPath$$Basename.eps"
+\end_layout
 
- section for all formats.
- Use a dummy text when no representation is available.
- Then you can at least see a reference to the external material in the exported
- document.
+\begin_layout LyX-Code
+ReferencedFile docbook "$$AbsPath$$Basename.eps"
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
+\end_layout
 
-\begin_layout Plain Layout
-Option
-\begin_inset space ~
-\end_inset
+\begin_layout LyX-Code
+FormatEnd
+\end_layout
 
-<name>
-\begin_inset space ~
-\end_inset
+\begin_layout LyX-Code
+Product "[XFig: $$FName]"
+\end_layout
 
-<value>
+\begin_layout LyX-Code
+FormatEnd
 \end_layout
 
-\end_inset
+\begin_layout LyX-Code
+TemplateEnd
+\end_layout
 
- This command defines an additional macro 
+\begin_layout Standard
+As you can see, the template is enclosed in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$<name>
+Template
 \end_layout
 
 \end_inset
 
- for substitution in 
+ \SpecialChar \ldots{}
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Product
+TemplateEnd
 \end_layout
 
 \end_inset
 
 .
+ It contains a header specifying some general settings and, for each supported
+ primary document file format, a section 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-<value>
+Format
 \end_layout
 
 \end_inset
 
- itself may contain substitution macros.
- The advantage over using 
+ \SpecialChar \ldots{}
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-<value>
+FormatEnd
 \end_layout
 
 \end_inset
 
- directly in 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Product
+.
 \end_layout
 
-\end_inset
+\begin_layout Subsection
+The template header
+\end_layout
 
- is that the substituted value of 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$<name>
+AutomaticProduction
+\begin_inset space ~
+\end_inset
+
+true|false
 \end_layout
 
 \end_inset
 
is sanitized so that it is a valid optional argument in the document format.
- This command may occur zero or more times.
Whether the file represented by the template must be generated by LyX.
+ This command must occur exactly once.
 \end_layout
 
 \begin_layout Description
@@ -14378,59 +17284,57 @@ $$<name>
 status collapsed
 
 \begin_layout Plain Layout
-Product
+FileFilter
 \begin_inset space ~
 \end_inset
 
-<text>
+<pattern>
 \end_layout
 
 \end_inset
 
- The text that is inserted in the exported document.
- This is actually the most important command and can be quite complex.
- This command must occur exactly once.
-\end_layout
+ A glob pattern that is used in the file dialog to filter out the desired
+ files.
+ If there is more than one possible file extension (e.
+\begin_inset space \thinspace{}
+\end_inset
 
-\begin_layout Description
+g.
+\begin_inset space \space{}
+\end_inset
+
+tgif has 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Preamble
-\begin_inset space ~
-\end_inset
-
-<name>
+.obj
 \end_layout
 
 \end_inset
 
- This command specifies a preamble snippet that will be included in the
- LaTeX preamble.
- It has to be defined using 
+ and 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-PreambleDef
+.tgo
 \end_layout
 
 \end_inset
 
- \SpecialChar \ldots{}
+), use something like 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-PreambleDefEnd
+"*.{obj,tgo}"
 \end_layout
 
 \end_inset
 
 .
- This command may occur zero or more times.
+ This command must occur exactly once.
 \end_layout
 
 \begin_layout Description
@@ -14438,23 +17342,17 @@ PreambleDefEnd
 status collapsed
 
 \begin_layout Plain Layout
-ReferencedFile
-\begin_inset space ~
-\end_inset
-
-<format>
+GuiName
 \begin_inset space ~
 \end_inset
 
-<filename>
+<guiname>
 \end_layout
 
 \end_inset
 
- This command denotes files that are created by the conversion process and
- are needed for a particular export format.
- If the filename is relative, it is interpreted relative to the master document.
- This command may be given zero or more times.
+ The text that is displayed on the button.
+ This command must occur exactly once.
 \end_layout
 
 \begin_layout Description
@@ -14462,30 +17360,23 @@ ReferencedFile
 status collapsed
 
 \begin_layout Plain Layout
-Requirement
+HelpText
 \begin_inset space ~
 \end_inset
 
-<package>
-\end_layout
-
+<text>
+\begin_inset space ~
 \end_inset
 
- The name of a required LaTeX package.
- The package is included via 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-
-\backslash
-usepackage{}
+HelpTextEnd
 \end_layout
 
 \end_inset
 
- in the LaTeX preamble.
- This command may occur zero or more times.
+ The help text that is used in the External dialog.
+ Provide enough information to explain to the user just what the template
+ can provide him with.
+ This command must occur exactly once.
 \end_layout
 
 \begin_layout Description
@@ -14493,45 +17384,46 @@ usepackage{}
 status collapsed
 
 \begin_layout Plain Layout
-TransformCommand
+InputFormat
 \begin_inset space ~
 \end_inset
 
-Rotate
-\begin_inset space ~
+<format>
+\end_layout
+
 \end_inset
 
-RotationLatexCommand
-\end_layout
+ The file format of the original file.
+ This must be the name of a format that is known to LyX (see section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Formats"
 
 \end_inset
 
- This command specifies that the built in LaTeX command should be used for
- rotation.
- This command may occur once or not at all.
-\end_layout
+).
+ Use 
+\begin_inset Quotes eld
+\end_inset
+
 
-\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-TransformCommand
-\begin_inset space ~
-\end_inset
+*
+\end_layout
 
-Resize
-\begin_inset space ~
 \end_inset
 
-ResizeLatexCommand
-\end_layout
 
+\begin_inset Quotes erd
 \end_inset
 
- This command specifies that the built in LaTeX command should be used for
- resizing.
- This command may occur once or not at all.
+ if the template can handle original files of more than one format.
+ LyX will attempt to interrogate the file itself in order to deduce its
+ format in this case.
+ This command must occur exactly once.
 \end_layout
 
 \begin_layout Description
@@ -14539,21 +17431,17 @@ ResizeLatexCommand
 status collapsed
 
 \begin_layout Plain Layout
-TransformOption
-\begin_inset space ~
-\end_inset
-
-Rotate
+Template
 \begin_inset space ~
 \end_inset
 
-RotationLatexOption
+<id>
 \end_layout
 
 \end_inset
 
This command specifies that rotation is done via an optional argument.
This command may occur once or not at all.
A unique name for the template.
It must not contain substitution macros (see below).
 \end_layout
 
 \begin_layout Description
@@ -14561,65 +17449,64 @@ RotationLatexOption
 status collapsed
 
 \begin_layout Plain Layout
-TransformOption
-\begin_inset space ~
-\end_inset
-
-Resize
+Transform
 \begin_inset space ~
 \end_inset
 
-ResizeLatexOption
+Rotate|Resize|Clip|Extra
 \end_layout
 
 \end_inset
 
- This command specifies that resizing is done via an optional argument.
- This command may occur once or not at all.
-\end_layout
-
-\begin_layout Description
+ This command specifies which transformations are supported by this template.
+ It may occur zero or more times.
+ This command enables the corresponding tabs in the external dialog.
+ Each 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-TransformOption
-\begin_inset space ~
-\end_inset
+Transform
+\end_layout
 
-Clip
-\begin_inset space ~
 \end_inset
 
-ClipLatexOption
+ command must have either a corresponding 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+TransformCommand
 \end_layout
 
 \end_inset
 
- This command specifies that clipping is done via an optional argument.
- This command may occur once or not at all.
-\end_layout
-
-\begin_layout Description
+ or a 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
 TransformOption
-\begin_inset space ~
-\end_inset
+\end_layout
 
-Extra
-\begin_inset space ~
 \end_inset
 
-ExtraLatexOption
+ command in the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Format
 \end_layout
 
 \end_inset
 
- This command specifies that an extra optional argument is used.
- This command may occur once or not at all.
+ section.
+ Otherwise the transformation will not be supported by that format.
+\end_layout
+
+\begin_layout Subsection
+The Format section
 \end_layout
 
 \begin_layout Description
@@ -14627,37 +17514,31 @@ ExtraLatexOption
 status collapsed
 
 \begin_layout Plain Layout
-UpdateFormat
+Format
 \begin_inset space ~
 \end_inset
 
-<format>
+LaTeX|PDFLaTeX|PlainText|DocBook
 \end_layout
 
 \end_inset
 
- The file format of the converted file.
- This must be the name of a format that is known to LyX (see the 
-\begin_inset Flex CharStyle:MenuItem
+ The primary document file format that this format definition is for.
+ Not every template has a sensible representation in all document file formats.
+ Please define nevertheless a 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references:Conversion
+Format
 \end_layout
 
 \end_inset
 
- dialog).
- This command must occur exactly once.
+ section for all formats.
+ Use a dummy text when no representation is available.
+ Then you can at least see a reference to the external material in the exported
+ document.
 \end_layout
 
 \begin_layout Description
@@ -14665,119 +17546,83 @@ references:Conversion
 status collapsed
 
 \begin_layout Plain Layout
-UpdateResult
+Option
 \begin_inset space ~
 \end_inset
 
-<filename>
-\end_layout
-
+<name>
+\begin_inset space ~
 \end_inset
 
- The file name of the converted file.
- The file name must be absolute.
- This command must occur exactly once.
+<value>
 \end_layout
 
-\begin_layout Subsection
-Preamble definitions
-\end_layout
+\end_inset
 
-\begin_layout Standard
-The external template configuration file may contain additional preamble
- definitions enclosed by 
+ This command defines an additional macro 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-PreambleDef
+$$<name>
 \end_layout
 
 \end_inset
 
- \SpecialChar \ldots{}
+ for substitution in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-PreambleDefEnd
+Product
 \end_layout
 
 \end_inset
 
 .
- They can be used by the templates in the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Format
+<value>
 \end_layout
 
 \end_inset
 
- section.
-\end_layout
-
-\begin_layout Section
-The substitution mechanism
-\end_layout
-
-\begin_layout Standard
-When the external material facility invokes an external program, it is done
- on the basis of a command defined in the template configuration file.
- These commands can contain various macros that are expanded before execution.
- Execution always take place in the directory of the containing document.
-\end_layout
-
-\begin_layout Standard
-Also, whenever external material is to be displayed, the name will be produced
- by the substitution mechanism, and most other commands in the template
- definition support substitution as well.
-\end_layout
-
-\begin_layout Standard
-The available macros are the following:
-\end_layout
-
-\begin_layout Description
+ itself may contain substitution macros.
+ The advantage over using 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$AbsOrRelPathMaster
+<value>
 \end_layout
 
 \end_inset
 
- The file path, absolute or relative to the master LyX document.
-\end_layout
-
-\begin_layout Description
+ directly in 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$AbsOrRelPathParent
+Product
 \end_layout
 
 \end_inset
 
- The file path, absolute or relative to the LyX document.
-\end_layout
-
-\begin_layout Description
+ is that the substituted value of 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$AbsPath
+$$<name>
 \end_layout
 
 \end_inset
 
- The absolute file path.
+ is sanitized so that it is a valid optional argument in the document format.
+ This command may occur zero or more times.
 \end_layout
 
 \begin_layout Description
@@ -14785,12 +17630,18 @@ $$AbsPath
 status collapsed
 
 \begin_layout Plain Layout
-$$Basename
+Product
+\begin_inset space ~
+\end_inset
+
+<text>
 \end_layout
 
 \end_inset
 
- The filename without path and without the extension.
+ The text that is inserted in the exported document.
+ This is actually the most important command and can be quite complex.
+ This command must occur exactly once.
 \end_layout
 
 \begin_layout Description
@@ -14798,43 +17649,40 @@ $$Basename
 status collapsed
 
 \begin_layout Plain Layout
-$$Contents(
-\begin_inset Quotes eld
-\end_inset
-
-filename.ext
-\begin_inset Quotes erd
+Preamble
+\begin_inset space ~
 \end_inset
 
-)
+<name>
 \end_layout
 
 \end_inset
 
- This macro will expand to the contents of the file with the name 
+ This command specifies a preamble snippet that will be included in the
+ LaTeX preamble.
+ It has to be defined using 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-filename.ext
+PreambleDef
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Description
+ \SpecialChar \ldots{}
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$Extension
+PreambleDefEnd
 \end_layout
 
 \end_inset
 
- The file extension (including the dot).
+.
+ This command may occur zero or more times.
 \end_layout
 
 \begin_layout Description
@@ -14842,49 +17690,54 @@ $$Extension
 status collapsed
 
 \begin_layout Plain Layout
-$$FName
-\end_layout
+ReferencedFile
+\begin_inset space ~
+\end_inset
 
+<format>
+\begin_inset space ~
 \end_inset
 
- The filename of the file specified in the external material dialog.
- This is either an absolute name, or it is relative to the LyX document.
+<filename>
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
 
-\begin_layout Plain Layout
-$$FPath
+ This command denotes files that are created by the conversion process and
+ are needed for a particular export format.
+ If the filename is relative, it is interpreted relative to the master document.
+ This command may be given zero or more times.
 \end_layout
 
-\end_inset
-
- The path part of 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$FName
-\end_layout
-
+Requirement
+\begin_inset space ~
 \end_inset
 
- (absolute name or relative to the LyX document).
+<package>
 \end_layout
 
-\begin_layout Description
+\end_inset
+
+ The name of a required LaTeX package.
+ The package is included via 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$RelPathMaster
+
+\backslash
+usepackage{}
 \end_layout
 
 \end_inset
 
- The file path, relative to the master LyX document.
+ in the LaTeX preamble.
+ This command may occur zero or more times.
 \end_layout
 
 \begin_layout Description
@@ -14892,12 +17745,22 @@ $$RelPathMaster
 status collapsed
 
 \begin_layout Plain Layout
-$$RelPathParent
+TransformCommand
+\begin_inset space ~
+\end_inset
+
+Rotate
+\begin_inset space ~
+\end_inset
+
+RotationLatexCommand
 \end_layout
 
 \end_inset
 
- The file path, relative to the LyX document.
+ This command specifies that the built in LaTeX command should be used for
+ rotation.
+ This command may occur once or not at all.
 \end_layout
 
 \begin_layout Description
@@ -14905,14 +17768,22 @@ $$RelPathParent
 status collapsed
 
 \begin_layout Plain Layout
-$$Sysdir
+TransformCommand
+\begin_inset space ~
+\end_inset
+
+Resize
+\begin_inset space ~
+\end_inset
+
+ResizeLatexCommand
 \end_layout
 
 \end_inset
 
- This macro will expand to the absolute path of the system directory.
- This is typically used to point to the various helper scripts that are
bundled with LyX.
+ This command specifies that the built in LaTeX command should be used for
+ resizing.
This command may occur once or not at all.
 \end_layout
 
 \begin_layout Description
@@ -14920,66 +17791,65 @@ $$Sysdir
 status collapsed
 
 \begin_layout Plain Layout
-$$Tempname
+TransformOption
+\begin_inset space ~
+\end_inset
+
+Rotate
+\begin_inset space ~
+\end_inset
+
+RotationLatexOption
 \end_layout
 
 \end_inset
 
- A name and full path to a temporary file which will be automatically deleted
- whenever the containing document is closed, or the external material insertion
- deleted.
+ This command specifies that rotation is done via an optional argument.
+ This command may occur once or not at all.
 \end_layout
 
-\begin_layout Standard
-All path macros contain a trailing directory separator, so you can construct
- e.g.
- the absolute filename with 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$AbsPath$$Basename$$Extension
-\end_layout
+TransformOption
+\begin_inset space ~
+\end_inset
 
+Resize
+\begin_inset space ~
 \end_inset
 
-.
+ResizeLatexOption
 \end_layout
 
-\begin_layout Standard
-The macros above are substituted in all commands unless otherwise noted.
- The command 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
 
-\begin_layout Plain Layout
-Product
+ This command specifies that resizing is done via an optional argument.
+ This command may occur once or not at all.
 \end_layout
 
-\end_inset
-
- supports additionally the following substitutions if they are enabled by
- the 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Transform
-\end_layout
-
+TransformOption
+\begin_inset space ~
 \end_inset
 
- and 
-\begin_inset Flex CharStyle:Code
-status collapsed
+Clip
+\begin_inset space ~
+\end_inset
 
-\begin_layout Plain Layout
-TransformCommand
+ClipLatexOption
 \end_layout
 
 \end_inset
 
- commands:
+ This command specifies that clipping is done via an optional argument.
+ This command may occur once or not at all.
 \end_layout
 
 \begin_layout Description
@@ -14987,12 +17857,21 @@ TransformCommand
 status collapsed
 
 \begin_layout Plain Layout
-$$ResizeFront
+TransformOption
+\begin_inset space ~
+\end_inset
+
+Extra
+\begin_inset space ~
+\end_inset
+
+ExtraLatexOption
 \end_layout
 
 \end_inset
 
- The front part of the resize command.
+ This command specifies that an extra optional argument is used.
+ This command may occur once or not at all.
 \end_layout
 
 \begin_layout Description
@@ -15000,25 +17879,37 @@ $$ResizeFront
 status collapsed
 
 \begin_layout Plain Layout
-$$ResizeBack
-\end_layout
-
+UpdateFormat
+\begin_inset space ~
 \end_inset
 
- The back part of the resize command.
+<format>
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+ The file format of the converted file.
+ This must be the name of a format that is known to LyX (see the 
+\begin_inset Flex CharStyle:MenuItem
 status collapsed
 
 \begin_layout Plain Layout
-$$RotateFront
+
+\bar under
+T
+\bar default
+ools\SpecialChar \menuseparator
+
+\bar under
+P
+\bar default
+references:Conversion
 \end_layout
 
 \end_inset
 
- The front part of the rotation command.
+ dialog).
+ This command must occur exactly once.
 \end_layout
 
 \begin_layout Description
@@ -15026,73 +17917,80 @@ $$RotateFront
 status collapsed
 
 \begin_layout Plain Layout
-$$RotateBack
+UpdateResult
+\begin_inset space ~
+\end_inset
+
+<filename>
 \end_layout
 
 \end_inset
 
- The back part of the rotation command.
+ The file name of the converted file.
+ The file name must be absolute.
+ This command must occur exactly once.
+\end_layout
+
+\begin_layout Subsection
+Preamble definitions
 \end_layout
 
 \begin_layout Standard
-The value string of the 
+The external template configuration file may contain additional preamble
+ definitions enclosed by 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Option
+PreambleDef
 \end_layout
 
 \end_inset
 
- command supports additionally the following substitutions if they are enabled
- by the 
+ \SpecialChar \ldots{}
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Transform
+PreambleDefEnd
 \end_layout
 
 \end_inset
 
- and 
+.
+ They can be used by the templates in the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-TransformOption
+Format
 \end_layout
 
 \end_inset
 
- commands:
+ section.
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-$$Clip
+\begin_layout Section
+The substitution mechanism
 \end_layout
 
-\end_inset
-
- The clip option.
+\begin_layout Standard
+When the external material facility invokes an external program, it is done
+ on the basis of a command defined in the template configuration file.
+ These commands can contain various macros that are expanded before execution.
+ Execution always take place in the directory of the containing document.
 \end_layout
 
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-$$Extra
+\begin_layout Standard
+Also, whenever external material is to be displayed, the name will be produced
+ by the substitution mechanism, and most other commands in the template
+ definition support substitution as well.
 \end_layout
 
-\end_inset
-
- The extra option.
+\begin_layout Standard
+The available macros are the following:
 \end_layout
 
 \begin_layout Description
@@ -15100,12 +17998,12 @@ $$Extra
 status collapsed
 
 \begin_layout Plain Layout
-$$Resize
+$$AbsOrRelPathMaster
 \end_layout
 
 \end_inset
 
- The resize option.
+ The file path, absolute or relative to the master LyX document.
 \end_layout
 
 \begin_layout Description
@@ -15113,49 +18011,15 @@ $$Resize
 status collapsed
 
 \begin_layout Plain Layout
-$$Rotate
+$$AbsOrRelPathParent
 \end_layout
 
 \end_inset
 
- The rotation option.
-\end_layout
-
-\begin_layout Standard
-You may ask why there are so many path macros.
- There are mainly two reasons:
-\end_layout
-
-\begin_layout Enumerate
-Relative and absolute file names should remain relative or absolute, respectivel
-y.
- Users may have reasons to prefer either form.
- Relative names are useful for portable documents that should work on different
- machines, for example.
- Absolute names may be required by some programs.
-\end_layout
-
-\begin_layout Enumerate
-LaTeX treats relative file names differently than LyX and other programs
- in nested included files.
- For LyX, a relative file name is always relative to the document that contains
- the file name.
- For LaTeX, it is always relative to the master document.
- These two definitions are identical if you have only one document, but
- differ if you have a master document that includes part documents.
- That means that relative filenames must be transformed when presented to
- LaTeX.
- Fortunately LyX does this automatically for you if you choose the right
- macros.
-\end_layout
-
-\begin_layout Standard
-So which path macro should be used in new template definitions? The rule
- is not difficult:
+ The file path, absolute or relative to the LyX document.
 \end_layout
 
-\begin_layout Itemize
-Use 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -15165,757 +18029,565 @@ $$AbsPath
 
 \end_inset
 
if an absolute path is required.
The absolute file path.
 \end_layout
-
-\begin_layout Itemize
-Use 
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$AbsOrRelPathMaster
+$$Basename
 \end_layout
 
 \end_inset
 
if the substituted string is some kind of LaTeX input.
The filename without path and without the extension.
 \end_layout
 
-\begin_layout Itemize
-Else use 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-$$AbsOrRelPathParent
-\end_layout
+$$Contents(
+\begin_inset Quotes eld
+\end_inset
 
+filename.ext
+\begin_inset Quotes erd
 \end_inset
 
- in order to preserve the user's choice.
+)
 \end_layout
 
-\begin_layout Standard
-There are special cases where this rule does not work and e.g.
-\begin_inset space ~
 \end_inset
 
-relative names are needed, but normally it will work just fine.
- One example for such a case is the command 
+ This macro will expand to the contents of the file with the name 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
+filename.ext
 \end_layout
 
 \end_inset
 
- in the XFig template above: We can't use the absolute name because the
- copier for 
+.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.pstex_t
-\end_layout
-
-\end_inset
-
- files needs the relative name in order to rewrite the file content.
+$$Extension
 \end_layout
 
-\begin_layout Section
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Security-discussion"
-
 \end_inset
 
-Security discussion
+ The file extension (including the dot).
 \end_layout
 
-\begin_layout Standard
-\begin_inset Box Shadowbox
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-width "100col%"
-special "none"
-height "1in"
-height_special "totalheight"
-status open
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
 
 \begin_layout Plain Layout
-WARNING: This section is definitely outdated.
+$$FName
 \end_layout
 
 \end_inset
 
-
-\end_layout
-
-\begin_layout Standard
-The external material feature interfaces with a lot of external programs
- and does so automatically, so we have to consider the security implications
- of this.
- In particular, since you have the option of including your own filenames
- and/or parameter strings and those are expanded into a command, it seems
- that it would be possible to create a malicious document which executes
- arbitrary commands when a user views or prints the document.
- This is something we definately want to avoid.
+ The filename of the file specified in the external material dialog.
+ This is either an absolute name, or it is relative to the LyX document.
 \end_layout
 
-\begin_layout Standard
-However, since the external program commands are specified in the template
- configuration file only, there are no security issues if LyX is properly
- configured with safe templates only.
- This is so because the external programs are invoked with the 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-execvp
+$$FPath
 \end_layout
 
 \end_inset
 
--system call rather than the 
+ The path part of 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-system
+$$FName
 \end_layout
 
 \end_inset
 
- system-call, so it's not possible to execute arbitrary commands from the
- filename or parameter section via the shell.
+ (absolute name or relative to the LyX document).
 \end_layout
 
-\begin_layout Standard
-This also implies that you are restricted in what command strings you can
- use in the external material templates.
- In particular, pipes and redirection are not readily available.
- This has to be so if LyX should remain safe.
- If you want to use some of the shell features, you should write a safe
- script to do this in a controlled manner, and then invoke the script from
- the command string.
- In the 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lib/scripts
+$$RelPathMaster
 \end_layout
 
 \end_inset
 
- directory of the LyX installation, you can find a safe wrapper script 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-general_command_wrapper.py
+ The file path, relative to the master LyX document.
 \end_layout
 
-\end_inset
-
- that supports redirection of input and output.
- That can serve as an example for how to write safe template scripts.
- For a more advanced example that uses 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-fork
+$$RelPathParent
 \end_layout
 
 \end_inset
 
- and friends, take a look at the 
+ The file path, relative to the LyX document.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-pic2ascii.py
+$$Sysdir
 \end_layout
 
 \end_inset
 
- converter script.
+ This macro will expand to the absolute path of the system directory.
+ This is typically used to point to the various helper scripts that are
+ bundled with LyX.
 \end_layout
 
-\begin_layout Standard
-It is possible to design a template that interacts directly with the shell,
- but since this would allow a malicious user to execute arbitrary commands
- by writing clever filenames and/or parameters, we generally recommend that
- you only use safe scripts that work with the 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-execvp
+$$Tempname
 \end_layout
 
 \end_inset
 
- system call in a controlled manner.
- Of course, for use in a controlled environment, it can be tempting to just
- fall back to use ordinary shell scripts.
- If you do so, be aware that you 
-\emph on
-will
-\emph default
- provide an easily exploitable security hole in your system.
- Of course it stands to reason that such unsafe templates will never be
- included in the standard LyX distribution, although we do encourage people
- to submit new templates in the open source tradition.
- But LyX as shipped from the official distribution channels will never have
- unsafe templates.
+ A name and full path to a temporary file which will be automatically deleted
+ whenever the containing document is closed, or the external material insertion
+ deleted.
 \end_layout
 
 \begin_layout Standard
-Including external material provides a lot of power, and you have to be
- careful not to introduce security hazards with this power.
- A subtle error in a single line in an innocent looking script can open
- the door to huge security problems.
- So if you do not fully understand the issues, we recommend that you consult
- a knowledgable security professional or the LyX development team if you
- have any questions about whether a given template is safe or not.
- And do this before you use it in an uncontrolled environment.
-\end_layout
+All path macros contain a trailing directory separator, so you can construct
+ e.
+\begin_inset space \thinspace{}
+\end_inset
 
-\begin_layout Chapter
-The LyX Server
-\end_layout
+g.
+\begin_inset space \space{}
+\end_inset
 
-\begin_layout Section
-Introduction
-\end_layout
+the absolute filename with 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Standard
-The `LyX server' allows other programs to talk to LyX, invoke LyX commands,
- and retrieve information about the LyX internal state.
- This is only intended for advanced users, but they should find it useful.
- It is by writing to the LyX server, for example, that bibliography managers,
- such as JabRef, are able to 
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Plain Layout
+$$AbsPath$$Basename$$Extension
+\end_layout
 
-push
-\begin_inset Quotes erd
 \end_inset
 
- citations to LyX.
+.
 \end_layout
 
 \begin_layout Standard
-Please note that, at present, 
-\emph on
-the server does not work on Windows
-\emph default
-®.
-\begin_inset Foot
+The macros above are substituted in all commands unless otherwise noted.
+ The command 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-There is no reason it cannot do so.
- But none of the developers on Windows® have yet implemented this functionality
- there.
+Product
 \end_layout
 
 \end_inset
 
+ supports additionally the following substitutions if they are enabled by
+ the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
+\begin_layout Plain Layout
+Transform
 \end_layout
 
-\begin_layout Section
-Starting the LyX Server
-\end_layout
+\end_inset
 
-\begin_layout Standard
-The LyX server works through the use of a pair of named pipes.
- These are usually located in 
+ and 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-UserDir
+TransformCommand
 \end_layout
 
 \end_inset
 
- and have the names 
-\begin_inset Quotes eld
-\end_inset
-
+ commands:
+\end_layout
 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyxpipe.in
+$$ResizeFront
 \end_layout
 
 \end_inset
 
+ The front part of the resize command.
+\end_layout
 
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+$$ResizeBack
+\end_layout
 
- and 
-\begin_inset Quotes eld
 \end_inset
 
+ The back part of the resize command.
+\end_layout
 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyxpipe.out
+$$RotateFront
 \end_layout
 
 \end_inset
 
+ The front part of the rotation command.
+\end_layout
 
-\begin_inset Quotes erd
-\end_inset
-
-.
- External programs write into 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.lyxpipe.in
+$$RotateBack
 \end_layout
 
 \end_inset
 
- and read back data from 
+ The back part of the rotation command.
+\end_layout
+
+\begin_layout Standard
+The value string of the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.lyxpipe.out
+Option
 \end_layout
 
 \end_inset
 
-.
The stem of the pipe names can be defined in the 
-\begin_inset Flex CharStyle:MenuItem
+ command supports additionally the following substitutions if they are enabled
by the 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references
+Transform
 \end_layout
 
 \end_inset
 
- dialog, for example 
+ and 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-"/home/myhome/lyxpipe"
+TransformOption
 \end_layout
 
 \end_inset
 
-.
- You 
-\emph on
-must
-\emph default
- configure this manually in order for the server to start.
+ commands:
 \end_layout
 
-\begin_layout Standard
-LyX will add the '
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.in
+$$Clip
 \end_layout
 
 \end_inset
 
-' and '
+ The clip option.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.out
+$$Extra
 \end_layout
 
 \end_inset
 
-' to create the pipes.
- If one of the pipes already exists, LyX will assume that another LyX process
- is already running and will not start the server.
- This means that if LyX crashes, or if for some other reason, a 
-\begin_inset Quotes eld
-\end_inset
-
-stale
-\begin_inset Quotes erd
-\end_inset
-
- pipe is left in existence when LyX closes, then LyX will not start the
- server.
- (This is bug 641.) You will need to delete the pipes manually and then restart
- LyX.
+ The extra option.
 \end_layout
 
-\begin_layout Standard
-To have several LyX processes with servers at the same time, you have to
- use different configurations, perhaps by using separate user directories,
- each with its own 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-preferences
+$$Resize
 \end_layout
 
 \end_inset
 
file, for each process.
The resize option.
 \end_layout
 
-\begin_layout Standard
-If you are developing a client program, you might find it useful to enable
- debugging information from the LyX server.
- Do this by starting LyX as 
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyx -dbg lyxserver
+$$Rotate
 \end_layout
 
 \end_inset
 
-.
+ The rotation option.
 \end_layout
 
 \begin_layout Standard
-Other than this, there are a few points to consider:
+You may ask why there are so many path macros.
+ There are mainly two reasons:
 \end_layout
 
-\begin_layout Itemize
-Both server and clients must run on UNIX or OS/2 machines.
- Communications between LyX on UNIX and clients on OS/2 or vice versa is
- not possible right now.
+\begin_layout Enumerate
+Relative and absolute file names should remain relative or absolute, respectivel
+y.
+ Users may have reasons to prefer either form.
+ Relative names are useful for portable documents that should work on different
+ machines, for example.
+ Absolute names may be required by some programs.
 \end_layout
 
-\begin_layout Itemize
-On OS/2, only one client can connect to LyXServer at a time.
+\begin_layout Enumerate
+LaTeX treats relative file names differently than LyX and other programs
+ in nested included files.
+ For LyX, a relative file name is always relative to the document that contains
+ the file name.
+ For LaTeX, it is always relative to the master document.
+ These two definitions are identical if you have only one document, but
+ differ if you have a master document that includes part documents.
+ That means that relative filenames must be transformed when presented to
+ LaTeX.
+ Fortunately LyX does this automatically for you if you choose the right
+ macros.
+\end_layout
+
+\begin_layout Standard
+So which path macro should be used in new template definitions? The rule
+ is not difficult:
 \end_layout
 
 \begin_layout Itemize
-On OS/2, clients must open the input pipe with 
+Use 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-O_WRONLY
+$$AbsPath
 \end_layout
 
 \end_inset
 
mode.
if an absolute path is required.
 \end_layout
 
-\begin_layout Standard
-You can find a complete example client written in C in the source distribution
- as 
+\begin_layout Itemize
+Use 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-development/lyxserver/server_monitor.c
+$$AbsOrRelPathMaster
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Section
-Normal communication
+ if the substituted string is some kind of LaTeX input.
 \end_layout
 
-\begin_layout Standard
-To issue a LyX call, the client writes a line of ASCII text into the input
- pipe.
- This line has the following format:
-\end_layout
+\begin_layout Itemize
+Else use 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Quote
-LYXCMD:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-argument
+\begin_layout Plain Layout
+$$AbsOrRelPathParent
 \end_layout
 
-\begin_layout Description
-clientname is a name that the client can choose arbitrarily.
- Its only use is that LyX will echo it if it sends an answer---so a client
- can dispatch results from different requesters.
-\end_layout
+\end_inset
 
-\begin_layout Description
-function is the function you want LyX to perform.
- It is the same as the commands you'd use in the minibuffer.
+ in order to preserve the user's choice.
 \end_layout
 
-\begin_layout Description
-argument is an optional argument which is meaningful only to some functions
- (for instance, the 
-\begin_inset Quotes eld
+\begin_layout Standard
+There are special cases where this rule does not work and e.
+\begin_inset space \thinspace{}
 \end_inset
 
-self-insert
-\begin_inset Quotes erd
+g.
+\begin_inset space \space{}
 \end_inset
 
- LFUN will insert the argument as text at the cursor position).
-\end_layout
-
-\begin_layout Standard
-The answer from LyX will arrive in the output pipe and be of the form
-\end_layout
+relative names are needed, but normally it will work just fine.
+ One example for such a case is the command 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Quote
-INFO:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-data
+\begin_layout Plain Layout
+ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
 \end_layout
 
-\begin_layout Standard
-where 
-\emph on
-clientname
-\emph default
- and 
-\emph on
-function
-\emph default
- are just echoed from the command request, while 
-\emph on
-data
-\emph default
- is more or less useful information filled according to how the command
- execution worked out.
- Some commands, such as 
-\begin_inset Quotes eld
-\end_inset
-
-font-state
-\begin_inset Quotes erd
 \end_inset
 
-, will return information about the internal state of LyX, while other will
- return an empty data-response.
- This means that the command execution went fine.
-\end_layout
-
-\begin_layout Standard
-In case of errors, the response from LyX will have this form
-\end_layout
+ in the XFig template above: We can't use the absolute name because the
+ copier for 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Quote
-ERROR:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-error message
+\begin_layout Plain Layout
+.pstex_t
 \end_layout
 
-\begin_layout Standard
-where the 
-\emph on
-error message
-\emph default
- should contain an explanation of why the command failed.
-\end_layout
+\end_inset
 
-\begin_layout Standard
-Examples:
+ files needs the relative name in order to rewrite the file content.
 \end_layout
 
-\begin_layout LyX-Code
-echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
-\end_layout
+\begin_layout Section
+Security discussion
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Security-discussion"
 
-\begin_layout LyX-Code
-echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
-\begin_inset Newline newline
 \end_inset
 
-read a <~/.lyxpipe.out
-\begin_inset Newline newline
-\end_inset
 
-echo $a
 \end_layout
 
-\begin_layout Section
-Notification
+\begin_layout Standard
+The external material feature interfaces with a lot of external programs
+ and does so automatically, so we have to consider the security implications
+ of this.
+ In particular, since you have the option of including your own filenames
+ and/or parameter strings and those are expanded into a command, it seems
+ that it would be possible to create a malicious document which executes
+ arbitrary commands when a user views or prints the document.
+ This is something we definitely want to avoid.
 \end_layout
 
 \begin_layout Standard
-LyX can notify clients of events going on asynchronously.
- Currently it will only do this if the user binds a key sequence with the
- function 
-\begin_inset Quotes eld
-\end_inset
-
-notify
-\begin_inset Quotes erd
-\end_inset
+However, since the external program commands are specified in the template
+ configuration file only, there are no security issues if LyX is properly
+ configured with safe templates only.
+ This is so because the external programs are invoked with the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-.
- The format of the string LyX sends is as follows:
+\begin_layout Plain Layout
+execvp
 \end_layout
 
-\begin_layout Quote
+\end_inset
+
+-system call rather than the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-NOTIFY:
+system
 \end_layout
 
 \end_inset
 
-
-\emph on
-key-sequence
+ system-call, so it's not possible to execute arbitrary commands from the
+ filename or parameter section via the shell.
 \end_layout
 
 \begin_layout Standard
-where 
-\emph on
-key-sequence
-\emph default
- is the printed representation of the key sequence that was actually typed
- by the user.
+This also implies that you are restricted in what command strings you can
+ use in the external material templates.
+ In particular, pipes and redirection are not readily available.
+ This has to be so if LyX should remain safe.
+ If you want to use some of the shell features, you should write a safe
+ script to do this in a controlled manner, and then invoke the script from
+ the command string.
 \end_layout
 
 \begin_layout Standard
-This mechanism can be used to extend LyX's command set and implement macros.
- Bind some key sequence to 
-\begin_inset Quotes eld
-\end_inset
-
-notify
-\begin_inset Quotes erd
-\end_inset
-
-.
- Then start a client that listens on the output pipe, dispatches the command
- according to the sequence, and starts a function that may use LyX calls
- and LyX requests to issue a command or a series of commands to LyX.
-\end_layout
+It is possible to design a template that interacts directly with the shell,
+ but since this would allow a malicious user to execute arbitrary commands
+ by writing clever filenames and/or parameters, we generally recommend that
+ you only use safe scripts that work with the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Section
-The simple LyX Server Protocol
+\begin_layout Plain Layout
+execvp
 \end_layout
 
-\begin_layout Standard
-LyX implements a simple protocol that can be used for session management.
- All messages are of the form
-\end_layout
+\end_inset
 
-\begin_layout Quote
-LYXSRV:
+ system call in a controlled manner.
+ Of course, for use in a controlled environment, it can be tempting to just
+ fall back to use ordinary shell scripts.
+ If you do so, be aware that you 
 \emph on
-clientname
+will
 \emph default
-:
-\emph on
-protocol message
+ provide an easily exploitable security hole in your system.
+ Of course it stands to reason that such unsafe templates will never be
+ included in the standard LyX distribution, although we do encourage people
+ to submit new templates in the open source tradition.
+ But LyX as shipped from the official distribution channels will never have
+ unsafe templates.
 \end_layout
 
 \begin_layout Standard
-where 
-\emph on
-protocol message
-\emph default
- can be 
-\begin_inset Quotes eld
-\end_inset
-
-hello
-\begin_inset Quotes erd
-\end_inset
-
- or 
-\begin_inset Quotes eld
-\end_inset
-
-bye
-\begin_inset Quotes erd
-\end_inset
-
-.
- If 
-\begin_inset Quotes eld
-\end_inset
-
-hello
-\begin_inset Quotes erd
-\end_inset
-
- is received from a client, LyX will report back to inform the client that
- it's listening to it's messages, while 
-\begin_inset Quotes eld
-\end_inset
-
-bye
-\begin_inset Quotes erd
-\end_inset
-
- sent from LyX will inform clients that LyX is closing.
+Including external material provides a lot of power, and you have to be
+ careful not to introduce security hazards with this power.
+ A subtle error in a single line in an innocent looking script can open
+ the door to huge security problems.
+ So if you do not fully understand the issues, we recommend that you consult
+ a knowledgeable security professional or the LyX development team if you
+ have any questions about whether a given template is safe or not.
+ And do this before you use it in an uncontrolled environment.
 \end_layout
 
 \end_body