#LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
-\lyxformat 362
+\lyxformat 374
\begin_document
\begin_header
\textclass scrbook
\end_local_layout
\language english
\inputencoding auto
+\fontencoding global
\font_roman default
\font_sans default
\font_typewriter 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 ""
-\author ""
+\html_use_mathml true
+\html_be_strict true
\end_header
\begin_body
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
+
+\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
+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
+
+ Rather, that information, even for the standard classes like
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+article.cls
+\end_layout
+
+\end_inset
+
+, is contained in layout files.
+ Similarly, LyX itself does not know much about DocBook or XHTML.
+\end_layout
+
+\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, or DocBook,
+ or XHTML constructs.
+ Almost everything LyX knows about
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+article.cls
+\end_layout
+
+\end_inset
+
+, for example, is contained in the file
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+article.layout
+\end_layout
+
+\end_inset
+
+.
+ 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
+
+, which just gets `included' in
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+article.layout
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+book.layout
+\end_layout
+
+\end_inset
+
+, 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
+
+ tells LyX how paragraphs that are marked with the Section, Subsection,
+ etc, styles can be translated into corresponding LaTeX commands.
+ The
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+article.layout
+\end_layout
+
+\end_inset
+
+ file basically just includes several of these
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+std*.inc
+\end_layout
+
+\end_inset
+
+ files.
+\end_layout
+
+\begin_layout Standard
+Defining the LyX--LaTeX correspondence is not, however, the only thing layout
+ files do.
+ 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
+
+tell LyX how to translate it into LaTeX, and (ii)
+\begin_inset space ~
+\end_inset
+
+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 paragrpah 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 "sub:Paragraph-Style-XHTML"
+
+\end_inset
+
+ for the details.
+\end_layout
+
+\begin_layout Standard
+Some definitions: a document class is a LaTeX file (usually ending in
\begin_inset Flex CharStyle:Code
status collapsed
\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.
+ 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 that.
- For example on MiKTeX you start its program
+ a user interface for installing such packages.
+ For example, with MiKTeX, you start the program
\begin_inset Quotes eld
\end_inset
\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
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-.cls
-\end_layout
-
-\end_inset
-
- or
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-.sty
-\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
-\begin_inset space ~
-\end_inset
-
-FNDB
-\family default
- that you find in MiKTeX's
-\begin_inset Quotes eld
-\end_inset
-
-Settings
-\begin_inset Quotes erd
-\end_inset
-
- program.
- In both cases you need afterwards to reconfigure LyX using the menu
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Reconfigure
-\end_layout
-
-\end_inset
-
- and then to restart LyX.
+ 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 user interface, or if
+ the file is not available through the package browser, then you can follow
+ these steps.
\end_layout
\begin_layout Enumerate
\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
+ To find out where they are, look in the file
\begin_inset Flex CharStyle:Code
status collapsed
\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
\end_inset
-; this is usually somewhere like
+ variable; this is usually somewhere like
\begin_inset Flex CharStyle:Code
status collapsed
\end_layout
\begin_layout Enumerate
-Create your local
-\begin_inset Foot
+Your local and user trees must have the same sort of directory structure
+ as your main existing
+\begin_inset Flex CharStyle:Code
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.
+texmf
\end_layout
\end_inset
- TeX tree.
- You must follow the directory structure of your existing
+ directory, which will be found at
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-texmf
+TEXMFMAIN
\end_layout
\end_inset
- directory, which will be found at
+ (commonly,
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-TEXMFMAIN
+/usr/share/texmf/
\end_layout
\end_inset
-.
- For example, latex packages should go under
+.) For example, latex packages should go under
\begin_inset Flex CharStyle:Code
status collapsed
$TEXMFLOCAL/tex/latex/
\end_layout
+\end_inset
+
+ or
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+$TEXMFHOME/tex/latex/
+\end_layout
+
\end_inset
.
\end_layout
\begin_layout Enumerate
-Install the package.
- For example, you would unpack the FoilTeX tarball and copy it to
+Once your tree is properly set up, you can install the package into an appropria
+te location.
+ For example, you might install the FoilTeX files into
\begin_inset Flex CharStyle:Code
status collapsed
\end_layout
\begin_layout Enumerate
-Run:
+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
+
+FNDB
+\family default
+ that you find in MiKTeX's
+\begin_inset Quotes eld
+\end_inset
+
+Settings
+\begin_inset Quotes erd
+\end_inset
+
+ program.
+
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-texhash
+$TEXMFLOCAL/tex/latex/
\end_layout
\end_inset
.
- This should create
+ Under TeXLive and the like, you should run
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-$TEXMFLOCAL/ls-R
+texhash
\end_layout
\end_inset
- amongst others.
+ from a terminal, with root permissions if necessary.
+
\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
+ You can verify this from a terminal by typing `
+\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Reconfigure
+kpsewhich yourfile.ext
\end_layout
\end_inset
-) and then restart LyX.
- You should then see your new package—for example
+'.
+ To make LyX aware of it, however, you will need to reconfigure (
\begin_inset Flex CharStyle:MenuItem
status collapsed
\begin_layout Plain Layout
-slides (FoilTeX)
+Tools\SpecialChar \menuseparator
+Reconfigure
\end_layout
\end_inset
-—under
+) and then restart LyX.
+ If the new package was a document class, such as FoilTeX again, you will
+ now see it—
\begin_inset Flex CharStyle:MenuItem
status collapsed
\begin_layout Plain Layout
-Document\SpecialChar \menuseparator
-Settings
+slides (FoilTeX)
\end_layout
\end_inset
- in the
+—available under
\begin_inset Flex CharStyle:MenuItem
status collapsed
\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings\SpecialChar \menuseparator
Document Class
\end_layout
\end_inset
- drop box.
+.
\end_layout
+\begin_layout Standard
+Unless, of course, no layout file is available for your new document class.
+ That is the topic of the next section.
+\end_layout
+
\begin_layout Section
Layouts
\end_layout
\end_inset
- text class format as an example.
+ text class as an example.
The
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-.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.)
+ given document class, 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 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 by even
+ 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 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
+ the layouts distributed with LyX.
+ If you use a nice LaTeX document class that might also be of interest for
+ others and so write a corresponding LyX layout, you should consider posting
+ your layout to the
\begin_inset CommandInset href
LatexCommand href
-name "section on the LyX wiki"
+name "layout section on the LyX wiki"
target "http://wiki.lyx.org/Layouts/Layouts"
\end_inset
- for this kind of material.
-\end_layout
-
-\begin_layout Standard
-All the tags described in this chapter are case-insensitive; this means
- that
-\begin_inset Flex CharStyle:Code
+ 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
-Style
+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
-,
-\begin_inset Flex CharStyle:Code
+
+\end_layout
+
+\begin_layout Standard
+All the tags described here are case-insensitive; this means that
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Style
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
\end_inset
- are really the same command.
+ 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
\end_layout
\begin_layout Standard
-Similar to layout files, and new with LyX 1.6, are layout
+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
+.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
+
\emph on
modules
\emph default
-.
+, which have the
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+.module
+\end_layout
+
+\end_inset
+
+ extension.
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
+ some modules—such as the
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+endnotes
+\end_layout
+
+\end_inset
+
+ module—specifcally provide support for one such package.
+ In a sense, layout modules are similar to included
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+These can have any extension, but by convention have the
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+.inc
+\end_layout
+
+\end_inset
+
+ extension.
+\end_layout
+
+\end_inset
+
+ files—files like
\begin_inset Flex CharStyle:Code
status collapsed
\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
+—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
+article.cls
+\end_layout
+
+\end_inset
+
+ requires editing that file.
+ Modules, by contrast, are selected in the
\begin_inset Flex CharStyle:MenuItem
status collapsed
\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.
+ 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
\end_inset
, which declares that the module can only be used when there exists a conversion
- chain between formats `from' and `to'.
+ chain between the formats `
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+from
+\end_layout
+
+\end_inset
+
+' and `
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+to
+\end_layout
+
+\end_inset
+
+'.
\end_layout
\begin_layout Standard
\emph on
filenames
\emph default
- without the .module extension.
+ without the
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+.module
+\end_layout
+
+\end_inset
+
+ extension.
So
\begin_inset Flex CharStyle:Code
status collapsed
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,
\end_layout
\begin_layout Subsection
-Supporting new document classes
+A layout for a
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+sty
+\end_layout
+
+\end_inset
+
+ file
\end_layout
\begin_layout Standard
) files.
Supporting a style file is usually fairly easy.
Supporting a new document class 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
in this example—so you can fiddle around with the settings for the different
sections if you wish.
-\end_layout
-
-\begin_layout Subsection
-Layout for a
-\begin_inset Flex CharStyle:MenuItem
+ The layout information for sections is contained in
+\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-cls
+stdsections.inc
\end_layout
\end_inset
- file
-\end_layout
-
-\begin_layout Standard
-There are two possibilities here.
- One is that the class file is itself based upon an existing document class.
- For example, many thesis classes are based upon
-\begin_inset Flex CharStyle:MenuItem
+, 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
-book.cls
+Input stdclass.inc
\end_layout
\end_inset
-.
- To see whether yours is, look for a line like
-\end_layout
-
-\begin_layout LyX-Code
-
-\backslash
-LoadClass{book}
-\end_layout
-
-\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:
-\begin_inset Foot
-status collapsed
-
-\begin_layout Plain Layout
-And it will be easiest if you save the file to
+, which itself includes
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-thesis.layout
+stdsections.inc
\end_layout
\end_inset
-: LyX assumes that the document class has the same name as the layout file.
-
+.
+ For example, you might add these lines:
\end_layout
-\end_inset
-
-
+\begin_layout LyX-Code
+Style Chapter
\end_layout
\begin_layout LyX-Code
-
-\backslash
-DeclareLaTeXClass[thesis,book]{thesis}
+ Font
\end_layout
-\begin_layout Standard
-If, on the other hand, the new class is not based upon an existing class,
- you will probably have to
-\begin_inset Quotes eld
-\end_inset
-
-roll your own
-\begin_inset Quotes erd
-\end_inset
+\begin_layout LyX-Code
+ Family Sans
+\end_layout
- layout.
- We strongly suggest copying an existing layout file which uses a similar
- LaTeX class and then modifying it, if you can do so.
- At least use an existing file as a starting point so you can find out what
- items you need to worry about.
- Again, the specifics are covered below.
+\begin_layout LyX-Code
+ EndFont
\end_layout
-\begin_layout Section
-Declaring a new text class
+\begin_layout LyX-Code
+End
\end_layout
\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.
+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
-Here we go!
+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
-Lines in a layout file which begin with a
-\begin_inset Flex CharStyle:Code
+If
+\begin_inset Flex CharStyle:MenuItem
status collapsed
\begin_layout Plain Layout
-#
+myclass.sty
\end_layout
\end_inset
- are comments.
- There is one exception to this rule: all layouts should begin with lines
- like:
+ 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
-
-\size small
-#% Do not delete the line below; configure depends on this
+#
+\backslash
+DeclareLyXModule{My Class}
\end_layout
\begin_layout LyX-Code
-
-\size small
-#
-\backslash
-DeclareLaTeXClass{article}
+#DescriptionBegin
\end_layout
-\begin_layout Standard
-The second line is used when you configure LyX.
- The layout file is read by the LaTeX script
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-chkconfig.ltx
+\begin_layout LyX-Code
+#Support for myclass.sty.
\end_layout
+\begin_layout LyX-Code
+#DescriptionEnd
+\begin_inset Newline newline
\end_inset
-, in a special mode where
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-#
+\end_layout
+
+\begin_layout LyX-Code
+Format 11
+\begin_inset Newline newline
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+Preamble
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+usepackage{myclass}
+\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 a
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+cls
+\end_layout
+
+\end_inset
+
+ file
+\end_layout
+
+\begin_layout Standard
+There are two possibilities here.
+ One is that the class file is itself based upon an existing document class.
+ For example, many thesis classes are based upon
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+book.cls
+\end_layout
+
+\end_inset
+
+.
+ To see whether yours is, look for a line like
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+LoadClass{book}
+\end_layout
+
+\begin_layout Standard
+in the file.
+ If so, then you may proceed largely as in the previous section, though
+ 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
+
+\begin_layout Plain Layout
+And it will be easiest if you save the file to
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+thesis.layout
+\end_layout
+
+\end_inset
+
+: LyX assumes that the document class has the same name as the layout file.
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+DeclareLaTeXClass[thesis,book]{thesis}
+\end_layout
+
+\begin_layout Standard
+If, on the other hand, the new class is not based upon an existing class,
+ you will probably have to
+\begin_inset Quotes eld
+\end_inset
+
+roll your own
+\begin_inset Quotes erd
+\end_inset
+
+ layout.
+ We strongly suggest copying an existing layout file which uses a similar
+ LaTeX class and then modifying it, if you can do so.
+ At least use an existing file as a starting point so you can find out what
+ items you need to worry about.
+ Again, the specifics are covered below.
+\end_layout
+
+\begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:TextClass"
+
+\end_inset
+
+Declaring a new text class
+\end_layout
+
+\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 too much in one sitting.
+ Go have another adult beverage, just for good measure.
+\end_layout
+
+\begin_layout Standard
+Here we go!
+\end_layout
+
+\begin_layout Standard
+Lines in a layout file which begin with
+\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
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+*.layout
+\end_layout
+
+\end_inset
+
+ files should begin with a line 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}
+\end_layout
+
+\begin_layout Standard
+The second line is used when you configure LyX.
+ The layout file is read by the LaTeX script
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+chkconfig.ltx
+\end_layout
+
+\end_inset
+
+, in a special mode where
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+#
\end_layout
\end_inset
\end_layout
\begin_layout Standard
-This indicates that your text class uses the foo.sty package.
+This indicates that your text class uses the
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+foo.sty
+\end_layout
+
+\end_inset
+
+ package.
Finally, it is also possible to declare classes for DocBook code.
- Typical declarations will look like
+ Typical declarations will look like:
\end_layout
\begin_layout LyX-Code
\end_inset
-, exit LyX and restart it.
+, exit LyX and restart.
Then your new text class should be available along with the others.
\end_layout
\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
+Once the layout file is installed, you can edit it and see your changes
+ without having to reconfigure or to restart LyX.
+ In versions of LyX prior to 1.6, this was not true.
+ As a result, editing layout files was very time consuming.
+ Beginning with 1.6, however, you can force a reload of the current layout
+ by using the LyX function
\begin_inset Flex CharStyle:MenuItem
status collapsed
.
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.
+ But you will normally use this function simply by entering it in the mini-buffe
+r.
+\end_layout
+
+\begin_layout Standard
+
\emph on
Warning
\emph default
-: This is very much an `advanced feature'.
+:
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+layout-reload
+\end_layout
+
+\end_inset
+
+ is very much an `advanced feature'.
It is
\emph on
strongly
\emph on
strongly
\emph default
- recommended that you not attempt to edit your layout while simultaneously
- working on a document that you care about.
+ 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.
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
+While we're giving advice: make regular backups.
+ And be nice to your mother.
+\end_layout
+
+\end_inset
+
+
\end_layout
\begin_layout Subsection
\end_layout
\begin_layout Standard
-The first non-comment line must contain the file format number:
+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
\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 14.
+] The format of the layout file.
+\end_layout
+
+\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
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+20
+\end_layout
+
+\end_inset
+
+.
+ But LyX is capable of reading earlier formats, too, just as it is 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
\begin_layout Subsection
\begin_inset Flex CharStyle:Code
status collapsed
+\begin_layout Plain Layout
+AddToHTMLPreamble
+\end_layout
+
+\end_inset
+
+ Adds information that will be output in the
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+<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
+<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
+EndPreamble
+\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
AddToPreamble
\end_layout
\end_inset
-] Whether the class should default to having one or two columns.
+] 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
\end_inset
- This sequence defines a new counter.
- See Section
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] 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
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+End
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\begin_inset Newline newline
+\end_inset
+
+See Section
\begin_inset space ~
\end_inset
\end_inset
- for details.
- Must end with
-\begin_inset Quotes eld
+ for details on counters.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+DefaultFont
+\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 "sub:Font-description"
+
+\end_inset
+
+ for how to declare fonts.
+ Must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+EndFont
+\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
+DefaultModule
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string]
+\end_layout
+
+\end_inset
+
+ 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
+.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
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+DefaultStyle
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] This is the style that will be assigned to new paragraphs, usually
+\begin_inset Flex CharStyle:MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Standard
+\end_layout
+
+\end_inset
+
+.
+ 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
+ExcludesModule
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\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
-End
+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
status collapsed
\begin_layout Plain Layout
-DefaultFont
+Float
\end_layout
\end_inset
- Sets the default font used to display the document.
+ Defines a new float.
See Section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
-reference "sub:Font-description"
+reference "sub:Floats"
\end_inset
- for how to declare fonts.
+ for details.
Must end with
\begin_inset Quotes eld
\end_inset
status collapsed
\begin_layout Plain Layout
-EndFont
+End
\end_layout
\end_inset
status collapsed
\begin_layout Plain Layout
-DefaultModule
+HTMLPreamble
\end_layout
\end_inset
- [
+ Sets the information that will be output in the
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-string]
+<head>
\end_layout
\end_inset
- Specifies a module to be included by default with this document class,
- which should be specified by filename without 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
-.module
+HTMLPreamble
\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
+ or
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-DefaultStyle
+AddToHTMLPreamble
\end_layout
\end_inset
- [
+ declarations.
+ (Use
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-string
+AddToHTMLPreamble
\end_layout
\end_inset
-] This is the style that will be assigned to new paragraphs, usually
-\begin_inset Flex CharStyle:MenuItem
+ 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
-Standard
+EndPreamble
\end_layout
\end_inset
+
+\begin_inset Quotes erd
+\end_inset
+
.
- This will default to the first defined style if not given, but you are
- highly encouraged to use this directive.
\end_layout
\begin_layout Description
status collapsed
\begin_layout Plain Layout
-ExcludesModule
+IfCounter
\end_layout
\end_inset
\end_inset
-] Indicates that the module in question—which should be specified by filename
- without the
+] 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
+
+
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-.module
+End
\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
-theorems-sec
-\end_layout
+\begin_inset Quotes erd
+\end_inset
+.
+\begin_inset Newline newline
\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
+See Section
+\begin_inset space ~
+\end_inset
+
+
\begin_inset CommandInset ref
LatexCommand ref
-reference "sub:Layout-modules"
+reference "sub:Counters"
\end_inset
-).
+ for details on counters.
\end_layout
\begin_layout Description
status collapsed
\begin_layout Plain Layout
-Float
+IfStyle
\end_layout
\end_inset
- Defines a new float.
- See Section
-\begin_inset space ~
-\end_inset
-
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sub:Floats"
+\begin_layout Plain Layout
+string
+\end_layout
\end_inset
- for details.
+] 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
\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.
-\begin_inset space \thinspace{}
+ 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
-g.
-\begin_inset space \space{}
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+End
+\end_layout
+
\end_inset
-a new character style.
- See Section
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\begin_inset Newline newline
+\end_inset
+
+See Section
\begin_inset space ~
\end_inset
\end_inset
for more information.
- Must end with
-\begin_inset Quotes eld
-\end_inset
-
+
+\end_layout
+\begin_layout Description
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-End
+LeftMargin
\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
-LeftMargin
+string
\end_layout
\end_inset
- A string that indicates the width of the left margin on the screen, for
+] A string that indicates the width of the left margin on the screen, for
example,
\begin_inset Quotes eld
\end_inset
\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
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.
+ been defined in an input file.
\end_layout
\begin_layout Description
status collapsed
\begin_layout Plain Layout
-
-\series medium
PageStyle
\end_layout
\end_inset
-] The class default pagestyle.
+] The default pagestyle.
Can be changed in the
\begin_inset Flex CharStyle:MenuItem
status collapsed
\end_inset
declarations.
- Must end with
+ (Use
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+AddToPreamble
+\end_layout
+
+\end_inset
+
+ if you just want to add material to the preamble.) Must end with
\begin_inset Quotes eld
\end_inset
\end_inset
tag to indicate that it ought to be used.
- It could be used in a module that provided an alternate implementation
+ It could also be used in a module that provided an alternate implementation
of the same functionality.
\end_layout
.
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
+LaTeXFeatures.cpp
+\end_layout
+
+\end_inset
+
+ for a list of these.)
\end_layout
\begin_layout Description
\end_inset
- This sequence defines a new paragraph style.
- If the style already exists, it will redefine some of its parameters instead.
- See Section
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sub:Paragraph-Styles"
-
-\end_inset
-
- for details.
+ 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
\end_inset
.
+\begin_inset Newline newline
+\end_inset
+
+See Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Styles"
+
+\end_inset
+
+ for details on paragraph styles.
\end_layout
\begin_layout Description
\end_inset
-\emph default
-,
+\emph default
+,
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\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
+status collapsed
+
+\begin_layout Plain Layout
+FreeSpacing
+\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.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTML*
+\end_layout
+
+\end_inset
+
+ These tags are used with XHTML output.
+\end_layout
+
+\begin_layout Description
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-1
+InnerTag
\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,
+ [[FIXME]] (Used only with XML-type formats.)
+\end_layout
+
+\begin_layout Description
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-FreeSpacing
+InPreamble
\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.
-\end_layout
-
-\begin_layout Description
+
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-InnerTag
+[1, 0]
\end_layout
\end_inset
- [[FIXME]] (Used only with XML-type formats.)
+ 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
\begin_inset Flex CharStyle:Code
status collapsed
+\begin_layout Plain Layout
+TocLevel
+\end_layout
+
+\end_inset
+
+
+\series medium
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
\begin_layout Plain Layout
\series medium
-TocLevel [int]
+[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
added, but the maximum is taken.
\end_layout
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Paragraph-Style-XHTML"
+
+\end_inset
+
+Paragraph Style XHTML
+\end_layout
+
+\begin_layout Standard
+XHTML output is also controlled by layout information.
+ In general, LyX provides sensible defaults for all of these tags and, as
+ mentioned earlier, it can even construct default CSS information 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 construct CSS describing how Chapters
+ should be displayed in the browser.
+\end_layout
+
+\begin_layout Standard
+The XHTML LyX outputs depends upon whether we are dealing with a normal
+ paragraph, a command, or an environment.
+ For a command or normal paragraph, it 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
+
+>Paragraph Label</labeltag>
+\end_layout
+
+\begin_layout LyX-Code
+Here lies the 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 one.
+ For an environment that is not a list, it 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>Here lies the contents of the first paragraph.</item
+tag>
+\end_layout
+
+\begin_layout LyX-Code
+<itemtag>Second paragraph.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+</tag>
+\end_layout
+
+\begin_layout Standard
+For a list, we have this form:
+\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 one or more attribute--value pairs to be output with the main
+ tag.
+\end_layout
+
\begin_layout Subsection
Floats
\begin_inset CommandInset label
\end_inset
.
-
\end_layout
\begin_layout Enumerate
\begin_inset Flex CharStyle:Code
status collapsed
+\begin_layout Plain Layout
+ContentAsLabel
+\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 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
CopyStyle
\end_layout
] 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
\end_inset
).
+ Default is false.
\end_layout
\begin_layout Description
\end_inset
).
+ Default is false.
\end_layout
\begin_layout Description
\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.
+ 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
- MultiPar.
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
+\end_layout
+
+\end_inset
+
+.
+ Default is true.
\end_layout
\begin_layout Description
\emph on
not
\emph default
- whether the command should itself be protected.)
+ whether the command should itself be protected.) Default is false.
\end_layout
\begin_layout Description
] As with paragraph styles (see page
\begin_inset CommandInset ref
-LatexCommand ref
+LatexCommand pageref
reference "des:PathThru"
\end_inset
).
+ Default is false.
\end_layout
\begin_layout Description
\end_layout
\begin_layout LyX-Code
-Counter name
+Counter CounterName
\end_layout
\begin_layout Standard
-where of course `name' is replaced by the name of the counter.
+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
\end_inset
-] Valid argument are:
+] Valid arguments are:
\begin_inset Flex CharStyle:Code
status collapsed
.
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