-#LyX 1.6.0svn created this file. For more info see http://www.lyx.org/
-\lyxformat 338
+#LyX 2.2 created this file. For more info see http://www.lyx.org/
+\lyxformat 479
\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
\myTOC
\mainmatter }
-% redefine the \LyX macro for PDF bookmarks
-\def\LyX{\texorpdfstring{%
- L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
- {LyX }}
-
-% used for multi-column text
-\usepackage{multicol}
-\usepackage{inputenc}
+% increase link area for cross-references and autoname them,
+\AtBeginDocument{\renewcommand{\ref}[1]{\mbox{\autoref{#1}}}}
+\@ifundefined{extrasenglish}{\usepackage[english]{babel}}{}
+\addto\extrasenglish{%
+ \renewcommand*{\equationautorefname}[1]{}%
+ \renewcommand{\sectionautorefname}{sec.\negthinspace}%
+ \renewcommand{\subsectionautorefname}{sec.\negthinspace}%
+ \renewcommand{\subsubsectionautorefname}{sec.\negthinspace}%
+}
\end_preamble
-\options fleqn,liststotoc,bibtotoc,idxtotoc,BCOR7.5mm,titlepage,tablecaptionabove
+\options fleqn,bibliography=totoc,index=totoc,BCOR7.5mm,titlepage,captions=tableheading
+\use_default_options false
\begin_modules
logicalmkup
\end_modules
+\maintain_unincluded_children false
\begin_local_layout
-Format 7
-InsetLayout CharStyle:MenuItem
+Format 35
+InsetLayout Flex:MenuItem
LyxType charstyle
LabelString menu
LatexType command
\newcommand*{\menuitem}[1]{{\sffamily #1}}
EndPreamble
End
+# In case we need to do with sans...
+#InsetLayout CharStyle:Code
+#Font
+#Family Sans
+#EndFont
+#Preamble
+#\renewcommand{\code}[1]{{\sffamily #1}}
+#EndPreamble
+#End
\end_local_layout
\language english
+\language_package default
\inputencoding auto
+\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
+\font_math auto
\font_default_family default
+\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
-
-\graphics none
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
\paperfontsize 12
\spacing single
\use_hyperref true
\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"
+\pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
\papersize default
\use_geometry false
-\use_amsmath 0
-\use_esint 0
+\use_package amsmath 0
+\use_package amssymb 0
+\use_package cancel 0
+\use_package esint 0
+\use_package mathdots 1
+\use_package mathtools 0
+\use_package mhchem 0
+\use_package stackrel 0
+\use_package stmaryrd 0
+\use_package undertilde 0
\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
\use_bibtopic false
+\use_indices false
\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
\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
+\tracking_changes true
\output_changes false
-\author ""
-\author ""
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict true
+\author -712698321 "Jürgen Spitzmüller"
\end_header
\begin_body
\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.1.x
\end_layout
\begin_layout Standard
\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
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 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
for some of the more obscure ones.
\end_layout
\end_layout
\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "chap:config"
-
-\end_inset
-
This chapter aims to help you to find your way through the LyX configuration
files.
Before continuing to read this chapter, you should find out where your
LyX library and user directories are by using
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
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
The library directory is the place where LyX places its system-wide configurati
on files; the user directory is where you can place your modified versions.
We will call the former
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and the latter
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Section
What's in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Standard
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\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
+\begin_inset Flex 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
this dialog.
However, many other inner aspects of LyX can be customized by modifying
the files in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
The files, which are to be found in
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
contains the list of packages that have been recognized by LyX.
It is currently unused by the LyX program itself, but the information extracted
, and more, is made available with
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
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
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
the list of text classes that have been found in your
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
the list of layout modules found in your
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
is automatically generated during configuration from the file
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
These directories are duplicated between
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.
If a particular files exists in both places, the one in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
this directory contains files with the extension
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
- that define the keybindings used in LyX (see section
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:bindings"
-
-\end_inset
-
-).
+ that define the keybindings used in LyX.
If there exists an internationalized version of the bind file named
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
, that will be used first.
- See Chapter
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "chap:i18n"
-
-\end_inset
-
-, and section
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:bindings"
-
-\end_inset
-
-for details.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
contains LyX documentation files (including the one you are currently reading).
The file
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
deserves special attention, as noted above.
- If there exists an internationalized version of the help-document with
-
-\begin_inset Flex CharStyle:Code
+ The internationalized help docs are in subdirectories
+\begin_inset Flex 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
-\begin_inset space ~
+ where
+\begin_inset Quotes eld
\end_inset
+xx
+\begin_inset Quotes erd
+\end_inset
+ is the ISO language code.
+ See
\begin_inset CommandInset ref
LatexCommand ref
-reference "chap:i18n"
+reference "cha:Internationalizing-LyX"
\end_inset
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
contains example files that explain how to use some features.
In the file browser, press the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
contains image files that are used by the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
contains keyboard keymapping files.
- See Chapter
-\begin_inset space ~
-\end_inset
-
-
+ See
\begin_inset CommandInset ref
LatexCommand ref
-reference "sec:keymap"
+reference "sec:International-Keymap-Stuff"
\end_inset
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
- contains the text class and module files described in Chapter
-\begin_inset space ~
-\end_inset
-
-
+ contains the text class and module files described in
\begin_inset CommandInset ref
LatexCommand ref
-reference "chap:textclass"
+reference "cha:Installing-New-Document"
\end_inset
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
contains the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
contains some files that demonstrate the capabilities of the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
- contains the standard LyX template files described in Chapter
-\begin_inset space ~
-\end_inset
-
-
+ contains the standard LyX template files described in
\begin_inset CommandInset ref
LatexCommand ref
-reference "sec:templates"
+reference "sub:Creating-Templates"
\end_inset
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
contains files with the extension
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
that define the user interface to LyX.
That is, the files define which items appear in which menus and the items
appearing on the toolbar.
- See
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:ui"
-
-\end_inset
-
- for details.
\end_layout
\begin_layout Subsection
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
this file contains the list of LyX developers.
The contents are displayed with the menu entry
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
+Help\SpecialChar \menuseparator
About
\begin_inset space ~
\end_inset
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
- this is the script that is used to re-configure LyX.
+ this is a Python script that is used to re-configure LyX.
It creates configuration files in the directory it was run from.
\end_layout
\begin_layout Subsection
-Other files needing a line or two...
+Other files needing a line or two
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
this contains tables describing how different character encodings can be
- mapped to unicode
+ mapped to Unicode
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
this file contains the templates available to the new
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
- feature.
+ feature, see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "chap:Including-External-Material"
+
+\end_inset
+
+.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
this file contains a list of all the languages currently supported by LyX.
\end_layout
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+latexfonts
+\end_layout
+
+\end_inset
+
+ contains information about the supported fonts.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+layouttranslations
+\end_layout
+
+\end_inset
+
+ this file contains translations for internationalized paragraph styles
+ (see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:I18n"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+unicodesymbols
+\end_layout
+
+\end_inset
+
+ this file contains information about unicode-encoded glyphs and the way
+ they are supported by LyX via LaTeX.
+\end_layout
+
\begin_layout Section
Your local configuration directory
\end_layout
Even if you are using LyX as an unprivileged user, you might want to change
LyX configuration for your own use.
The
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
in
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
+Help\SpecialChar \menuseparator
About
\begin_inset space ~
\end_inset
.
This directory is used as a mirror of
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
, which means that every file in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
is a replacement for the corresponding file in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Itemize
The preferences set in the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex 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
dialog are saved to a file
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Itemize
When you reconfigure using
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex 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
, LyX runs the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
directory.
This means that any additional text class file that you might have added
in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
will be added to the list of classes in the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
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
If you get some updated documentation from LyX ftp site and cannot install
it because you do not have sysadmin rights on your system, you can just
copy the files in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and the items in the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp
+Help
\end_layout
\end_inset
\begin_layout Standard
Invoking LyX with the command line switch
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
instructs the program to read the configuration from that directory, and
not from the default directory.
(You can determine the default directory by running LyX without the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
exactly as you would for the default directory.
These directories are completely independent (but read on).
Note that setting the environment variable
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LYX_USERDIR_16x
+LYX_USERDIR_VER
\end_layout
\end_inset
\begin_layout Standard
Having several configurations also requires more maintenance: if you want
to add a new layout to
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
empty subdirectory with a symbolic link to the matching subdirectory in
the existing configuration.
Take care with the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\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
+\begin_inset Flex 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
The Preferences dialog
\end_layout
+\begin_layout Standard
+All options of the preferences dialog are described in the Appendix
+\emph on
+The Preferences Dialog
+\emph default
+ in the
+\emph on
+User's Guide
+\emph default
+.
+ For some options you might find here more details.
+\end_layout
+
\begin_layout Section
-Using the dialog for the first time
+Formats
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Formats"
+
+\end_inset
+
+
\end_layout
\begin_layout Standard
-The
-\begin_inset Flex CharStyle:Code
+The first step is to define your file formats if they are not already defined.
+ To do so, open the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-UserDir/preferences
+Tools\SpecialChar \menuseparator
+Preferences
\end_layout
\end_inset
- file will contain only changes that you have made to the default behaviour,
- some of which is hard-coded into LyX and some of which is contained in
- the system file
-\begin_inset Flex CharStyle:Code
+ dialog.
+ Under
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-LyXDir/lyxrc.defaults
+File Handling\SpecialChar \menuseparator
+File formats
\end_layout
\end_inset
-.
- Note that in both files lines beginning with a
-\begin_inset Quotes eld
+ press the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+New
+\end_layout
+
\end_inset
-#
-\begin_inset Quotes erd
+ button to define your new format.
+ The
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Format
+\end_layout
+
\end_inset
- are just comments and are not interpreted.
- However, only system administrators should edit
-\begin_inset Flex CharStyle:Code
+ field contains the name used to identify the format in the GUI.
+ The
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-LyXDir/lyxrc.defaults
+Short Name
\end_layout
\end_inset
-.
- Users should use the
-\begin_inset Flex CharStyle:MenuItem
+ is used to identify the format internally.
+ You will also need to enter a file extension.
+ These are all required.
+ The optional
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
+Shortcut
+\end_layout
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
+\end_inset
-\bar under
-P
-\bar default
-references
+ field is used to provide a keyboard shortcut on the menus.
+ (For example, pressing
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Ctrl+D
\end_layout
\end_inset
- dialog to create and modify their own
-\begin_inset Flex CharStyle:Code
+ will
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-UserDir/preferences
+Document\SpecialChar \menuseparator
+View (Other Formats)\SpecialChar \menuseparator
+DVI
\end_layout
\end_inset
- file.
+.)
\end_layout
\begin_layout Standard
-We hope that the
-\begin_inset Flex CharStyle:MenuItem
+A Format can have a
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references
+Viewer
\end_layout
\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:
-\begin_inset Flex CharStyle:MenuItem
+ and an
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Apply
+Editor
\end_layout
\end_inset
-ing 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
+ associated with it.
+ For example, you might want to use
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Save
+Ghostview
\end_layout
\end_inset
- the changes and restart LyX.
-\end_layout
-
-\begin_layout Section
-Look and Feel
-\end_layout
-
-\begin_layout Subsection
-Screen fonts
-\end_layout
-
-\begin_layout Standard
-The font used to display your documents on the LyX screen is very important,
- since you'll be reading all your documents with this font.
- Therefore it is important that the font be as readable and good-looking
- as possible.
- The LyX team tried to provide the best possible default font for you, but
- since systems can be so different, it's quite possible that the default
- fonts will be sub-optimal on your system.
- Fortunately, you can do something about this.
- Before we explain how, you should learn a bit more about fonts so that
- you are better prepared for choosing your fonts.
- There are trade-offs that are specific to your preferences and the capabilities
- of your system.
-\end_layout
-
-\begin_layout Standard
-Notice that this section only deals with the fonts on the
-\emph on
-screen
-\emph default
- inside the LyX window.
- The fonts that appear on the
-\emph on
-paper
-\emph default
-
-\emph on
-output
-\emph default
- are independent from these fonts, and are determined by the document class.
- Read the
-\emph on
-User's Guide
-\emph default
- to learn how to change the font of the printed version of your document.
-\end_layout
-
-\begin_layout Standard
-Basically, screen fonts come in two different kinds: scalable outline fonts
- and non-scalable bitmap fonts.
- This distinction seems a bit arbitrary, since non-scalable fonts are actually
- scalable in most modern font renderers.
- The difference lies in the
-\emph on
-quality
-\emph default
- of the scaling and the
-\emph on
-speed
-\emph default
- of display.
- The most important decision is thus whether you should use non-scalable
- bitmap fonts or scalable outline fonts.
-\end_layout
-
-\begin_layout Standard
-The scalable fonts are built from
-\emph on
-outlines
-\emph default
- of the single glyphs (i.e.
- characters) in the font.
- This means that each glyph is defined using mathematical curves that are
- well suited for scaling to any requested size.
- This mathematical definition is interpreted by the font renderer and turned
- into a small picture composed of pixels according to which size and glyph
- (or symbol) the programmer requests.
- This means that scalable fonts will look pretty good in most sizes.Since
- scalable fonts are defined in an abstract way, it can be hard to provide
- a good rendering at small sizes, where each pixel has to be very carefully
- computed to provide a good image.
- Technically it is possible to do this from the mathematical definition,
- but in order to keep the rendering reasonably fast, tradeoffs have to be
- made, and the result is that scalable fonts can be difficult to read at
- small sizes.
-\end_layout
-
-\begin_layout Standard
-Bitmap fonts on the other hand, are defined by bitmap graphics from the
- start, so they will look good at all the sizes they are meant for.
- However, they don't scale well, because in order to scale a glyph, each
- pixel is enlarged into several pixels.
- It is the same effect that happens if you try to enlarge a picture in an
- image manipulation program.
- In order to relieve this effect, bitmap fonts are typically provided in
- several fixed sizes typically from around 8 pixels high up to 34 pixels
- or so high in steps according to what is believed to be useful.
- The advantage of bitmap fonts is that no complicated computations are necessary
- to display each glyph, so bitmap fonts are thus faster displayed than scalable
- fonts.
- The disadvantage is that sizes that don't exists as fixed versions have
- to be scaled by doubling pixels, and thus look bad.
-\end_layout
-
-\begin_layout Standard
-The net result of all this is that bitmap fonts are generally best for the
- small sizes, where they are available, while scalable fonts are generally
- best for large sizes.
- The logical conclusion would thus be to use bitmap fonts for the small
- sizes, and scalable fonts for the large sizes.
- Unfortunately, this is not a good idea, since bitmap fonts and scalable
- fonts are not designed to be used together, so the overall look of such
- a scheme would be bad.
- The best you can do is thus to try both schemes and decide for yourself
- what suits you.
-\end_layout
-
-\begin_layout Standard
-In the following, we will describe what to do if the text does not look
- good in LyX.
- We'll start with the most important parameters: DPI and font zoom.
-\end_layout
+ to view PostScript files.
+ You can enter the command needed to start the program in the corresponding
+ fields.
+ In defining this command, you can use the four variables listed in the
+ next section.
+ The viewer is launched when you view an image in LyX or use the
+\begin_inset Flex MenuItem
+status collapsed
-\begin_layout Subsubsection
-DPI setting and Font Zoom
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+View
\end_layout
-\begin_layout Standard
-LyX automatically tries to scale the fonts to look as close as the paper
- output size as possible, except for the so-called font zoom factor.
-\end_layout
+\end_inset
-\begin_layout Standard
-In order for this to work on all systems, it relies on the screen DPI (dots
- per inch) setting to be correct.
- The DPI setting for your system is autodetected by LyX using information
- provided by your system.
- You can check what LyX autodetects the DPI setting to, by running LyX as
-
-\begin_inset Flex CharStyle:Code
+ menu.
+ The editor is for example launched when you right-click on an image and
+ choose
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-lyx -dbg 2
+Edit externally
\end_layout
\end_inset
-.
+ in the appearing context menu.
\end_layout
\begin_layout Standard
-On many systems, this will not be correct, so you should check that it is
- correct by hand.
- On X11 systems, you can run
-\begin_inset Quotes eld
-\end_inset
-
-
-\begin_inset Flex CharStyle:Code
+The
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-xdpyinfo | more
+MIME
\end_layout
\end_inset
+ type of a format is optional, but if it is specified, it must be unique
+ across all formats.
+ It is used to detect files of this format from the file contents.
+ For some important file formats there is no MIME type officially registered
+ with the
+\begin_inset CommandInset href
+LatexCommand href
+name "IANA"
+target "http://www.iana.org/assignments/media-types/"
-\begin_inset Quotes erd
-\end_inset
-
- and write down what the DPI is for the resolution you use (this will be
- close to the value LyX detects).
- It is the number mentioned as
-\begin_inset Quotes eld
-\end_inset
-
-resolution
-\begin_inset Quotes erd
\end_inset
.
- Also write down the number of pixels you have in the width (the first number
- under
-\begin_inset Quotes eld
-\end_inset
+ Therefore LyX uses the extended list of MIME types as specified by
+\begin_inset CommandInset href
+LatexCommand href
+name "freedesktop.org"
+target "http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec"
-dimensions
-\begin_inset Quotes erd
\end_inset
-).
-\end_layout
-
-\begin_layout Standard
-Then get the good old ruler out of the closet, and measure the width of
- the visible screen-image on your monitor.
- Convert this measurement to inches if you used a centimeter ruler by dividing
- by 2.54.
- Now you can determine the correct DPI setting for your screen by dividing
- the number of pixels in the width by the width of the screen-image on the
- monitor.
- If this number is more than, say, 5 DPI from the detected value, you should
- either fix your system setup, or at least tell LyX that the DPI is different
- than the detected value.
+.
\end_layout
\begin_layout Standard
-If you can't fix system setup (which of course is best since other programs
- than LyX will benefit from this as well), you can tell LyX the correct
- DPI using the
-\begin_inset Flex CharStyle:MenuItem
+The
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Preferences
+Document format
\end_layout
\end_inset
- dialog.
-\end_layout
+ option tells LyX that a format is suitable for document export.
+ If this is set and if a suitable conversion route exists (see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Converters"
-\begin_layout Standard
-If the text is too small or too big for your taste, you should fiddle with
- the font zoom setting.
- This setting is used to scale the point size of the text.
- If your DPI setting is correct, and the font zoom setting is set to 100,
- this means that LyX will try to display the text exactly the same size
- as it will appear on the paper-output.
- If you set the zoom factor to 200, the text will try to be 2 times as big
- as on paper.
- Of course, this will only happen if LyX can find a font that has the appropriat
-e size, which you can't count on.
- Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
- issue.
-\end_layout
+\end_inset
-\begin_layout Standard
-The default font zoom setting is 150, since a monitor is typically wider
- than a piece of paper, but you should try to fiddle with it through the
-
-\begin_inset Flex CharStyle:MenuItem
+), the format will appear in the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Font
-\begin_inset space ~
-\end_inset
-
-
-\bar under
-Z
-\bar default
-oom
+File\SpecialChar \menuseparator
+Export
\end_layout
\end_inset
- setting in the
-\begin_inset Flex CharStyle:MenuItem
+ menu.
+ The format will also appear in the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Preferences
+Document\SpecialChar \menuseparator
+View
\end_layout
\end_inset
- dialog to find a size that you like.
- When you've found a setting that seems to work nicely for you (tip: use
- the
-\begin_inset Flex CharStyle:MenuItem
+ menu if a viewer is specified for the format.
+ Pure image formats, such as
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-A
-\bar default
-pply
+png
\end_layout
\end_inset
- button to keep the dialog open while you experiment), you can make this
- setting the default by using the
-\begin_inset Flex CharStyle:MenuItem
+, should not use this option.
+ Formats that can both represent vector graphics and documents like
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-S
-\bar default
-ave
+pdf
\end_layout
\end_inset
- button.
+ should use it.
\end_layout
\begin_layout Standard
-While it is often possible to find a suitable size for the text on the screen,
- this doesn't necessarily mean that the fonts are the best ones available
- on your system.
- In order to help you get the most out of your system, you can use the font
- definition commands to fine-tune the look of the text in greater detail
- than merely size.
-\end_layout
+The option
+\begin_inset Flex MenuItem
+status collapsed
-\begin_layout Subsubsection
-Font definition commands
+\begin_layout Plain Layout
+Vector graphics format
\end_layout
-\begin_layout Standard
-You can change LyX's screen fonts from within the
-\begin_inset Flex CharStyle:MenuItem
+\end_inset
+
+ tells LyX that a format can contain vector graphics.
+ This information is used to determine the target format of included graphics
+ for
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Preferences
+pdflatex
\end_layout
\end_inset
- dialog.
- The number of fonts that are available on different systems vary.
-
-\end_layout
+ export.
+ Included graphics may need to be converted to either
+\begin_inset Flex MenuItem
+status collapsed
-\begin_layout Standard
-Before you go about scrapping a bitmap font because the larger sizes look
-
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Plain Layout
+pdf
+\end_layout
-blocky
-\begin_inset Quotes erd
\end_inset
-, you should toggle the
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Use scalable fonts
+png
\end_layout
\end_inset
- button.
- This is only useful if you use bitmap fonts, because only these don't scale
- well.
- If you define this flag, LyX will only use the fixed font sizes that are
- available, and this guarantees that all bitmap fonts look good.
- However, the downside is that there will be a greater difference between
- the size of the fonts on screen and the size of fonts on paper because
- LyX will have to be satisfied with the closest available size, and not
- try to scale a size to fit.
- Also, you can risk that some logically different sizes, such as
-\begin_inset Flex CharStyle:MenuItem
+, or
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Large
+jpg
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:MenuItem
+, since
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Larger
+pdflatex
\end_layout
\end_inset
-, will be mapped to the same screen font, making it hard for you to see
- the difference on screen.
-
-\end_layout
-
-\begin_layout Standard
-One final note regarding the
-\begin_inset Flex CharStyle:Code
+ cannot handle other image formats.
+ If an included graphic is not already in
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Use scalable fonts
+pdf
\end_layout
\end_inset
- flag: you should know that there is nothing wrong with using bitmap and
- scalable fonts at the same time for different purposes.
- For instance, it's common to use the scalable
-\begin_inset Quotes eld
-\end_inset
+,
+\begin_inset Flex MenuItem
+status collapsed
-Utopia
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+png
+\end_layout
- for the serif text together with a bitmap version of
-\begin_inset Quotes eld
\end_inset
-Helvetica
-\begin_inset Quotes erd
-\end_inset
+, or
+\begin_inset Flex MenuItem
+status collapsed
-.
- And you can safely select the
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Plain Layout
+jpg
+\end_layout
-Use scalable fonts
-\begin_inset Quotes erd
\end_inset
- button without worries: It will only apply to the Helvetica font.
-\end_layout
-
-\begin_layout Standard
-Sometimes the artifacts introduced by use of the flag can be relieved by
- using the fine-detail screen font sizes which defines which point sizes
- the different logical font sizes correspond to.
- Run LyX as
-\begin_inset Flex CharStyle:Code
+ format, it is converted to
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-lyx -dbg 513
+pdf
\end_layout
\end_inset
- to see exactly what concrete fonts the logical sizes map to, and try adjusting
- the corresponding entries in the
-\begin_inset Flex CharStyle:MenuItem
+ if the vector format option is set, and otherwise to
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Preferences
+png
\end_layout
\end_inset
- dialog until you've managed to hit the nail and get the fonts you want.
- This can be hard to do, because LyX uses the DPI setting and the font zoom
- settings to calculate which exact screen font size to ask the X server
- for, thus obfuscating the mapping.
- If you can't make it by trial-and-error, you can make the process more
- transparent if you set both the DPI setting and font zoom settings to 100---eve
-n when this is known to be wrong.
- This will of course make your scalable fonts look weird, so use with care.
+.
\end_layout
-\begin_layout Standard
-\begin_inset Branch OutDated
-status collapsed
-
-\begin_layout Subsubsection
-Font encoding
+\begin_layout Section
+Copiers
\end_layout
\begin_layout Standard
-By default, LyX will use fonts meant to write Western European text, including
- all kinds of English.
- This is defined through the so-called
-\emph on
-font
-\emph default
-
-\emph on
-encoding
-\emph default
-.
- If you want to use LyX to write for instance Eastern European text, Cyrillic
- or any other language not covered by the ISO-8859-1 font encoding, you
- can define a different one with the encoding setting.
- This requires you to have special fonts installed.
- You can use
-\begin_inset Flex CharStyle:Code
+Since all conversions from one format to another take place in LyX's temporary
+ directory, it is sometimes necessary to modify a file before copying it
+ to the temporary directory in order that the conversion may be performed.
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-xfontsel
+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
\end_inset
- to see whether this is the case: check the
-\begin_inset Quotes eld
-\end_inset
-
-rgstry
-\begin_inset Quotes erd
-\end_inset
-
- and
-\begin_inset Quotes eld
-\end_inset
-
-encdng
-\begin_inset Quotes erd
-\end_inset
-
- fields for ISO-8859-X values different from ISO-8859-1, and search for
- one that contains the national characters of your language.
- If you find any, enter this encoding in the dialog.
- If not, go searching the Web for appropriate fonts.
- For the Qt frontend, it's recommended you use an iso646 font set.
+ This is done by a Copier: It copies a file to (or from) the temporary directory
+ and may modify it in the process.
\end_layout
\begin_layout Standard
-When you've set LyX up to use a different font encoding, you should also
- consider changing the font used by dialog windows in LyX.
- For instance, the
-\begin_inset Flex CharStyle:MenuItem
+The definitions of the copiers may use four variables:
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Table
-\begin_inset space ~
-\end_inset
+$$s
+\end_layout
-of
-\begin_inset space ~
\end_inset
-Contents
-\end_layout
+ The LyX system directory (e.
+\begin_inset space \thinspace{}
+\end_inset
+g.
+\begin_inset space \space{}
\end_inset
- dialog will not be understandable unless you tell LyX to use a different
- font for this.
- By default the menu font is set to
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
--*-helvetica-medium-r
+/usr/share/lyx
\end_layout
\end_inset
-, but often Helvetica is not available in the font encoding you need, so
- the dialog allows this to be changed.
+).
\end_layout
-\begin_layout Standard
-As you can see, there are quite a few options that can be used to fine tune
- the look of your fonts.
- This should not scare you from fiddling with the settings, because after
- all, you will hopefully be using LyX for many hours in the future.
- And contrary to real WYSIWYG word processors where you are tied to using
- fonts that have to look good both on paper and on screen, LyX gives you
- the possibility of using fonts that are designed to look good on the screen
- while using a different set of fonts to look good on paper.
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+$$i
\end_layout
\end_inset
-
+ The input file
\end_layout
-\begin_layout Subsection
-User Interface
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:ui"
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
+status collapsed
-\end_inset
+\begin_layout Plain Layout
+$$o
+\end_layout
+\end_inset
+ The output file
\end_layout
-\begin_layout Standard
-The appearance of both the menu and toolbar may both be changed using the
-
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Preferences
+$$b
\end_layout
\end_inset
- dialog.
- Simply select a different
-\begin_inset Flex CharStyle:Code
+ The base name (without filename extension) in the LyX temporary directory
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.ui
+$$p
\end_layout
\end_inset
- file in the
-\begin_inset Flex CharStyle:MenuItem
+ The full directory path of the LyX temporary directory
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Look & Feel\SpecialChar \menuseparator
-User Interface
+$$r
\end_layout
\end_inset
- section.
- You can customize the interface by copying one of the
-\begin_inset Flex CharStyle:Code
+ The full pathname to the original LyX file being processed
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.ui
+$$f
\end_layout
\end_inset
- files from
-\begin_inset Flex CharStyle:Code
+ The filename (without any directory path) of the LyX file.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LyXDir/ui/
+$$l
\end_layout
\end_inset
- to
-\begin_inset Flex CharStyle:Code
+ The `LaTeX name'
+\end_layout
+
+\begin_layout Standard
+The latter should be the filename as it would be used in a LaTeX's
+\series bold
+
+\backslash
+include
+\series default
+ command.
+ It is relevant only when exporting files suitable for such inclusion.
+\end_layout
+
+\begin_layout Standard
+Copiers can be used to do almost anything with output files.
+ For example, suppose you want generated pdf files to be copied to a special
+ directory,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UserDir/ui/
+/home/you/pdf/
\end_layout
\end_inset
.
- You may have to restart LyX for these changes to take effect.
+ Then you could write a shell script such as this one:
\end_layout
\begin_layout Standard
-The syntax of the
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_inset listings
+inline false
+status open
\begin_layout Plain Layout
-.ui
+
+#!/bin/bash
\end_layout
-\end_inset
+\begin_layout Plain Layout
- files is straightforward: have a look at
-\begin_inset Flex CharStyle:Code
-status collapsed
+FROMFILE=$1
+\end_layout
+
+\begin_layout Plain Layout
+
+TOFILE=`basename $2`
+\end_layout
\begin_layout Plain Layout
-default.ui
+
+cp $FROMFILE /home/you/pdf/$TOFILE
\end_layout
\end_inset
-.
- The
-\begin_inset Flex CharStyle:Code
+Save it in your local LyX directory—say,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Menubar
+/home/you/.lyx/scripts/pdfcopier.sh
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+—and make it executable, if you need to do so on your platform.
+ Then, in the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Menu
+Tools\SpecialChar \menuseparator
+Preferences
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+ dialog, select under
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Toolbar
+File Handling\SpecialChar \menuseparator
+File formats
\end_layout
\end_inset
- entries must be ended with an explicit
-\begin_inset Flex CharStyle:Code
+ the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-End
+PDF(pdflatex)
\end_layout
\end_inset
-.
- They may contain
-\begin_inset Flex CharStyle:Code
+ format—or one of the other pdf formats—and enter
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Submenu
+pdfcopier.sh $$i $$o
\end_layout
\end_inset
-s,
-\begin_inset Flex CharStyle:Code
+ into the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Item
+Copier
\end_layout
\end_inset
-s,
-\begin_inset Flex CharStyle:Code
+ field.
+
+\end_layout
+
+\begin_layout Standard
+Copiers are used by LyX in various of its own conversions.
+ For example, if appropriate programs are found, LyX will automatically
+ install copiers for the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-OptItem
+HTML
\end_layout
\end_inset
-s,
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Separator
+HTML
+\begin_inset space ~
+\end_inset
+
+(MS Word)
\end_layout
\end_inset
-s,
-\begin_inset Flex CharStyle:Code
+ formats.
+ When these formats are exported, the copier sees that not just the main
+ HTML file but various associated files (style files, images, etc.) are also
+ copied.
+ All these files are written to a subdirectory of the directory in which
+ the original LyX file was found.
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-Icon
-\end_layout
+This copier can be customized.
+ The optional
+\begin_inset Quotes eld
+\end_inset
+-e
+\begin_inset Quotes erd
\end_inset
-s and in the case of the
+ argument takes a comma-separated list of extensions to be copied; if it
+ is omitted, all files will be copied.
+ The
\begin_inset Quotes eld
\end_inset
-file
+-t
\begin_inset Quotes erd
\end_inset
- menus, a
-\begin_inset Flex CharStyle:Code
+ argument determines the extension added to the generated directory.
+ By default, it is
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Lastfiles
+LyXconv
\end_layout
\end_inset
- entry.
- One small word of warning.
-
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Submenu
-\end_layout
+\begin_inset Quotes erd
\end_inset
-s may be inserted in a
-\begin_inset Flex CharStyle:Code
+, so HTML generated from
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Menubar
+/path/to/filename.lyx
\end_layout
\end_inset
- or
-\begin_inset Flex CharStyle:Code
+ will end up in
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Menu
+/path/to/filename.html.LyXconv
\end_layout
\end_inset
-, but they are defined as
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Menu
+.
+
\end_layout
\end_inset
-s, not as
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-Submenu
\end_layout
+\begin_layout Section
+Converters
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Converters"
+
\end_inset
-s.
- A
-\begin_inset Flex CharStyle:Code
+
+\end_layout
+
+\begin_layout Standard
+You can define your own Converters to convert files between different formats.
+ This is done in the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Submenu
+Tools\SpecialChar \menuseparator
+Preferences\SpecialChar \menuseparator
+File Handling\SpecialChar \menuseparator
+Converters
\end_layout
\end_inset
- tag is used to insert context-dependent information that is generated by
- LyX itself.
- Unfortunately, the available tags are not documented outside the source
- code.
+ dialog.
\end_layout
\begin_layout Standard
-Note that, as of LyX 1.6, there are extensive context menus, normally accessed
- via a right click.
- These are defined in the
-\begin_inset Flex CharStyle:Code
+To define a new converter, select the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-.ui
-\end_layout
-
+From
+\begin_inset space ~
\end_inset
- files.
-\end_layout
-
-\begin_layout Section
-Editing
+format
\end_layout
-\begin_layout Standard
-The settings in this section are used to customise the behavior of the LyX
- editor.
-\end_layout
+\end_inset
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:bindings"
+ and
+\begin_inset Flex MenuItem
+status collapsed
+\begin_layout Plain Layout
+To
+\begin_inset space ~
\end_inset
-Shortcuts
+format
\end_layout
-\begin_layout Standard
-Bindings are used to associate a LyX function to a key.
- Several prepackaged binding files are available: a CUA set of bindings
- (familiar as the typical set of PC and CDE set of keyboard shortcuts),
- an Emacs set of bindings, for those of us who follow the One True Way and
- refuse to lower our standards,
-\begin_inset Foot
+\end_inset
+
+ from the drop-down lists, enter the command needed for the conversion,
+ and then press the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-I'm kidding here, of course!
+Add
\end_layout
\end_inset
- as well as specialty bindings (broadway and hollywood) and bindings for
- languages other than English.
- You can select your binding in the
-\begin_inset Flex CharStyle:MenuItem
+ button.
+ Several variables can be used in the definition of converters:
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Editing\SpecialChar \menuseparator
-Shortcuts
+$$s
\end_layout
\end_inset
- section of the
-\bar under
+ The LyX system directory
+\end_layout
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references
+$$i
\end_layout
\end_inset
-
-\bar default
- dialog.
-
+ The input file
\end_layout
-\begin_layout Standard
-If, however, you'd like to customise the bindings to your own exacting tastes,
- then there are two ways to proceed.
- The first, and older method, is to copy a file from
-\begin_inset Flex CharStyle:Code
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LyXDir/bind/
+$$o
\end_layout
\end_inset
- to your own
-\begin_inset Flex CharStyle:Code
+ The output file
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UserDir/bind/
+$$b
\end_layout
\end_inset
- and modify that in a text editor.
- Don't forget to select this file in
-\begin_inset Flex CharStyle:MenuItem
+ 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 Code
status collapsed
\begin_layout Plain Layout
-Editing\SpecialChar \menuseparator
-Shortcuts
+$$p
\end_layout
\end_inset
-.
- The second method is to use the shortcut editor, which you will also find
- at
-\begin_inset Flex CharStyle:MenuItem
+ The path to the input file
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Editing\SpecialChar \menuseparator
-Shortcuts
+$$r
\end_layout
\end_inset
-.
- The changes you make here will be stored at
-\begin_inset Flex CharStyle:Code
+ The path to the original input file (this is different from $$p when a
+ chain of converters is called)
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UserDir/bind/user.bind
+$$e
\end_layout
\end_inset
-.
+ The iconv name for the encoding of the document.
\end_layout
\begin_layout Standard
-LyX supports internationalization of the user interface (see Chapter
-\begin_inset space ~
-\end_inset
+In the
+\begin_inset Flex MenuItem
+status collapsed
+\begin_layout Plain Layout
+Extra
+\begin_inset space ~
+\end_inset
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "chap:i18n"
+Flag
+\end_layout
\end_inset
-).
- If your
-\emph on
-locale
-\emph default
- is set, LyX will try to use bindfiles by prepending the standard language
- code to their name.
- For example, you can put a translated copy of some standard bind file in
- your personal
-\begin_inset Flex CharStyle:Code
+ field you can enter the following flags, separated by commas:
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-bind/
+latex
\end_layout
\end_inset
- directory, and LyX will use it automatically.
+ This converter runs some form of LaTeX.
+ This will make LyX's LaTeX error logs available.
\end_layout
-\begin_layout Standard
-The syntax of the
-\begin_inset Flex CharStyle:Code
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.bind
+needaux
\end_layout
\end_inset
- files is straightforward:
-\end_layout
+ Needs the LaTeX
+\begin_inset Flex MenuItem
+status collapsed
-\begin_layout LyX-Code
+\begin_layout Plain Layout
+.aux
+\end_layout
-\backslash
-bind ``<key combination>'' ``<lyx-function>
-\begin_inset Quotes erd
\end_inset
-
+ file for the conversion.
\end_layout
-\begin_layout Standard
-Both key combination and lyx-function (including any arguments) must be
- enclosed in "double quotes".
- The LyX functions are partially documented on listed on the
-\begin_inset CommandInset href
-LatexCommand href
-name "LyXWiki"
-target "http://wiki.lyx.org/LyX/LyxFunctions"
-
-\end_inset
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
+status collapsed
-.
- A major effort is presently underway to improve this documentation.
+\begin_layout Plain Layout
+nice
\end_layout
-\begin_layout Section
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:converters-etc"
+\end_inset
+ Needs a
+\begin_inset Quotes eld
\end_inset
-File Handling
-\end_layout
+nice
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Standard
-LyX has a powerful mechanism to convert to and from any file format using
- external programs.
-
-\end_layout
+ file from the backend, which in practice means a LaTeX file like the one
+ we would export, without
+\begin_inset Flex Code
+status collapsed
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sub:Formats"
+\begin_layout Plain Layout
+input@path
+\end_layout
\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
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Preferences\SpecialChar \menuseparator
-File Handling\SpecialChar \menuseparator
-File Formats
+xml
\end_layout
\end_inset
- dialog.
- Press the
-\begin_inset Flex CharStyle:MenuItem
+ Output is XML.
+\end_layout
+
+\begin_layout Standard
+The following three flags are not really flags at all because they take
+ an argument in the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-New\SpecialChar \ldots{}
-
-\end_layout
-
+key
+\begin_inset space ~
\end_inset
- button to define your new format.
- The
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+=
+\begin_inset space ~
+\end_inset
-\begin_layout Plain Layout
-Format
+value
\end_layout
\end_inset
- field contains the named used to identify the format in the GUI.
- The
-\begin_inset Flex CharStyle:MenuItem
+ format:
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Short Name
+parselog
\end_layout
\end_inset
- is used to identify the format interally.
- You will also need to enter a file extension.
- These are all required.
- The optional
-\begin_inset Flex CharStyle:MenuItem
+ If set, the converter's standard error will be redirected to a file
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Shortcut
+infile.out
\end_layout
\end_inset
- field is used to provide a keyboard shortcut on the menus.
- (For example, pressing
-\begin_inset Flex CharStyle:MenuItem
+, and the script given as argument will be run as:
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Alt-V D
+script < infile.out > infile.log
\end_layout
\end_inset
- will
-\begin_inset Flex CharStyle:MenuItem
+.
+ The argument may contain
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-View\SpecialChar \menuseparator
-DVI
+$$s
\end_layout
\end_inset
-.)
+.
\end_layout
-\begin_layout Standard
-A Format can have a
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Viewer
+resultdir
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:MenuItem
+ The name of the directory in which the converter will dump the generated
+ files.
+ LyX will not create this directory, and it does not copy anything into
+ it, though it will copy this directory to the destination.
+ The argument may contain
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Editor
+$$b
\end_layout
\end_inset
- associated with it.
- For example, you might want to use
-\begin_inset Flex CharStyle:MenuItem
+, which will be replaced by the base name of the input and output files,
+ respectively, when the directory is copied.
+\begin_inset Newline newline
+\end_inset
+
+Note that resultdir and usetempdir make no sense together.
+ The latter will be ignored if the former is given.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Ghostview
+resultfile
\end_layout
\end_inset
- to view PostScript files.
- You can enter the command needed to start the program in the corresponding
- fields.
- In defining this command, you can use the four variables listed in the
- next section.
- The viewer is launched when you view an image in LyX or use the
-\begin_inset Flex CharStyle:MenuItem
+ Determines the output file name and may, contain
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-View
+$$b
\end_layout
\end_inset
- menu.
- The editor is for example launched when you press the
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+.
+ Sensible only with resultdir and optional even then; if not given, it defaults
+ to `index'.
+\end_layout
-\begin_layout Plain Layout
-Edit
+\begin_layout Standard
+None of these last three are presently used in any of the converters that
+ are installed with LyX.
+
\end_layout
-\end_inset
+\begin_layout Standard
+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.
+ 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
+ formats.
+ For example, the standard LyX configuration provides five ways to convert
+ LaTeX to PDF:
+\end_layout
- button in the
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Enumerate
+Directly, using
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Graphics
+pdflatex
\end_layout
\end_inset
- or the
-\begin_inset Flex CharStyle:MenuItem
+
+\end_layout
+
+\begin_layout Enumerate
+via (DVI and) PostScript, using
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-External material
+ps2pdf
\end_layout
\end_inset
- dialog.
+
\end_layout
-\begin_layout Standard
-The
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Enumerate
+via DVI, using
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Document format
+dvipdfm
\end_layout
\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
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sub:Converters"
-\end_inset
+\end_layout
-), the format will appear in the
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Enumerate
+directly using
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-File\SpecialChar \menuseparator
-Export
+XeTeX
\end_layout
\end_inset
- menu.
- The format will also appear in the
-\begin_inset Flex CharStyle:MenuItem
+
+\end_layout
+
+\begin_layout Enumerate
+directly using
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-View
+LuaTeX
\end_layout
\end_inset
- menu if a viewer is specified for the format.
- Pure image formats, such as
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-png
\end_layout
+\begin_layout Standard
+To define such alternate chains, you must define multiple target `file formats',
+ as described in
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Formats"
+
\end_inset
-, should not use this option.
- Formats that can both represent vector graphics and documents like
-\begin_inset Flex CharStyle:Code
+.
+ For example, in the standard configuration, the formats named
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
- should use it.
-\end_layout
-
-\begin_layout Standard
-The option
-\begin_inset Flex CharStyle:MenuItem
+ (for
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Vector graphics format
+ps2pdf
\end_layout
\end_inset
- tells LyX that a format can contain vector graphics.
- This information is used to determine the target format of included graphics
- for
-\begin_inset Flex CharStyle:MenuItem
+),
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-pdflatex
+pdf2
\end_layout
\end_inset
- export.
- Included graphics may need to be converted to either
-\begin_inset Flex CharStyle:MenuItem
+ (for
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-pdf
+pdflatex
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:MenuItem
+),
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-png
+pdf3
\end_layout
\end_inset
-, or
-\begin_inset Flex CharStyle:MenuItem
+ (for
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-jpg
+dvipdfm
\end_layout
\end_inset
-, since
-\begin_inset Flex CharStyle:MenuItem
+),
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-pdflatex
+pdf4
\end_layout
\end_inset
- cannot handle other image formats.
- If an included graphic is not already in
-\begin_inset Flex CharStyle:MenuItem
+ (for
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-pdf
+XeTeX
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:MenuItem
+), and
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-png
+pdf5
\end_layout
\end_inset
-, or
-\begin_inset Flex CharStyle:MenuItem
+ (for
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-jpg
+LuaTeX
\end_layout
\end_inset
- format, it is converted to
-\begin_inset Flex CharStyle:MenuItem
+) are defined, all of which share the extension
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-pdf
+.pdf
\end_layout
\end_inset
- if the vector format option is set, and otherwise to
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-png
+, and which correspond to the conversion methods just mentioned.
\end_layout
+\begin_layout Chapter
+Internationalizing LyX
+\begin_inset CommandInset label
+LatexCommand label
+name "cha:Internationalizing-LyX"
+
\end_inset
-.
-\end_layout
-\begin_layout Subsection
-Copiers
\end_layout
\begin_layout Standard
-Since all conversions from one format to another take place in LyX's temporary
- directory, it is sometimes necessary to modify a file before copying it
- to the temporary directory in order that the conversion may be performed.
-\begin_inset Foot
+LyX supports using a translated interface.
+ Last time we checked, LyX provided text in thirty languages.
+ The language of choice is called your
+\emph on
+locale
+\emph default
+.
+ (For further reading on locale settings, see also the documentation for
+ locale that comes with your operating system.
+ For Linux, the manual page for
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-For example, the file may refer to other files---images, for example---using
- relative filenames, and these may become invalid when the file is copied
- to the temporary directory.
+locale(5)
\end_layout
\end_inset
- This is done by a Copier: It copies a file to (or from) the temporary directory
- and may modify it in the process.
+ could be a good place to start).
\end_layout
\begin_layout Standard
-The definitions of the copiers may use four variables:
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+Notice that these translations will work, but do contain a few flaws.
+ In particular, all dialogs have been designed with the English text in
+ mind, which means that some of the translated text will be too large to
+ fit within the space allocated.
+ This is only a display problem and will not cause any harm.
+ Also, you will find that some of the translations do not define shortcut
+ keys for everything.
+ Sometimes, there are simply not enough free letters to do it.
+ Other times, the translator just hasn't got around to doing it yet.
+ Our localization team, which you may wish to join,
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-$$s
+If you are a fluent speaker of a language other than English, joining these
+ teams is a great way to give back to the LyX community!
\end_layout
\end_inset
- The LyX system directory (e.
-\begin_inset space \thinspace{}
-\end_inset
+ will of course try to fix these shortcomings in future versions of LyX.
+\end_layout
-g.
-\begin_inset space ~
-\end_inset
+\begin_layout Section
+Translating LyX
+\end_layout
+\begin_layout Subsection
+Translating the graphical user interface (text messages).
+\end_layout
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Standard
+LyX uses the GNU
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-/usr/share/lyx
+gettext
\end_layout
\end_inset
-).
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+ library to handle the internationalization of the interface.
+ To have LyX speak your favorite language in all menus and dialogs, you
+ need a
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$$i
+po
\end_layout
\end_inset
- The input file
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+-file for that language.
+ When this is available, you'll have to generate a
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$$o
+mo
\end_layout
\end_inset
- The output file
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+-file from it and install the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$$l
+mo
\end_layout
\end_inset
- The `LaTeX name'
-\end_layout
-
-\begin_layout Standard
-The latter is to be given in a form suitable for inclusion in a LaTeX's
-
-\series bold
-
-\backslash
-include
-\series default
- command and is relevant only when exporting files suitable for such inclusion.
-\end_layout
-
-\begin_layout Standard
-Copiers can be used to do almost anything with output files.
- For example, suppose you want generated pdf files to be copied to a special
- directory,
-\begin_inset Flex CharStyle:Code
+-file.
+ The process of doing all of this is explained in the documentation for
+ GNU
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-/home/you/pdf/
+gettext
\end_layout
\end_inset
.
- Then you could write a shell script such as this one:
+ It is possible to do this just for yourself, but if you're going to do
+ it, you might as well share the results of your labors with the rest of
+ the LyX community.
+ Send a message to the LyX developers' list for more information about how
+ to proceed.
\end_layout
\begin_layout Standard
-\begin_inset listings
-inline false
-status open
+In short, this is what you should do (xx denotes the language code):
+\end_layout
-\begin_layout Plain Layout
+\begin_layout Itemize
+Check out the LyX source code.
+ (See the
+\begin_inset CommandInset href
+LatexCommand href
+name "information on the web"
+target "http://www.lyx.org/HowToUseSVN"
-#!/bin/bash
+\end_inset
+
+.)
\end_layout
-\begin_layout Plain Layout
+\begin_layout Itemize
+Copy the file
+\begin_inset Flex Code
+status collapsed
-FROMFILE=$1
+\begin_layout Plain Layout
+lyx.pot
\end_layout
-\begin_layout Plain Layout
+\end_inset
-TOFILE=`basename $2`
-\end_layout
+ to the folder of the
+\begin_inset Flex Code
+status collapsed
\begin_layout Plain Layout
-
-cp $FROMFILE /home/you/pdf/$TOFILE
+**.po
\end_layout
\end_inset
-Save that in your local LyX directory---say,
-\begin_inset Flex CharStyle:Code
+ files.
+ Then rename it to
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-/home/you/.lyx/scripts/pdfcopier.sh
+xx.po
\end_layout
\end_inset
----and make it executable, if you need to do so on your platform.
- Then, in the
-\begin_inset Flex CharStyle:MenuItem
+.
+ (If
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Preferences:Copiers
+lyx.pot
\end_layout
\end_inset
- dialog, select the
-\begin_inset Flex CharStyle:MenuItem
+ doesn't exist anywhere, it can be remade with the console command
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-PDF(pdflatex)
+make lyx.pot
\end_layout
\end_inset
- format---or one of the other pdf formats---and enter
-\begin_inset Flex CharStyle:Code
+ in that directory, or you can use an existing po-file for some other language
+ as a template).
+\end_layout
+
+\begin_layout Itemize
+Edit
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-pdfcopier.sh $$i $$o
+xx.po
\end_layout
\end_inset
- into the
-\begin_inset Flex CharStyle:MenuItem
+.
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-Copier
+This is just a text file, so it can be edited in any text editor.
+ But there are also specialized programs that support such editing, such
+ as
+\family typewriter
+Poedit
+\family default
+ (for all platforms) or
+\family typewriter
+KBabel
+\family default
+ (for KDE).
+
+\family typewriter
+Emacs
+\family default
+ contains a `mode' for editing
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+po
\end_layout
\end_inset
- field.
-
+ files, as well.
\end_layout
-\begin_layout Standard
-Copiers are used by LyX in various of its own conversions.
- For example, if appropriate programs are found, LyX will automatically
- install copiers for the
-\begin_inset Flex CharStyle:MenuItem
+\end_inset
+
+ For some menu- and widget-labels, there are also shortcut keys that should
+ be translated.
+ Those keys are marked after a `|', and should be translated according to
+ the words and phrases of the language.
+ You should also fill also out the information at the beginning of the new
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-HTML
+po
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:MenuItem
+-file with your email-address, etc., so people know where to reach you with
+ suggestions and entertaining flames.
+\end_layout
+
+\begin_layout Standard
+If you are just doing this on your own, then:
+\end_layout
+
+\begin_layout Itemize
+Generate
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-HTML
-\begin_inset space ~
-\end_inset
-
-(MS Word)
+xx.mo
\end_layout
\end_inset
- formats.
- When these formats are exported, the copier sees that not just the main
- HTML file but various associated files (style files, images, etc.) are also
- copied.
- All these files are written to a subdirectory of the directory in which
- the original LyX file was found.
-\begin_inset Foot
+.
+ This can be done with
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-This copier can be customized.
- The optional
-\begin_inset Quotes eld
-\end_inset
+msgfmt -o xx.mo < xx.po
+\end_layout
--e
-\begin_inset Quotes erd
\end_inset
- argument takes a comma-separated list of extensions to be copied; if it
- is omitted, all files will be copied.
- The
-\begin_inset Quotes eld
-\end_inset
-
--t
-\begin_inset Quotes erd
-\end_inset
-
- argument determines the extension added to the generated directory.
- By default, it is
-\begin_inset Quotes eld
-\end_inset
-
-
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-LyXconv
+.
\end_layout
-\end_inset
-
-
-\begin_inset Quotes erd
-\end_inset
-
-, so HTML generated from
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Itemize
+Copy the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-/path/to/filename.lyx
+mo
\end_layout
\end_inset
- will end up in
-\begin_inset Flex CharStyle:MenuItem
+-file to your locale-tree, at the correct directory for application messages
+ for the language
+\series bold
+
+\series default
+xx, and under the name
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-/path/to/filename.html.LyXconv
+lyx.mo
\end_layout
\end_inset
-.
-
-\end_layout
+ (e.
+\begin_inset space \thinspace{}
+\end_inset
+g.
+\begin_inset space \space{}
\end_inset
-\end_layout
+\begin_inset Flex Code
+status collapsed
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sub:Converters"
+\begin_layout Plain Layout
+/usr/local/share/locale/xx/LC_MESSAGES/lyx.mo
+\end_layout
\end_inset
-Converters
+
+\series bold
+.
\end_layout
\begin_layout Standard
-You can define your own Converters to, uhh, convert files between different
- formats.
- This is done in the
-\begin_inset Flex CharStyle:MenuItem
+As said, however, it would be best if the new
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Preferences\SpecialChar \menuseparator
-File Handling\SpecialChar \menuseparator
-Converters
+po
\end_layout
\end_inset
- dialog.
+-file could be added to the LyX distribution, so others can use it.
+ Adding it involves making additional changes to LyX.
+ So send an email to the developers' mailing list if you're interested in
+ doing that.
+\end_layout
+
+\begin_layout Subsubsection
+Ambiguous messages
\end_layout
\begin_layout Standard
-To define a new converter, select the
-\begin_inset Flex CharStyle:MenuItem
+Sometimes it turns out that one English message needs to be translated into
+ different messages in the target language.
+ One example is the message
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-From
-\begin_inset space ~
-\end_inset
-
-format
+To
\end_layout
\end_inset
- and
-\begin_inset space \thinspace{}
+ which has the German translation
+\lang german
+Nach
+\lang english
+ or
+\lang german
+Bis
+\lang english
+, depending upon exactly what the English
+\begin_inset Quotes eld
\end_inset
-
-\begin_inset Flex CharStyle:MenuItem
+to
+\begin_inset Quotes erd
+\end_inset
+
+ means.
+ GNU
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-To
-\begin_inset space ~
-\end_inset
-
-format
+gettext
\end_layout
\end_inset
- from the drop-down lists, enter the command needed for the conversion,
- and then press the
-\begin_inset Flex CharStyle:MenuItem
+ does not handle such ambiguous translations.
+ Therefore you have to add some context information to the message: Instead
+ of
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Add
+To
\end_layout
\end_inset
- button.
- Several variables can be used in the definition of converters:
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+ it becomes
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$$s
+To[[as in 'From format x to format y']]
\end_layout
\end_inset
- The LyX system directory
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$$i
+To[[as in 'From page x to page y']].
\end_layout
\end_inset
- The input file
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+ Now the two occurrences of
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$$o
+To
\end_layout
\end_inset
- The output file
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+ are different for
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$$b
+gettext
\end_layout
\end_inset
- The base filename of the input file (i.e., without the extension)
+ and can be translated correctly to
+\lang german
+Nach
+\lang english
+ and
+\lang german
+Bis
+\lang english
+, respectively.
\end_layout
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-$$p
+\begin_layout Standard
+Of course the context information needs to be stripped off the original
+ message when no translation is used.
+ Therefore you have to put it in double square brackets at the end of the
+ message (see the example above).
+ The translation mechanism of LyX ensures that everything in double square
+ brackets at the end of messages is removed before displaying the message.
\end_layout
-\end_inset
-
- The path to the input file
+\begin_layout Subsection
+Translating the documentation.
\end_layout
\begin_layout Standard
-In the
-\begin_inset Flex CharStyle:MenuItem
+The online documentation (in the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-Extra
-\begin_inset space ~
-\end_inset
-
-Flag
+Help
\end_layout
\end_inset
- field you can enter the following flags, separated by commas:
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+-menu) can (and should!) be translated.
+ If there are translated versions of the documentation available
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-latex
+As of March 2008, at least some of the documents have been translated into
+ fourteen languages, with the Tutorial available in a few more.
\end_layout
\end_inset
- This converter runs some form of LaTeX.
- This will make LyX's LaTeX error logs available.
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+ and the locale is set accordingly, these will be used automagically by
+ LyX.
+ LyX looks for translated versions as
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-needaux
+LyXDir/doc/xx/DocName.lyx
\end_layout
\end_inset
- Needs the LaTeX
-\begin_inset Flex CharStyle:MenuItem
+, where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.aux
+xx
\end_layout
\end_inset
- file for the conversion.
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+ is the code for the language currently in use.
+ If there are no translated documents, the default English versions will
+ be displayed.
+ Note that the translated versions must have the same filenames (
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-xml
+DocName
\end_layout
\end_inset
- Output is XML.
+ above) as the original.
+ If you feel up to translating the documentation (an excellent way to proof-read
+ the original documentation by the way!), there are a few things you should
+ do right away:
\end_layout
-\begin_layout Standard
-The following three flags are not really flags at all because they take
- an argument in the
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-key
-\begin_inset space ~
-\end_inset
+\begin_layout Itemize
+Check out the documentation translation web page at
+\begin_inset CommandInset href
+LatexCommand href
+name "http://www.lyx.org/Translation"
+target "http://www.lyx.org/Translation"
-=
-\begin_inset space ~
\end_inset
-value
+.
+ That way, you can find out which (if any) documents have already been translate
+d into your language.
+ You can also find out who (if anyone) is organizing the effort to translate
+ the documentation into your language.
+ If no one is organizing the effort, please let us know that you're interested.
\end_layout
-\end_inset
-
- format:
+\begin_layout Standard
+Once you get to actually translating, here's a few hints for you that may
+ save you trouble:
\end_layout
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_layout Itemize
+Join the documentation team! There is information on how to do that in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-parselog
+Intro.lyx
\end_layout
\end_inset
- If set, the converter's standard error will be redirected to a file
-\begin_inset Flex CharStyle:Code
+ (
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-infile.out
+Help\SpecialChar \menuseparator
+Introduction
\end_layout
\end_inset
-, and the script given as argument will be run as:
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-script <infile.out >infile.log
+), which by the way is the first document you should translate.
\end_layout
-\end_inset
+\begin_layout Itemize
+Learn the typographic conventions for the language you are translating to.
+ Typography is an ancient art and over the centuries, a great variety of
+ conventions have developed throughout different parts of the world.
+ Also study the professional terminology amongst typographers in your country.
+ Inventing your own terminology will only confuse the users.
+
+\emph on
+(Warning! Typography is addictive!)
+\end_layout
-.
- The argument may contain
-\begin_inset Flex CharStyle:Code
+\begin_layout Itemize
+Make a copy of the document.
+ This will be your working copy.
+ You can use this as your personal translated help-file by placing it in
+ your
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$$s
+UserDir/doc/xx/
\end_layout
\end_inset
-.
+ directory.
\end_layout
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-resultdir
-\end_layout
+\begin_layout Itemize
+Sometimes the original document (from the LyX-team) will be updated.
+ Use the source viewer at
+\begin_inset CommandInset href
+LatexCommand href
+name "http://www.lyx.org/trac/timeline"
+target "http://www.lyx.org/trac/timeline"
\end_inset
- The name of the directory in which the converter will dump the generated
- files.
- LyX will not create this directory, and it does not copy anything into
- it, though it will copy this directory to the destination.
- The argument may contain
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-$$b
+ to see what has been changed.
+ That way you can easily see which parts of the translated document need
+ to be updated.
\end_layout
-\end_inset
+\begin_layout Standard
+If you ever find an error in the original document, fix it and notify the
+ rest of the documentation team of the changes! (You didn't forget to join
+ the documentation team, did you?)
+\end_layout
-, which will be replaced by the basename of the input and output files,
- respectively, when the directory is copied.
-\begin_inset Newline newline
-\end_inset
+\begin_layout Standard
+\begin_inset Branch OutDated
+status collapsed
-Note that resultdir and usetempdir make no sense together.
- The latter will be ignored if the former is given.
+\begin_layout Section
+International Keyboard Support
\end_layout
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Standard
-\begin_layout Plain Layout
-resultfile
+\emph on
+[Editor's Note: The following section is by
+\emph default
+
+\shape smallcaps
+\emph on
+Ivan Schreter
+\shape default
+.
+ It needs to be fixed to conform to the new Documentation Style sheet and
+ to make use of the new v1.0 features.
+ The whole thing also needs to be merged with the section following it.-jw
+ It may also be badly out of date.-rh (2008)]
\end_layout
-\end_inset
+\begin_layout Subsection
+Defining Own Keymaps: Keymap File Format
+\end_layout
- Determines the output filename and may, contain
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Standard
+Let's look at a keyboard definition file a little closer.
+ It is a plain text file defining
+\end_layout
-\begin_layout Plain Layout
-$$b
+\begin_layout Itemize
+key-to-key or key-to-string translations
\end_layout
-\end_inset
+\begin_layout Itemize
+dead keys
+\end_layout
-.
- Sensible only with resultdir and optional even then; if not given, it defaults
- to `index'.
+\begin_layout Itemize
+dead keys exceptions
\end_layout
\begin_layout Standard
-None of these last three are presently used in any of the converters that
- are installed with LyX.
-
+To define key-to-key or key-to-string translation, use this command:
\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®.
- 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®.
- 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
- formats.
- For example, the standard LyX configuration provides three ways to convert
- LaTeX to PDF: Directly, using
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Quotation
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-pdflatex
+
+\backslash
+kmap
\end_layout
\end_inset
-; via (DVI and) PostScript®, using
-\begin_inset Flex CharStyle:MenuItem
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ps2pdf
+key
\end_layout
\end_inset
-; or via DVI, using
-\begin_inset Flex CharStyle:MenuItem
+ outstring
+\end_layout
+
+\begin_layout Standard
+where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-dvipdfm
+key
\end_layout
\end_inset
-.
- To define such alternate chains, you must define multiple target `file
- formats', as described in section
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sub:Formats"
+ is the key to be translated and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+outstring
+\end_layout
\end_inset
-.
- For example, in the standard configuration, the formats named
-\begin_inset Flex CharStyle:MenuItem
+ is the string to be inserted into the document.
+ To define dead keys, use:
+\end_layout
+
+\begin_layout Quotation
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-pdf
+
+\backslash
+kmod
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:MenuItem
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-pdf2
+key
\end_layout
\end_inset
-, and
-\begin_inset Flex CharStyle:MenuItem
+ deadkey
+\end_layout
+
+\begin_layout Standard
+where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-pdf3
+key
\end_layout
\end_inset
- are defined, all of which share the extension
-\begin_inset Flex CharStyle:MenuItem
+ is a keyboard key and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.pdf
+deadkey
\end_layout
\end_inset
-, and which correspond to the conversion methods just mentioned.
+ is dead key name.
+ The following dead keys are supported (shortcut name is in parentheses):
\end_layout
-\begin_layout Section
-Output
-\end_layout
+\begin_layout Quotation
-\begin_layout Standard
-The settings in this section affect the output LyX produces.
-\end_layout
+\emph on
+Name
+\begin_inset space \hfill{}
+\end_inset
-\begin_layout Subsection
-Plain text export options
+Example
\end_layout
-\begin_layout Standard
-\noindent
-There are a couple of commands that can be used to
-\begin_inset Quotes eld
+\begin_layout Quotation
+acute (acu)
+\begin_inset space \hfill{}
\end_inset
-clean up
-\begin_inset Quotes erd
-\end_inset
+áéíóú
+\end_layout
- exported plain text files.
- Note that LyX automatically detects and tries to use the best settings
- for your system at installation time, but you can modify them in the
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+\begin_layout Quotation
+grave (gra)
+\begin_inset space \hfill{}
+\end_inset
-\begin_layout Plain Layout
-Output\SpecialChar \menuseparator
-Plain Text
+àèìòù
\end_layout
+\begin_layout Quotation
+macron (mac)
+\begin_inset space \hfill{}
\end_inset
- dialog if you disagree with its interpretation.
+ ō
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Quotation
+tilde (til)
+\begin_inset space \hfill{}
+\end_inset
-\begin_layout Plain Layout
-roff command
+ñÑ
\end_layout
+\begin_layout Quotation
+underbar (underb)
+\begin_inset space \hfill{}
\end_inset
- This option defines the command used to produce better plain text tables
- with the
-\begin_inset Flex CharStyle:Code
-status collapsed
+
+\begin_inset ERT
+status open
\begin_layout Plain Layout
-groff/troff/nroff
+
+
+\backslash
+b o
\end_layout
\end_inset
- UNIX-commands (refer to their manpages for more information about them).
- Setting this as empty tells LyX to use the internal (inferior) formatter.
+
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Quotation
+cedilla (ced)
+\begin_inset space \hfill{}
+\end_inset
-\begin_layout Plain Layout
-Output line length
+çÇ
\end_layout
+\begin_layout Quotation
+underdot (underd)
+\begin_inset space \hfill{}
\end_inset
- With this command you can set the default line length of the plain text
- output file.
- Setting it to 0 means that no line breaks will be inserted except between
- paragraphs and the like.
-\end_layout
-\begin_layout Section
-The rest
-\end_layout
+\begin_inset ERT
+status open
-\begin_layout Standard
-There are many other configuration options that can be used to customize
- LyX behavior.
- Most of them are sufficiently self-explanatory that we have not felt it
- necessary to document them here.
- Please ask on the
-\begin_inset CommandInset href
-LatexCommand href
-name "mailing lists"
-target "http://www.lyx.org/mailing.php"
+\begin_layout Plain Layout
-\end_inset
- if you need some more information.
+\backslash
+d o
\end_layout
-\begin_layout Chapter
-Internationalizing LyX
-\begin_inset CommandInset label
-LatexCommand label
-name "chap:i18n"
-
\end_inset
\end_layout
-\begin_layout Standard
-LyX supports using a translated interface.
- Last time we checked, LyX provided text in thirty languages.
- The language of choice is called your
-\emph on
-locale
-\emph default
-.
- (For further reading on locale settings, see also the documentation for
- locale that comes with your operating system.
- For Linux, the manual page for
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Quotation
+circumflex (circu)
+\begin_inset space \hfill{}
+\end_inset
-\begin_layout Plain Layout
-locale(5)
+âêîôû
\end_layout
+\begin_layout Quotation
+circle (circl)
+\begin_inset space \hfill{}
\end_inset
- could be a good place to start).
+ÅůŮ
\end_layout
-\begin_layout Standard
-Notice that these translations will work, but do contain a few flaws.
- In particular, all dialogs have been designed with the English text in
- mind, which means that some of the translated text will be too large to
- fit within the space allocated.
- This is only a display problem and will not cause any harm.
- Also, you will find that some of the translations do not define shortcut
- keys for everything.
- Sometimes, there are simply not enough free letters to do it.
- Other times, the translator just hasn't got around to doing it yet.
- Our localization team, which you may wish to join,
-\begin_inset Foot
-status collapsed
+\begin_layout Quotation
+tie (tie)
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset ERT
+status open
\begin_layout Plain Layout
-If you are a fluent speaker of a language other than English, joining these
- teams is a great way to give back to the LyX community!
+
+
+\backslash
+t o
\end_layout
\end_inset
- will of course try to fix these shortcomings in future versions of LyX.
+
\end_layout
-\begin_layout Section
-Translating LyX
+\begin_layout Quotation
+breve (bre)
+\begin_inset space \hfill{}
+\end_inset
+
+ă
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+u o
\end_layout
-\begin_layout Subsection
-Translating the graphical user interface (text messages).
+\end_inset
+
+
\end_layout
-\begin_layout Standard
-LyX uses the GNU
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Quotation
+caron (car)
+\begin_inset space \hfill{}
+\end_inset
-\begin_layout Plain Layout
-gettext
+čšž
\end_layout
+\begin_layout Quotation
+hungarian umlaut (hug)
+\begin_inset space \hfill{}
\end_inset
- library to handle the internationalization of the interface.
- To have LyX speak your favorite language in all menus and dialogs, you
- need a
-\begin_inset Flex CharStyle:Code
-status collapsed
+őű
+\end_layout
-\begin_layout Plain Layout
-po
+\begin_layout Quotation
+umlaut (uml)
+\begin_inset space \hfill{}
+\end_inset
+
+äöü
\end_layout
+\begin_layout Quotation
+dot (dot)
+\begin_inset space \hfill{}
\end_inset
--file for that language.
- When this is available, you'll have to generate a
-\begin_inset Flex CharStyle:Code
+ż
+\begin_inset ERT
status open
\begin_layout Plain Layout
-mo
+
+
+\backslash
+.s
\end_layout
\end_inset
--file from it and install the
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-mo
\end_layout
-\end_inset
+\begin_layout Standard
+Since in many international keyboards there are exceptions to what some
+ dead keys should do, you can define them using
+\end_layout
--file.
- The process of doing all of this is explained in the documentation for
- GNU
-\begin_inset Flex CharStyle:Code
+\begin_layout Quotation
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-gettext
+
+\backslash
+kxmod
\end_layout
\end_inset
-.
- It is possible to do this just for yourself, but if you're going to do
- it, you might as well share the results of your labors with the rest of
- the LyX community.
- Send a message to the LyX developers' list for more information about how
- to proceed.
+ deadkey key outstring
\end_layout
\begin_layout Standard
-In short, this is what you should do (xx denotes the language code):
+For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
+, so you put in
\end_layout
-\begin_layout Itemize
-Check out the LyX source code.
- (See the
-\begin_inset CommandInset href
-LatexCommand href
-name "information on the web"
-target "http://www.lyx.org/devel/cvs.php"
+\begin_layout Quotation
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+kxmod
+\end_layout
\end_inset
-.)
+ caron o "
+\backslash
+^o"
\end_layout
-\begin_layout Itemize
-Copy the file
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+to make it work correctly.
+ Also, you have to define as exceptions dead keys over i and j, to remove
+ the dot from them before inserting an accent mark.
+ I will change this when the time comes, but so far I haven't had time.
+\end_layout
+
+\begin_layout Standard
+Oh, and about characters: backslash is escaped, so to enter it, you'll need
+ double backslash.
+ Also, quotes and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-lyx.pot
+#
\end_layout
\end_inset
- to the folder of the
-\begin_inset Flex CharStyle:Code
+ have different meaning.
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-**.po
+#
\end_layout
\end_inset
- files.
- Then rename it to
-\begin_inset Flex CharStyle:Code
+ marks comments, quotes start and end LaTeX-style commands.
+ To enter quote, you'll need to use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-xx.po
+
+\backslash
+"
\end_layout
\end_inset
-.
- (If
-\begin_inset Flex CharStyle:Code
+, to enter
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-lyx.pot
+#
\end_layout
\end_inset
- doesn't exist anywhere, it can be remade with the console command
-\begin_inset Flex CharStyle:Code
+, use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-make lyx.pot
+
+\backslash
+#
\end_layout
\end_inset
- in that directory, or you can use an existing po-file for some other language
- as a template).
+.
\end_layout
-\begin_layout Itemize
-Edit
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-xx.po
+\begin_layout Standard
+If you make a keyboard description file that works for your language, please
+ mail it to me, so I can include it in the next keymap distribution.
\end_layout
-\end_inset
+\begin_layout Standard
+More keywords will be supported in keymap configuration file in future,
+ like
+\end_layout
-.
-\begin_inset Foot
+\begin_layout Itemize
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-This is just a text file, so it can be edited in any text editor.
- But there are also specialized programs that support such editing, such
- as
-\family typewriter
-Poedit
-\family default
- (for all platforms) or
-\family typewriter
-KBabel
-\family default
- (for KDE).
-
-\family typewriter
-Emacs
-\family default
- contains a `mode' for editing
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-po
+\backslash
+kinclude filename
\end_layout
\end_inset
- files, as well.
-\end_layout
+\emph on
+
+\begin_inset space \hfill{}
\end_inset
- For some menu- and widget-labels, there are also shortcut keys that should
- be translated.
- Those keys are marked after a `|', and should be translated according to
- the words and phrases of the language.
- You should also fill also out the information at the beginning of the new
-
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-po
+include
\end_layout
\end_inset
--file with your email-address, etc., so people know where to reach you with
- suggestions and entertaining flames.
-\end_layout
-
-\begin_layout Standard
-If you are just doing this on your own, then:
+ another file
\end_layout
\begin_layout Itemize
-Generate
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-xx.mo
-\end_layout
-
-\end_inset
-
-.
- This can be done with
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-msgfmt -o xx.mo < xx.po
+\backslash
+kprog program
\end_layout
\end_inset
-.
-\end_layout
-
-\begin_layout Itemize
-Copy the
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-mo
-\end_layout
+\emph on
+\begin_inset space \hfill{}
\end_inset
--file to your locale-tree, at the correct directory for application messages
- for the language
-\series bold
-
-\series default
-xx, and under the name
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-lyx.mo
-\end_layout
-
-\end_inset
- (e.g.
-
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-/usr/local/share/locale/xx/LC_MESSAGES/lyx.mo
+define
\end_layout
\end_inset
-
-\series bold
-.
+ an external keymap translation program
\end_layout
\begin_layout Standard
-As said, however, it would be best if the new
-\begin_inset Flex CharStyle:Code
+Also, it should look into
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-po
+lyxrc
\end_layout
\end_inset
--file could be added to the LyX distribution, so others can use it.
- Adding it involves making additional changes to LyX.
- So send an email to the developers' mailing list if you're interested in
- doing that.
-\end_layout
-
-\begin_layout Subsubsection
-Ambigous messages
-\end_layout
-
-\begin_layout Standard
-Sometimes it turns out that one English message needs to be translated into
- different messages in the target language.
- One example is the message
-\begin_inset Flex CharStyle:Code
+ file for defaults, too (for example, a
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-To
+
+\backslash
+kinclude
\end_layout
\end_inset
- which has the German translation
-\lang german
-Nach
-\lang english
- or
-\lang german
-Bis
-\lang english
-, depending upon exactly what the English
-\begin_inset Quotes eld
-\end_inset
+ option to include default keyboard).
+\end_layout
-to
-\begin_inset Quotes erd
\end_inset
- means.
- GNU
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-gettext
\end_layout
+\begin_layout Section
+International Keymap Stuff
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:International-Keymap-Stuff"
+
\end_inset
- does not handle such ambigous translations.
- Therefore you have to add some context information to the message: Instead
- of
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-To
\end_layout
-\end_inset
-
- it becomes
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Standard
+\begin_inset Note Note
+status open
\begin_layout Plain Layout
-To[[as in 'From format x to format y']]
+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
- and
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-To[[as in 'From page x to page y']].
\end_layout
-\end_inset
-
- Now the two occurences of
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+The next two sections describe the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-To
+
+\shape up
+.kmap
\end_layout
\end_inset
- are different for
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-gettext
+
+\shape up
+.cdef
\end_layout
\end_inset
- and can be translated correctly to
-\lang german
-Nach
-\lang english
- and
-\lang german
-Bis
-\lang english
-, respectively.
-\end_layout
-
-\begin_layout Standard
-Of course the context information needs to be stripped off the original
- message when no translation is used.
- Therefore you have to put it in double square brackets at the end of the
- message (see the example above).
- The translation mechanism of LyX ensures that everything in double square
- brackets at the end of messages is removed before displaying the message.
+ file syntax in detail.
+ These sections should help you design your own key map if the ones provided
+ do not meet your needs.
\end_layout
\begin_layout Subsection
-Translating the documentation.
+The .kmap File
\end_layout
\begin_layout Standard
-The online documentation (in the
-\begin_inset Flex CharStyle:MenuItem
+A
+\shape up
+.
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp
+kmap
\end_layout
\end_inset
--menu) can (and should!) be translated.
- If there are translated versions of the documentation available
-\begin_inset Foot
+ file maps keystrokes to characters or strings.
+ As the name suggests, it sets a keyboard mapping.
+ The
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-As of March 2008, at least some of the documents have been translated into
- fourteen languages, with the Tutorial available in a few more.
+.kmap
\end_layout
\end_inset
- and the locale is set accordingly, these will be used automagically by
- LyX.
- LyX looks for translated versions as
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LyXDir/doc/xx_DocName.lyx
-\end_layout
-\end_inset
+\shape default
+ file keywords
+\shape up
-, where
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-xx
+
+\shape up
+kmap
\end_layout
\end_inset
- is the code for the language currently in use.
- If there are no translated documents, the default English versions will
- be displayed.
- Note that the translated versions must have the same filenames (
-\begin_inset Flex CharStyle:Code
+
+\shape default
+,
+\shape up
+
+\shape default
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-DocName
+
+\shape up
+kmod
\end_layout
\end_inset
- above) as the original.
- If you feel up to translating the documentation (an excellent way to proof-read
- the original documentation by the way!), there are a few things you should
- do right away:
-\end_layout
+,
+\shape up
+
+\shape default
-\begin_layout Itemize
-Read
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex 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.
+\shape up
+kxmod
\end_layout
-\begin_layout Itemize
-Check out the documentation translation web page at
-\begin_inset CommandInset href
-LatexCommand href
-name "http://www.devel.lyx.org"
-target "http://www.devel.lyx.org"
-
\end_inset
-.
- That way, you can find out which (if any) documents have already been translate
-d into your language.
- You can also find out who (if anyone) is organizing the effort to translate
- the documentation into your language.
- If no one is organizing the effort, please let us know that you're interested.
-\end_layout
-
-\begin_layout Standard
-Once you get to actually translating, here's a few hints for you that may
- save you trouble:
-\end_layout
-
-\begin_layout Itemize
-Join the documentation team! There is information on how to do that in
-\begin_inset Flex CharStyle:Code
+, and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Intro.lyx
+
+\shape up
+kcomb
\end_layout
\end_inset
- (
-\begin_inset Flex CharStyle:MenuItem
+ are described in this section.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
-
-\bar under
-I
-\bar default
-ntroduction
+\shape up
+kmap
\end_layout
\end_inset
-), which by the way is the first document you should translate.
+ Map a character to a string
\end_layout
-\begin_layout Itemize
-Learn the typographic conventions for the language you are translating to.
- Typography is an ancient art and over the centuries, a great variety of
- conventions have developed throughout different parts of the world.
- Also study the professional terminology amongst typographers in your country.
- Inventing your own terminology will only confuse the users.
+\begin_layout LyX-Code
+
+\backslash
+kmap
+\family roman
+\emph on
+char
+\family default
+\emph default
+\family roman
\emph on
-(Warning! Typography is addictive!)
-\end_layout
-
-\begin_layout Itemize
-Make a copy of the document.
- This will be your working copy.
- You can use this as your personal translated help-file by placing it in
- your
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-UserDir/doc/
-\end_layout
-
-\end_inset
-
- directory.
-\end_layout
-
-\begin_layout Itemize
-Sometimes the original document (from the LyX-team) will be updated.
- Use the source viewer at
-\begin_inset CommandInset href
-LatexCommand href
-name "http://www.lyx.org/trac/timeline"
-target "http://www.lyx.org/trac/timeline"
-
-\end_inset
-
- to see what has been changed.
- That way you can easily see which parts of the translated document need
- to be updated.
-\end_layout
-
-\begin_layout Standard
-If you ever find an error in the original document, fix it and notify the
- rest of the documentation team of the changes! (You didn't forget to join
- the documentation team, did you?)
-\end_layout
-
-\begin_layout Standard
-\begin_inset Branch OutDated
-status collapsed
-
-\begin_layout Section
-International Keyboard Support
+string
\end_layout
\begin_layout Standard
-
+This will ma
+\family roman
+p
+\family default
+
+\family roman
\emph on
-[Editor's Note: The following section is by
+char
+\family default
\emph default
-\shape smallcaps
+\family roman
+to
+\family default
+
+\family roman
\emph on
-Ivan Schreter
-\shape default
+string
+\emph default
.
- It needs to be fixed to conform to the new Documentation Style sheet and
- to make use of the new v1.0 features.
- The whole thing also needs to be merged with the section following it.-jw
- It may also be badly out of date.-rh (2008)]
-\end_layout
-
-\begin_layout Subsection
-Defining Own Keymaps: Keymap File Format
-\end_layout
-
-\begin_layout Standard
-Let's look at a keyboard definition file a little closer.
- It is a plain text file defining
-\end_layout
-
-\begin_layout Itemize
-key-to-key or key-to-string translations
-\end_layout
+ Note that in
+\family default
+
+\family roman
+\emph on
+string
+\emph default
+,
+\family default
+
+\family roman
+\shape up
+the double-quote (")
+\family default
+\shape default
+
+\family roman
+and
+\family default
+
+\family roman
+\shape up
+the backslash (
+\backslash
+)
+\family default
+\shape default
+
+\family roman
+must be escaped with a preceding backslash (
+\shape up
-\begin_layout Itemize
-dead keys
-\end_layout
+\backslash
-\begin_layout Itemize
-dead keys exceptions
+\shape default
+)
+\family default
+.
\end_layout
\begin_layout Standard
-To define key-to-key or key-to-string translation, use this command:
-\end_layout
-
-\begin_layout Quotation
-\begin_inset Flex CharStyle:Code
+An example of a
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-\backslash
+\shape up
kmap
\end_layout
\end_inset
-
-\begin_inset Flex CharStyle:Code
+ statement to cause the symbol
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-key
+
+\shape up
+/
\end_layout
\end_inset
- outstring
-\end_layout
-
-\begin_layout Standard
-where
-\begin_inset Flex CharStyle:Code
+ to be output for the keystroke
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-key
+
+\shape up
+&
\end_layout
\end_inset
- is the key to be translated and
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-outstring
+ is:
\end_layout
-\end_inset
+\begin_layout LyX-Code
- is the string to be inserted into the document.
- To define dead keys, use:
+\backslash
+kmap & /
\end_layout
-\begin_layout Quotation
-\begin_inset Flex CharStyle:Code
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\backslash
+\shape up
kmod
\end_layout
\end_inset
-
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-key
+ Specify an accent character
\end_layout
-\end_inset
+\begin_layout LyX-Code
- deadkey
+\backslash
+kmod
+\family roman
+\emph on
+char accent allowed
\end_layout
\begin_layout Standard
-where
-\begin_inset Flex CharStyle:Code
+This will make the cha
+\family roman
+racter
+\family default
+
+\family roman
+\emph on
+char
+\family default
+\emph default
+
+\family roman
+\shape up
+\emph on
+be an accent
+\family default
+\shape default
+\emph default
+
+\family roman
+\shape up
+on the
+\family default
+\shape default
+
+\family roman
+\shape up
+\emph on
+allowed
+\family default
+\shape default
+\emph default
+
+\family roman
+\shape up
+cha
+\family default
+racter(s).
+ This is the dead key
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-key
+The term
+\family roman
+\emph on
+dead key
+\family default
+\emph default
+ refers to a key that does not produce a character by itself, but when followed
+ with another key, produces the desired accent character.
+ For example, a German characte
+\family roman
+r with an umlaut like
+\family default
+
+\family roman
+\emph on
+ä
+\family default
+\emph default
+
+\family roman
+can be produced in this manner.
\end_layout
\end_inset
- is a keyboard key and
-\begin_inset Flex CharStyle:Code
+ mechanism.
+
+\end_layout
+
+\begin_layout Standard
+If you
+\family roman
+hit
+\family default
+
+\family roman
+\emph on
+char
+\family default
+\emph default
+
+\family roman
+and then another key not in
+\family default
+
+\family roman
+\emph on
+allowed
+\emph default
+, you will get a
+\family default
+
+\family roman
+\emph on
+char
+\family default
+\emph default
+
+\family roman
+followed by the other, not allowed key, as output.
+
+\family default
+ Note that a
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+Backspace
+\end_layout
+
+\end_inset
+
+ cancels a dead key, so if
+\family roman
+you hit
+\family default
+
+\family roman
+\emph on
+char
+\family default
+\emph default
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+\emph on
+Backspace
+\end_layout
+
+\end_inset
+
+, the cursor will not go one position backwards but will instead cancel
+ the effect t
+\family roman
+hat
+\family default
+
+\family roman
+\shape up
+\emph on
+char
+\family default
+\shape default
+\emph default
+
+\family roman
+\shape up
+might have had on the next keystroke.
+
+\end_layout
+
+\begin_layout Standard
+The following example specifies that the character ' is to be an acute accent,
+ allowed on the characters a, e, i, o, u, A, E, I, O, and U:
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+kmod ' acute aeiouAEIOU
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+kxmod
+\end_layout
+
+\end_inset
+
+ Specify an exception to the accent character
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+kxmod
+\family roman
+\emph on
+accent char result
+\end_layout
+
+\begin_layout Standard
+This defines an exce
+\family roman
+ption for
+\family default
+
+\family roman
+\emph on
+accent
+\family default
+\emph default
+
+\family roman
+on
+\family default
+
+\family roman
+\emph on
+char
+\emph default
+.
+ T
+\shape up
+he
+\family default
+\shape default
+
+\family roman
+\shape up
+\emph on
+accent
+\family default
+\shape default
+\emph default
+
+\family roman
+\shape up
+must
+\family default
+\shape default
+
+\shape up
+have been assigned a keystroke with a previous
+\shape default
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+
+\backslash
+kmo
+\shape default
+d
+\end_layout
+
+\end_inset
+
+ declar
+\family roman
+ation and
+\family default
+
+\family roman
+\emph on
+char
+\family default
+\emph default
+
+\family roman
+must not belong in the
+\family default
+
+\family roman
+\emph on
+allowed
+\family default
+\emph default
+
+\family roman
+set of
+\family default
+
+\family roman
+\emph on
+accent
+\emph default
+.
+ When
+\family default
+
+\family roman
+\shape up
+you enter the
+\family default
+\shape default
+
+\family roman
+\shape up
+\emph on
+accent char
+\family default
+\shape default
+\emph default
+
+\family roman
+\shape up
+sequence,
+\family default
+\shape default
+
+\family roman
+\shape up
+\emph on
+result
+\emph default
+ is produced.
+ If such a declaration does not exist in
+\family default
+\shape default
+
+\shape up
+the
+\shape default
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+.kmap
+\end_layout
+
+\end_inset
+
+ file and yo
+\family roman
+u enter
+\family default
+
+\family roman
+\emph on
+accent char
+\emph default
+, you get
+\family default
+
+\family roman
+\emph on
+accent_key char
+\emph default
+ where
+\family default
+
+\family roman
+\emph on
+accent_key
+\emph default
+ is the first arg
+\family default
+ument of the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+
+\backslash
+kmod
+\end_layout
+
+\end_inset
+
+ declaration.
+
+\end_layout
+
+\begin_layout Standard
+The following command produces causes äi to be produced when you enter acute-i
+ ('i):
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+kxmod acute i "
+\backslash
+
+\backslash
+'{
+\backslash
+
+\backslash
+i}"
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+kcomb
+\end_layout
+
+\end_inset
+
+ Combine two accent characters
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+kcomb
+\family roman
+\emph on
+accent1 accent2 allowed
+\end_layout
+
+\begin_layout Standard
+This one is getting pretty esoteric.
+ It allows you to combine the effect
+\family roman
+of
+\family default
+
+\family roman
+\emph on
+accent1
+\family default
+\emph default
+
+\family roman
+and
+\family default
+
+\family roman
+\emph on
+accent2
+\family default
+\emph default
+
+\family roman
+(in that order!) on
+\family default
+
+\family roman
+\emph on
+allowed
+\family default
+\emph default
+
+\family roman
+chars.
+ The keystrokes for
+\family default
+
+\family roman
+\emph on
+accent1
+\family default
+\emph default
+
+\family roman
+and
+\family default
+
+\family roman
+\emph on
+accent2
+\family default
+\emph default
+
+\family roman
+must have be
+\family default
+en set with a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+
+\backslash
+kmod
+\end_layout
+
+\end_inset
+
+ command at
+\family roman
+a
+\family default
+
+\family roman
+\emph on
+previous
+\family default
+\emph default
+
+\family roman
+point in the
+\family default
+ file.
+
+\end_layout
+
+\begin_layout Standard
+Consider this example from the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+greek.kmap
+\end_layout
+
+\end_inset
+
+ file:
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+kmod ; acute aeioyvhAEIOYVH
+\backslash
+kmod : umlaut iyIY
+\backslash
+kcomb acute umlaut iyIY
+\end_layout
+
+\begin_layout Standard
+This allows you to press
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+;:i
+\end_layout
+
+\end_inset
+
+ and get the effect of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+
+\backslash
+'{
+\backslash
+"{i}}
+\end_layout
+
+\end_inset
+
+.
+
+\family roman
+\shape up
+A backspace
+\family default
+\shape default
+ in this case cancels the last dead key, so if you press
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+;: Backspace i
+\end_layout
+
+\end_inset
+
+ you get
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+
+\backslash
+'{i}
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+The .cdef File
+\end_layout
+
+\begin_layout Standard
+After the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+.kmap
+\end_layout
+
+\end_inset
+
+ mapping is performed, a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+.cde
+\shape default
+f
+\end_layout
+
+\end_inset
+
+ file maps the strings that the symbols generate to characters in the current
+ font.
+ The LyX distribution currently includes at least the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+iso8859-1.cdef
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+iso8859-2.cdef
+\end_layout
+
+\end_inset
+
+ files.
+\end_layout
+
+\begin_layout Standard
+In general the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+.cdef
+\end_layout
+
+\end_inset
+
+ file is a sequence of declarations of the form
+\end_layout
+
+\begin_layout LyX-Code
+
+\family roman
+\emph on
+char_index_in_set
+\family default
+\emph default
+
+\family roman
+\emph on
+ string
+\end_layout
+
+\begin_layout Standard
+For example, in order to map
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+
+\shape up
+
+\backslash
+'{e}
+\end_layout
+
+\end_inset
+
+ to the corresponding character in the iso-8859-1 set (233), the following
+ declaration is used
+\end_layout
+
+\begin_layout LyX-Code
+233 "
+\backslash
+
+\backslash
+'{e}"
+\end_layout
+
+\begin_layout Standard
+with
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+"
+\end_layout
+
+\end_inset
+
+ being escap
+\family roman
+ed in
+\family default
+
+\family roman
+\emph on
+string
+\emph default
+.
+ Note that
+\family default
+ the same character can apply to more than one string.
+ In the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+i
+\shape up
+so-8859-7.cdef
+\end_layout
+
+\end_inset
+
+ file you have
+\end_layout
+
+\begin_layout LyX-Code
+192 "
+\backslash
+
+\backslash
+'{
+\backslash
+
+\backslash
+
+\backslash
+"{i}}"
+\begin_inset Newline newline
+\end_inset
+
+192 "
+\backslash
+
+\backslash
+
+\backslash
+"{
+\backslash
+
+\backslash
+'{i}}"
+\end_layout
+
+\begin_layout Standard
+If LyX cannot find a mapping for the string produced by the keystroke or
+ a deadkey sequence, it will check if it looks like an accented char and
+ try to draw an accent over the character on screen.
+\end_layout
+
+\begin_layout Subsection
+Dead Keys
+\end_layout
+
+\begin_layout Standard
+There is a second way to add support for international characters through
+ so-called dead-keys.
+ A dead-key works in combination with a letter to produce an accented character.
+ Here, we'll explain how to create a really simple dead-key to illustrate
+ how they work.
+\end_layout
+
+\begin_layout Standard
+Suppose you happen to need the circumflex character,
+\begin_inset Quotes eld
+\end_inset
+
+ ̂
+\begin_inset Quotes erd
+\end_inset
+
+.
+ You could bind the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+^
+\end_layout
+
+\end_inset
+
+-key [a.k.a.
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Shift-6
+\end_layout
+
+\end_inset
+
+] to the LyX command
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+accent-circumflex
+\end_layout
+
+\end_inset
+
+ in your
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+lyxrc
+\end_layout
+
+\end_inset
+
+ file.
+ Now, whenever you type the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+^
+\end_layout
+
+\end_inset
+
+-key followed by a letter, that letter will have a circumflex accent on
+ it.
+ For example, the sequence
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+^e
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ produces the letter:
+\begin_inset Quotes eld
+\end_inset
+
+ê
+\begin_inset Quotes erd
+\end_inset
+
+.
+ If you tried to type
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+^t
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+, however, LyX will complain with a beep, since a
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+t
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ never takes a circumflex accent.
+ Hitting
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Space
+\end_layout
+
+\end_inset
+
+ after a dead-key produces the bare-accent.
+ Please note this last point! If you bind a key to a dead-key, you'll need
+ to rebind the character on that key to yet another key.
+ Binding the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+,-key
+\end_layout
+
+\end_inset
+
+ to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
+\end_layout
+
+\begin_layout Standard
+One common way to bind dead-keys is to use
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Meta-
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Ctrl-
+\end_layout
+
+\end_inset
+
+, and
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Shift-
+\end_layout
+
+\end_inset
+
+ in combination with an accent, like
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+~
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ or
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+,
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ or
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+^
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ Another way involves using
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+xmodmap
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+xkeycaps
+\end_layout
+
+\end_inset
+
+ to set up the special
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Mode_Switch
+\end_layout
+
+\end_inset
+
+ key.
+ The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Mode_Switch
+\end_layout
+
+\end_inset
+
+ acts in some ways just like
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Shift
+\end_layout
+
+\end_inset
+
+ and permits you to bind keys to accented characters.
+ You can also turn keys into dead-keys by binding them to something like
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+usldead_cedilla
+\end_layout
+
+\end_inset
+
+ and then binding this symbolic key to the corresponding LyX command.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Note from
+\noun on
+John Weiss
+\noun default
+: This is exactly what I do in my
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+~/.lyx/lyxrc
+\end_layout
+
+\end_inset
+
+ and my
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+~/.xmodmap
+\end_layout
+
+\end_inset
+
+ files.
+ I have my
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Scroll
+\begin_inset space ~
+\end_inset
+
+Lock
+\end_layout
+
+\end_inset
+
+ key set up as
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Mode_Shift
+\end_layout
+
+\end_inset
+
+ and a bunch of these
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+usldead_*
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ symbolic keys bound such things as
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Scroll
+\begin_inset space ~
+\end_inset
+
+Lock-^
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Scroll
+\begin_inset space ~
+\end_inset
+
+Lock-~
+\end_layout
+
+\end_inset
+
+.
+ This is how I produce my accented characters.
+\end_layout
+
+\end_inset
+
+ You can make just about anything into the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Mode_Switch
+\end_layout
+
+\end_inset
+
+ key: One of the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Ctrl-
+\end_layout
+
+\end_inset
+
+ keys, a spare function key, etc.
+ As for the LyX commands that produce accents, check the entry for
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+accent-acute
+\end_layout
+
+\end_inset
+
+ in the
+\emph on
+Reference Manual
+\emph default
+.
+ You'll find the complete list there.
+\end_layout
+
+\begin_layout Subsection
+Saving your Language Configuration
+\end_layout
+
+\begin_layout Standard
+You can edit your preferences so that your desired language environment
+ is automatically configured when LyX starts up, via the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Edit\SpecialChar \menuseparator
+Preferences
+\end_layout
+
+\end_inset
+
+ dialog.
+\end_layout
+
+\begin_layout Chapter
+Installing New Document Classes, Layouts, and Templates
+\begin_inset CommandInset label
+LatexCommand label
+name "cha:Installing-New-Document"
+
+\end_inset
+
+
+\begin_inset Argument 1
+status collapsed
+
+\begin_layout Plain Layout
+Installing New Document Classes
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+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.
+
+\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 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.
+ What it knows is contained in layout files.
+\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, DocBook, or
+ XHTML constructs.
+ Almost everything LyX knows about
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+article.cls
+\end_layout
+
+\end_inset
+
+, for example, is contained in the file
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+article.layout
+\end_layout
+
+\end_inset
+
+ 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+stdsections.inc
+\end_layout
+
+\end_inset
+
+, which is included in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+article.layout
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex 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 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, DocBook, and XHTML
+ commands and tags.
+ The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+article.layout
+\end_layout
+
+\end_inset
+
+ file basically just includes several of these
+\begin_inset Flex 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 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
+
+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 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 ref
+reference "sec:Tags-for-XHTML"
+
+\end_inset
+
+ for the details.
+\end_layout
+
+\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
+
+Package
+\begin_inset space ~
+\end_inset
+
+Manager
+\begin_inset Quotes erd
+\end_inset
+
+ to get a list of available packages.
+ To install one of them, right click on it or use the corresponding toolbar
+ button.
+\end_layout
+
+\begin_layout Standard
+If your LaTeX distribution does not provide such a `package manager', or
+ if the package is not available from your distribution, then follow these
+ steps to install it manually:
+\end_layout
+
+\begin_layout Enumerate
+Get the package from
+\begin_inset CommandInset href
+LatexCommand href
+name "CTAN"
+target "http://www.ctan.org/"
+
+\end_inset
+
+ or wherever.
+\end_layout
+
+\begin_layout Enumerate
+If the package contains a file with the ending
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+.ins
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ (is the case for FoilTeX) then open a console, change to the folder of
+ this file and execute the command
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+latex foiltex.ins
+\end_layout
+
+\end_inset
+
+.
+ You have now unpacked the package and have all files to install it.
+ Most LaTeX-packages are not packed and you can skip this step.
+\end_layout
+
+\begin_layout Enumerate
+Now you need to decide if the package should be available for all users
+ or only for you.
+\begin_inset Separator parbreak
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+On *nix systems (Linux, OSX, etc.), if you want the new package to be available
+ for all users on your system, then install it in your `local' TeX tree,
+ otherwise install it in your own `user' TeX tree.
+ Where these trees should be created, if they do not already exist, depends
+ on your system.
+ To find this out, look in the file
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+texmf.cnf
+\end_layout
+
+\end_inset
+
+.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+This is usually in the directory
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+$TEXMF/web2c
+\end_layout
+
+\end_inset
+
+, though you can execute the command
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+kpsewhich texmf.cnf
+\end_layout
+
+\end_inset
+
+ to locate it.
+\end_layout
+
+\end_inset
+
+ The location of the `local' TeX tree is defined by the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TEXMFLOCAL
+\end_layout
+
+\end_inset
+
+ variable; this is usually somewhere like
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+/usr/local/share/texmf
+\end_layout
+
+\end_inset
+
+.
+ The location of the `user' TeX tree is defined by
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TEXMFHOME
+\end_layout
+
+\end_inset
+
+ and is commonly
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+$HOME/texmf
+\end_layout
+
+\end_inset
+
+.
+ (If these variables are not predefined, you have to define them.) You'll
+ probably need root permissions to create or modify the `local' tree, but
+ not for your `user' tree.
+\begin_inset Newline newline
+\end_inset
+
+In general, it is recommended to install in the user tree because your user
+ will not be modified or even overwritten when you upgrade your system.
+ It will typically also be backed up together with everything else when
+ you backup your home directory (which, of course, you do on a regular basis).
+\end_layout
+
+\begin_layout Enumerate
+On Windows, if you want the new package to be available for all users on
+ your system, change to the folder where LaTeX is installed and then change
+ to the subfolder
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+~
+\backslash
+tex
+\backslash
+latex
+\end_layout
+
+\end_inset
+
+.
+ (For MiKTeX, this would be by default the folder
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+~:
+\backslash
+Programs
+\backslash
+MiKTeX
+\backslash
+tex
+\backslash
+latex
+\end_layout
+
+\end_inset
+
+.)
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+Note that this will be the correct path only on English installations.
+ On a German one, it would be
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+~:
+\backslash
+Programme
+\backslash
+MiKTeX
+\backslash
+tex
+\backslash
+latex
+\end_layout
+
+\end_inset
+
+, and similarly for other languages.
+\end_layout
+
+\end_inset
+
+ Create there a new folder
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+foiltex
+\end_layout
+
+\end_inset
+
+ and copy all files of the package into it.
+
+\begin_inset Newline newline
+\end_inset
+
+If the package should only available for you or you don't have admin permissions
+, do the same, but in the local LaTeX folder.
+ E.
+\begin_inset space \thinspace{}
+\end_inset
+
+g., for MiKTeX
+\begin_inset space ~
+\end_inset
+
+2.8 under Windows XP, this would be the folder:
+\begin_inset Newline newline
+\end_inset
+
+
+\family sans
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+~:
+\backslash
+Documents and Settings
+\backslash
+<username>
+\backslash
+Application Data
+\backslash
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\family default
+
+\begin_inset Phantom HPhantom
+status open
+
+\begin_layout Plain Layout
+
+\family sans
+~:
+\backslash
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MiKTeX
+\backslash
+2.8
+\backslash
+tex
+\backslash
+latex
+\end_layout
+
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+On Vista, it would be:
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+~:
+\backslash
+Users
+\backslash
+<username>
+\backslash
+AppData
+\backslash
+Roaming
+\backslash
+2.8
+\backslash
+MiKTeX
+\backslash
+tex
+\backslash
+latex
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Now one only need to tell LaTeX that there are new files.
+ This depends on the used LaTeX-Distribution:
+\begin_inset Separator parbreak
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+For TeXLive execute the command
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+texhash
+\end_layout
+
+\end_inset
+
+ from a console.
+ If you installed the package for all users, then you will probably need
+ to have root permissions for that.
+\end_layout
+
+\begin_layout Enumerate
+For MiKTeX, if you have installed the package for all users, start the program
+
+\begin_inset Quotes eld
+\end_inset
+
+Settings
+\begin_inset space ~
+\end_inset
+
+(Admin)
+\begin_inset Quotes erd
+\end_inset
+
+ and press the button marked
+\begin_inset Quotes eld
+\end_inset
+
+Refresh FNDB
+\begin_inset Quotes erd
+\end_inset
+
+.
+ Otherwise start the program
+\begin_inset Quotes eld
+\end_inset
+
+Settings
+\begin_inset Quotes erd
+\end_inset
+
+ and do the same.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Finally, you need to tell LyX that there are new packages available.
+ So, in LyX, use the menu
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Tools
+\family sans
+\SpecialChar \menuseparator
+Reconfigure
+\end_layout
+
+\end_inset
+
+ and then restart LyX.
+\end_layout
+
+\begin_layout Standard
+Now the package is installed.
+ In our example, the document class
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Slides
+\begin_inset space ~
+\end_inset
+
+(FoilTe
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+{}
+\end_layout
+
+\end_inset
+
+x)
+\end_layout
+
+\end_inset
+
+ will now be available under
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings\SpecialChar \menuseparator
+Document Class
+\end_layout
+
+\end_inset
+
+.
+
+\end_layout
+
+\begin_layout Standard
+If you would like to use a LaTeX document class that is not even listed
+ in the menu
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings\SpecialChar \menuseparator
+Document Class
+\end_layout
+
+\end_inset
+
+, then you need to create a `layout' file for it.
+ That is the topic of the next section.
+\end_layout
+
+\begin_layout Section
+Types of layout files
+\end_layout
+
+\begin_layout Standard
+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 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
+
+ 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
+Note that LyX is licensed under the General Public License, so any material
+ that is contributed to LyX must be similarly licensed.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Layout modules
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Layout-modules"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+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 Code
+status collapsed
+
+\begin_layout Plain Layout
+.layout
+\end_layout
+
+\end_inset
+
+ extension and provide LyX with information about document classes.
+ Since LyX 1.6 layout information can also be contained in layout
+\emph on
+modules
+\emph default
+, which have the
+\begin_inset Flex 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
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+endnotes
+\end_layout
+
+\end_inset
+
+ module—specifically provide support for one 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+.inc
+\end_layout
+
+\end_inset
+
+ extension.
+\end_layout
+
+\end_inset
+
+ files—files like
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+stdsections.inc
+\end_layout
+
+\end_inset
+
+—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 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 MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings
+\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 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+layouts/
+\end_layout
+
+\end_inset
+
+ 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 MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings
+\end_layout
+
+\end_inset
+
+, highlight something, and then hit
+\begin_inset Quotes eld
+\end_inset
+
+OK
+\begin_inset Quotes erd
+\end_inset
+
+.
+
+\emph on
+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 actual documents
+\emph default
+.
+ Though of course the developers strive to keep LyX stable in such situations,
+ syntax errors and the like in your module file could cause strange behavior.
+\end_layout
+
+\begin_layout Subsubsection
+Local Layout
+\end_layout
+
+\begin_layout Standard
+Modules are to LyX as packages are to LaTeX.
+ Sometimes, however, you find yourself wanting a specific inset or character
+ style just for one document and writing a module that will also be available
+ to other documents makes little sense.
+ What you need is LyX's
+\begin_inset Quotes eld
+\end_inset
+
+Local Layout
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+You will find it under
+\family sans
+Document\SpecialChar \menuseparator
+Settings\SpecialChar \menuseparator
+Local Layout
+\family default
+.
+ The large text box allows you to enter anything that you might enter in
+ a layout file or module.
+ You can think of a document's local layout, in fact, as a module that belongs
+ just to it.
+ So, in particular, you must enter a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Format
+\end_layout
+
+\end_inset
+
+ tag.
+ Any format is acceptable, but one would normally use the format current
+ at the time.
+ (In LyX 2.1, the current layout format is 48.) You should be aware that local
+ layout is not supported by versions of LyX prior to 1.6, so you should not
+ use it if you want to be able to export your document to LyX 1.5 or earlier
+ (without, that is, losing the local layout information).
+ If you wish to be able to export to 1.6---local layout is supported in 1.6,
+ though there is no UI for it---then you should use format 11 and, of course,
+ use only layout constructs that were available in LyX 1.6.
+\end_layout
+
+\begin_layout Standard
+When you have entered something in the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Local Layout
+\end_layout
+
+\end_inset
+
+ pane, LyX will enable the
+\begin_inset Quotes eld
+\end_inset
+
+Validate
+\begin_inset Quotes erd
+\end_inset
+
+ button at the bottom.
+ Clicking this button will cause LyX to determine whether what you have
+ entered is valid layout information for the chosen format.
+ LyX will report the result but, unfortunately, will not tell you what errors
+ there might have been.
+ These will be written to the terminal, however, if LyX is started from
+ a terminal.
+ You will not be permitted to save your local layout until you have entered
+ something valid.
+\end_layout
+
+\begin_layout Standard
+The warnings at the end of the previous section apply here, too.
+ Do not play with local layout while you are actually working, especially
+ if you have not saved your document.
+ That said, using local layout with a test document can be a very convenient
+ way to try out layout ideas, or even to start developing a module.
+\end_layout
+
+\begin_layout Subsection
+Layout for
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+.sty
+\end_layout
+
+\end_inset
+
+ files
+\end_layout
+
+\begin_layout Standard
+There are two situations you are likely to encounter when wanting to support
+ a new LaTeX document class, involving style (
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+.sty
+\end_layout
+
+\end_inset
+
+) files and LaTeX2e class (
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+.cls
+\end_layout
+
+\end_inset
+
+) .
+ Supporting a style file is usually fairly easy.
+ 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 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 MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+myclass.sty
+\end_layout
+
+\end_inset
+
+ and that it is meant to be used with
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+report.cls
+\end_layout
+
+\end_inset
+
+, 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
+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 Code
+status collapsed
+
+\begin_layout Plain Layout
+-userdir
+\end_layout
+
+\end_inset
+
+ option.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+cp report.layout ~/.lyx/layouts/myclass.layout
+\end_layout
+
+\begin_layout Standard
+Then edit
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+myclass.layout
+\end_layout
+
+\end_inset
+
+ and change the line:
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+DeclareLaTeXClass{report}
+\end_layout
+
+\begin_layout Standard
+to read
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
+\end_layout
+
+\begin_layout Standard
+Then add:
+\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
+near the top of the file.
+\end_layout
+
+\begin_layout Standard
+Start LyX and select
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Tools\SpecialChar \menuseparator
+Reconfigure
+\end_layout
+
+\end_inset
+
+.
+ Then restart LyX and try creating a new document.
+ You should see "
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+report (myclass)
+\end_layout
+
+\end_inset
+
+" as a document class option in the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+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—
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+report
+\end_layout
+
+\end_inset
+
+ in this example—so 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 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+Input stdclass.inc
+\end_layout
+
+\end_inset
+
+, which itself includes
+\begin_inset Flex 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 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 35
+\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
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+.cls
+\end_layout
+
+\end_inset
+
+ files
+\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 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+DeclareLaTeXClass
+\end_layout
+
+\end_inset
+
+ line will be different.
+ If your new class is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+thesis
+\end_layout
+
+\end_inset
+
+ and it is based upon
+\begin_inset Flex 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 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 Subsection
+Creating templates
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Creating-Templates"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+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
+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 Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+font_roman
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+papersize
+\end_layout
+
+\end_inset
+
+ from the template LyX file.
+ This can be done with any simple text-editor, for example
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+vi
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+notepad
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Put the edited template files you create in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+UserDir/templates/
+\end_layout
+
+\end_inset
+
+, copy the ones you use from the global template directory in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LyXDir/templates/
+\end_layout
+
+\end_inset
+
+ to the same place, and redefine the template path in the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Tools\SpecialChar \menuseparator
+Preferences\SpecialChar \menuseparator
+Paths
+\end_layout
+
+\end_inset
+
+ dialog.
+\end_layout
+
+\begin_layout Standard
+Note, by the way, that there is a template which has a particular meaning:
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+defaults.lyx
+\end_layout
+
+\end_inset
+
+.
+ This template is loaded every time you create a new document with
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+File\SpecialChar \menuseparator
+New
+\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 MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Save as Document Defaults
+\end_layout
+
+\end_inset
+
+ button.
+\end_layout
+
+\begin_layout Subsection
+Upgrading old layout files
+\end_layout
+
+\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.
+ If LyX reads a layout file in an older format, it automatically calls the
+ script
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+layout2layout.py
+\end_layout
+
+\end_inset
+
+ 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 Enumerate
+rename the file
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+myclass.layout
+\end_layout
+
+\end_inset
+
+ to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+myclass.old
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Enumerate
+Call the command
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+python LyXDir/scripts/layout2layout.py myclass.old myclass.layout
+\end_layout
+
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+where
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LyXDir
+\end_layout
+
+\end_inset
+
+ is the name of your LyX system directory.
+\end_layout
+
+\begin_layout Standard
+Note that manual conversion does not affect included files, so these will
+ have to be converted separately.
+\end_layout
+
+\begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:TextClass"
+
+\end_inset
+
+The layout file format
+\end_layout
+
+\begin_layout Standard
+The following sections describe how layout files are structured and written.
+ Our advice is to go slowly, save and test often.
+ It is really not that hard, except that the multitude of options can become
+ overwhelming, especially if you try to check out too many at once.
+ It becomes easier if you use existing layouts of LyX as examples/reference
+ or if you modify an existing layout to your needs.
+\end_layout
+
+\begin_layout Standard
+Note that all the tags used in layout files are case-insensitive.
+ This means that
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Style
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+style
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+StYlE
+\end_layout
+
+\end_inset
+
+ are really the same tag.
+ The possible arguments are printed in brackets after the tag's name.
+ The default argument is typeset
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+emphasized
+\end_layout
+
+\end_inset
+
+.
+ If the argument has a data type 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+float=
+\emph on
+default
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+The document class declaration and classification
+\end_layout
+
+\begin_layout Standard
+Lines in a layout file which begin with
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+#
+\end_layout
+
+\end_inset
+
+ are comments.
+ There is one exception to this rule.
+ All
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+*.layout
+\end_layout
+
+\end_inset
+
+ files 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
+DeclareLaT
+\size default
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+{}
+\end_layout
+
+\end_inset
+
+
+\size small
+eXClass{Article (Standard Class)}
+\end_layout
+
+\begin_layout LyX-Code
+
+\size small
+#
+\backslash
+DeclareCategory{Articles}
+\end_layout
+
+\begin_layout Standard
+The second and third lines are used when you (re)configure LyX.
+ The layout file is read by the LaTeX script
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+chkconfig.ltx
+\end_layout
+
+\end_inset
+
+, in a special mode where
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+#
+\end_layout
+
+\end_inset
+
+ is ignored.
+ The first line is just a LaTeX comment, the second one contains the mandatory
+ declaration of the text class and the third line contains the optional
+ classification of the class.
+ If these lines appear in a file named
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+article.layout
+\end_layout
+
+\end_inset
+
+, then they define a text class of name
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+article
+\end_layout
+
+\end_inset
+
+ (the name of the layout file) which uses the LaTeX document class
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+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 (Standard Class)
+\begin_inset Quotes erd
+\end_inset
+
+ that appears above is used as a description of the text class in the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings
+\end_layout
+
+\end_inset
+
+ dialog.
+ The category (
+\begin_inset Quotes eld
+\end_inset
+
+Articles
+\begin_inset Quotes erd
+\end_inset
+
+ in the example) is also used in the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings
+\end_layout
+
+\end_inset
+
+ dialog: the text classes are grouped by these categories (which are usually
+ genres, so typical categories are
+\begin_inset Quotes eld
+\end_inset
+
+Articles
+\begin_inset Quotes erd
+\end_inset
+
+,
+\begin_inset Quotes eld
+\end_inset
+
+Books
+\begin_inset Quotes erd
+\end_inset
+
+,
+\begin_inset Quotes eld
+\end_inset
+
+Reports
+\begin_inset Quotes erd
+\end_inset
+
+,
+\begin_inset Quotes eld
+\end_inset
+
+Letters
+\begin_inset Quotes erd
+\end_inset
+
+,
+\begin_inset Quotes eld
+\end_inset
+
+Presentations
+\begin_inset Quotes erd
+\end_inset
+
+,
+\begin_inset Quotes eld
+\end_inset
+
+Curricula Vitae
+\begin_inset Quotes erd
+\end_inset
+
+ etc.).
+ If no category has been declared, the class will be put in the
+\begin_inset Quotes eld
+\end_inset
+
+Uncategorized
+\begin_inset Quotes erd
+\end_inset
+
+ group.
+\end_layout
+
+\begin_layout Standard
+Let's assume that you wrote your own text class that uses the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+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 Code
+status collapsed
+
+\begin_layout Plain Layout
+myarticle.layout
+\end_layout
+
+\end_inset
+
+, the header of this file should be:
+\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
+DeclareLaT
+\size default
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+{}
+\end_layout
+
+\end_inset
+
+
+\size small
+eXClass[article]{Article (with My Own Headings)}
+\end_layout
+
+\begin_layout LyX-Code
+
+\size small
+#
+\backslash
+DeclareCategory{Articles}
+\end_layout
+
+\begin_layout Standard
+This declares a text class
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+myarticle
+\end_layout
+
+\end_inset
+
+, associated with the LaTeX document class
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+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 LyX-Code
+
+\size small
+#% Do not delete the line below; configure depends on this
+\end_layout
+
+\begin_layout LyX-Code
+
+\size small
+#
+\backslash
+DeclareLaT
+\size default
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+{}
+\end_layout
+
+\end_inset
+
+
+\size small
+eXClass[article,foo.sty]{Article (with My Own Headings)}
+\end_layout
+
+\begin_layout LyX-Code
+
+\size small
+#
+\backslash
+DeclareCategory{Articles}
+\end_layout
+
+\begin_layout Standard
+This indicates that your text class uses the
+\begin_inset Flex 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:
+\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
+DeclareDocBookClass[article]{SGML (DocBook Article)}
+\end_layout
+
+\begin_layout LyX-Code
+
+\size small
+#
+\backslash
+DeclareCategory{Articles (DocBook)}
+\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).
+\end_layout
+
+\begin_layout Standard
+So, to be as explicit as possible, the form of the layout declaration is:
+\end_layout
+
+\begin_layout LyX-Code
+
+\size small
+#
+\backslash
+DeclareLaT
+\size default
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+{}
+\end_layout
+
+\end_inset
+
+
+\size small
+eXClass[class,package.sty]{layout description}
+\end_layout
+
+\begin_layout LyX-Code
+
+\size small
+#
+\backslash
+DeclareCategory{category}
+\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 or if there are packages to load.
+ 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 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+LyXDir/layouts/
+\end_layout
+
+\end_inset
+
+ or to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+UserDir/layouts
+\end_layout
+
+\end_inset
+
+, run
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Tools\SpecialChar \menuseparator
+Reconfigure
+\end_layout
+
+\end_inset
+
+, exit LyX and restart.
+ Then your new text class should be available along with the others.
+\end_layout
+
+\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
+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
+
+ You can force a reload of the current layout by using the LyX function
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+layout-reload
+\end_layout
+
+\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 Standard
+
+\emph on
+Warning
+\emph default
+:
+\begin_inset Flex 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 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
+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
+
+ 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
+The Module declaration
+\end_layout
+
+\begin_layout Standard
+A module must begin with a line like the following:
+\end_layout
+
+\begin_layout LyX-Code
+#
+\backslash
+DeclareL
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+{}
+\end_layout
+
+\end_inset
+
+yXModule[endnotes.sty]{Endnotes}
+\end_layout
+
+\begin_layout Standard
+The mandatory argument, in curly brackets, is the name of the module, as
+ it should appear in
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings\SpecialChar \menuseparator
+Modules
+\end_layout
+
+\end_inset
+
+.
+ The argument in square brackets is optional: It declares any LaTeX packages
+ on which the module depends.
+ It is also possible to use the form
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+from->to
+\end_layout
+
+\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 Code
+status collapsed
+
+\begin_layout Plain Layout
+from
+\end_layout
+
+\end_inset
+
+' and `
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+to
+\end_layout
+
+\end_inset
+
+'.
+\end_layout
+
+\begin_layout Standard
+The module declaration should then be followed by lines like the following
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Preferably in English if the module should be published with LyX.
+ This description will appear in the list of messages to be translated and
+ will be thus translated with the next interface update.
+\end_layout
+
+\end_inset
+
+:
+\end_layout
+
+\begin_layout LyX-Code
+#DescriptionBegin
+\end_layout
+
+\begin_layout LyX-Code
+#Adds an endnote command, in addition to footnotes.
+
+\end_layout
+
+\begin_layout LyX-Code
+#You will need to add
+\backslash
+theendnotes in TeX code where you
+\end_layout
+
+\begin_layout LyX-Code
+#want the endnotes to appear.
+
+\end_layout
+
+\begin_layout LyX-Code
+#DescriptionEnd
+\end_layout
+
+\begin_layout LyX-Code
+#Requires: somemodule | othermodule
+\end_layout
+
+\begin_layout LyX-Code
+#Excludes: badmodule
+\end_layout
+
+\begin_layout Standard
+The description is used in
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings\SpecialChar \menuseparator
+Modules
+\end_layout
+
+\end_inset
+
+ to provide the user with information about what the module does.
+ The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Requires
+\end_layout
+
+\end_inset
+
+ line is used to identify other modules with which this one must be used;
+ the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+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 filenames without the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+.module
+\end_layout
+
+\end_inset
+
+ extension.
+ So
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+somemodule
+\end_layout
+
+\end_inset
+
+ is really
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+somemodule.module
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+Format number
+\end_layout
+
+\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
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Format
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+int
+\end_layout
+
+\end_inset
+
+] The format number of the layout file.
+\end_layout
+
+\begin_layout Standard
+This tag was introduced with LyX
+\begin_inset space ~
+\end_inset
+
+1.4.0.
+ Layout files from older LyX versions do not have an explicit file format
+ and are considered to have
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Format
+\begin_inset space ~
+\end_inset
+
+1
+\end_layout
+
+\end_inset
+
+.
+ The format for the present version of LyX is format 35.
+ 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.
+\end_layout
+
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:General-text-class"
+
+\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 Code
+status collapsed
+
+\begin_layout Plain Layout
+.layout
+\end_layout
+
+\end_inset
+
+ files rather than in modules.
+ A module can contain any layout tag.)
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+AddToHTMLPreamble
+\end_layout
+
+\end_inset
+
+ Adds information that will be output in the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<head>
+\end_layout
+
+\end_inset
+
+ block when the document 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+<head>
+\end_layout
+
+\end_inset
+
+.
+ Must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+AddToPreamble
+\end_layout
+
+\end_inset
+
+ Adds information to the document preamble.
+ Must end with
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+CiteFormat
+\end_layout
+
+\end_inset
+
+ Defines formats for use in the display of bibliographic information.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Citation-format-description"
+
+\end_inset
+
+ for details.
+ Must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+End
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ClassOptions
+\end_layout
+
+\end_inset
+
+ Describes various global options supported by the document class.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:ClassOptions"
+
+\end_inset
+
+ for a description.
+ Must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+End
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Columns
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+1
+\end_layout
+
+\end_inset
+
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+
+] Whether the class should
+\emph on
+default
+\emph default
+ to having one or two columns.
+ Can be changed in the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings
+\end_layout
+
+\end_inset
+
+ dialog.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Counter
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex 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 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
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
+
+\end_inset
+
+ for details on counters.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+DefaultFont
+\end_layout
+
+\end_inset
+
+ Sets the default font used to display the document.
+ See
+\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 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+DefaultModule
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<module>
+\end_layout
+
+\end_inset
+
+] Specifies a module to be included by default with this document class.
+ The module is specified as filename without the
+\begin_inset Flex 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+DefaultStyle
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<style>
+\end_layout
+
+\end_inset
+
+] This is the style that will be assigned to new paragraphs, usually
+\begin_inset Flex 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+ExcludesModule
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<module>
+\end_layout
+
+\end_inset
+
+] This tag indicates that the module (which is specified by filename without
+ the
+\begin_inset Flex 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+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"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Float
+\end_layout
+
+\end_inset
+
+ Defines a new float.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Floats"
+
+\end_inset
+
+ for details.
+ Must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+End
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLPreamble
+\end_layout
+
+\end_inset
+
+ Sets the information that will be output in the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<head>
+\end_layout
+
+\end_inset
+
+ block when this document class is output to XHTML.
+ Note that this will completely override any prior
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLPreamble
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+AddToHTMLPreamble
+\end_layout
+
+\end_inset
+
+ declarations.
+ (Use
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+AddToHTMLPreamble
+\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 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLTOCSection
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<style>
+\end_layout
+
+\end_inset
+
+] The style to use for the table of contents, bibliography, and so forth,
+ when the document is output to HTML.
+ For articles, this should normally be
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Section
+\end_layout
+
+\end_inset
+
+; for books
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Chapter
+\end_layout
+
+\end_inset
+
+.
+ If it is not given, then LyX will attempt to figure out which layout to
+ use.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+IfCounter
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<counter>
+\end_layout
+
+\end_inset
+
+] Modifies the properties of the given counter.
+ If the counter does not exist, the statement is ignored.
+ Must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex 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
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
+
+\end_inset
+
+ for details on counters.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+IfStyle
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<style>
+\end_layout
+
+\end_inset
+
+] Modifies the properties of the given paragraph style.
+ If the style does not exist, the statement is ignored.
+ Must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+End
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Input
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<filename>
+\end_layout
+
+\end_inset
+
+] This 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+stdclass.inc
+\end_layout
+
+\end_inset
+
+, which contains most of the basic layouts.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+InsetLayout
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<type>
+\end_layout
+
+\end_inset
+
+] 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
+
+
+\begin_inset Flex 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
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Flex-insets-and"
+
+\end_inset
+
+ for more information.
+
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LeftMargin
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\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
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MMMMM
+\end_layout
+
+\end_inset
+
+
+\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
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+NoCounter
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<counter>
+\end_layout
+
+\end_inset
+
+] Deletes an existing counter, usually one defined in an included file.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+NoFloat
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<float>
+\end_layout
+
+\end_inset
+
+] 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+NoStyle
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<style>
+\end_layout
+
+\end_inset
+
+] Deletes an existing style.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+OutputFormat
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<format>
+\end_layout
+
+\end_inset
+
+] The file format (as defined in the LyX preferences) produced by this document
+ class.
+ It is mainly useful when
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+OutputType
+\end_layout
+
+\end_inset
+
+ is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+literate
+\end_layout
+
+\end_inset
+
+ and one wants to define a new type of literate document.
+ The format is reset to
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+docbook
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ or
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+latex
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ when the corresponding
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+OutputType
+\end_layout
+
+\end_inset
+
+ parameter is encountered.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+OutputType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+lat
+\emph default
+ex
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+docbook
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+literate
+\end_layout
+
+\end_inset
+
+] Specifies what sort of output documents using this class will produce.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+PackageOptions
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Specifies options, given in the second string, for the package named by
+ the first string.
+ For example,
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+PackageOptions natbib square
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ will cause
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+natbib
+\end_layout
+
+\end_inset
+
+ to be loaded with the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+square
+\end_layout
+
+\end_inset
+
+ option.
+ (For TeXperts, this causes LyX to output:
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+PassOptionsToPackage{natbib}{square}
+\end_layout
+
+\end_inset
+
+ prior to loading
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+natbib
+\end_layout
+
+\end_inset
+
+.)
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+PageStyle
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+plain
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+empty
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+headings
+\end_layout
+
+\end_inset
+
+] The default pagestyle.
+ Can be changed in the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings
+\end_layout
+
+\end_inset
+
+ dialog.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Preamble
+\end_layout
+
+\end_inset
+
+ Sets the preamble for the LaTeX document.
+ Note that this will completely override any prior
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Preamble
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+AddToPreamble
+\end_layout
+
+\end_inset
+
+ declarations.
+ (Use
+\begin_inset Flex 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
+
+
+\begin_inset Flex 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+Provides
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] Whether the class already provides the feature
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+.
+ A feature is in general the name of a package (e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
+\begin_inset space \space{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+amsmath
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+makeidx
+\end_layout
+
+\end_inset
+
+) or a macro (e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
+\begin_inset space \space{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+url
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+boldsymbol
+\end_layout
+
+\end_inset
+
+).
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "chap:List-of-functions"
+
+\end_inset
+
+ for the list of features.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ProvidesModule
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Indicates that this layout provides the functionality of the module mentioned,
+ which should be specified by the filename without the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+.module
+\end_layout
+
+\end_inset
+
+ extension.
+ This will typically be used if the layout includes the module directly,
+ rather than using the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+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 Code
+status collapsed
+
+\begin_layout Plain Layout
+Requires
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Whether the class requires the feature
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+.
+ Multiple features must be separated by commas.
+ Note that you can only request supported features.
+ (See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "chap:List-of-functions"
+
+\end_inset
+
+ for the list of features.)
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+RightMargin
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\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
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MMMMM
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+SecNumDepth
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+int=3
+\end_layout
+
+\end_inset
+
+] Sets which divisions get numbered.
+ Corresponds to the
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+secnumdepth
+\end_layout
+
+\end_inset
+
+ counter in LaTeX.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Sides
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+1
+\end_layout
+
+\end_inset
+
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\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 MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings
+\end_layout
+
+\end_inset
+
+ dialog.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Style
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<name>
+\end_layout
+
+\end_inset
+
+] 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_inset Flex 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
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Styles"
+
+\end_inset
+
+ for details on paragraph styles.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TitleLatexName
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string="maketitle"
+\end_layout
+
+\end_inset
+
+] The name of the command or environment to be used with
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TitleLatexType
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TitleLatexType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+CommandAfter
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Environment
+\end_layout
+
+\end_inset
+
+] Indicates what kind of markup is used to define the title of a document.
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+CommandAfter
+\end_layout
+
+\end_inset
+
+ means that the macro with name
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TitleLatexName
+\end_layout
+
+\end_inset
+
+ will be inserted after the last layout which has
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+InTitle
+\begin_inset space ~
+\end_inset
+
+1
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Environment
+\end_layout
+
+\end_inset
+
+ corresponds to the case where all layouts which have
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+InTitle
+\begin_inset space ~
+\end_inset
+
+1
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ should be enclosed into the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TitleLatexName
+\end_layout
+
+\end_inset
+
+ environment.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TocDepth
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+int=3
+\end_layout
+
+\end_inset
+
+] Sets which divisions are included in the table of contents.
+ Corresponds to the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+tocdepth
+\end_layout
+
+\end_inset
+
+ counter in LaTeX.
+\end_layout
+
+\begin_layout Subsection
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ClassOptions
+\end_layout
+
+\end_inset
+
+ section
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:ClassOptions"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ClassOptions
+\end_layout
+
+\end_inset
+
+ section can contain the following entries:
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+FontSize
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string="10|11|12"
+\end_layout
+
+\end_inset
+
+] The list of available font sizes for the document's main font, separated
+ by
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+|
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Header
+\end_layout
+
+\end_inset
+
+ 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
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+PageStyle
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string="empty|plain|headings|fancy"
+\end_layout
+
+\end_inset
+
+] The list of available page sty\SpecialChar \-
+les, separated by
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+|
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Other
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string=""
+\end_layout
+
+\end_inset
+
+] Some document class options, separated by a comma, that will be added
+ to the optional part of the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+documentclass
+\end_layout
+
+\end_inset
+
+ command.
+\end_layout
+
+\begin_layout Standard
+The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ClassOptions
+\end_layout
+
+\end_inset
+
+ section must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+End
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\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
+Note that this will either define a new style or modify an existing one.
+\end_layout
+
+\end_inset
+
+
+\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
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Align
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+block
+\emph default
+, left, right, center
+\end_layout
+
+\end_inset
+
+] Paragraph alignment.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+AlignPossible
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\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 Code
+status collapsed
+
+\begin_layout Plain Layout
+Argument
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+int
+\end_layout
+
+\end_inset
+
+] Defines argument number <int> of a command\SpecialChar \slash{}
+environment associated with
+ the current style.
+ This is useful for things like section headings, and only makes sense with
+ LaTeX.
+ Every (optional or required) argument of a command or environment -- except
+ for the required argument that is associated with the content of the paragraph
+ itself -- has a separate definition, where the number specifies the order
+ of the arguments.
+ The definition must end with
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+EndArgument
+\end_layout
+
+\end_inset
+
+.
+ So a command with two optional arguments has:
+\begin_inset Separator parbreak
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Quote
+
+\family typewriter
+Argument 1
+\end_layout
+
+\begin_layout Quote
+
+\family typewriter
+...
+\end_layout
+
+\begin_layout Quote
+
+\family typewriter
+EndArgument
+\end_layout
+
+\begin_layout Quote
+
+\family typewriter
+Argument 2
+\end_layout
+
+\begin_layout Quote
+
+\family typewriter
+...
+\end_layout
+
+\begin_layout Quote
+
+\family typewriter
+EndArgument
+\end_layout
+
+\begin_layout Standard
+Inside the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Argument
+\end_layout
+
+\end_inset
+
+ definition, the following specifications are possible:
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[string]
+\end_layout
+
+\end_inset
+
+ The string that will appear both in the menu (to insert this argument)
+ and on the argument inset button (unless you also specify a separate
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MenuString
+\end_layout
+
+\end_inset
+
+).
+ For the menu, you can define an accelerator by appending the respective
+ character to the string, divided by
+\begin_inset Quotes eld
+\end_inset
+
+|
+\begin_inset Quotes erd
+\end_inset
+
+ (e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
+\begin_inset space \space{}
+\end_inset
+
+
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Short Title|S
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MenuString
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[string]
+\end_layout
+
+\end_inset
+
+ A separate string for the menu.
+ You can define an accelerator by appending the respective character to
+ the string, divided by
+\begin_inset Quotes eld
+\end_inset
+
+|
+\begin_inset Quotes erd
+\end_inset
+
+ (e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
+\begin_inset space \space{}
+\end_inset
+
+
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Short Title|S
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+).
+ This specification is optional.
+ If it is not given the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+ will be used instead for the menu.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Tooltip
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[string]
+\end_layout
+
+\end_inset
+
+ A longer explanatory text that appears in the tooltip when hovering over
+ the argument inset.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Mandatory
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] Declare if this is a mandatory (1) or an optional (0) argument.
+ Mandatory arguments will be output empty if not given, while optional arguments
+ will not be output at all.
+ By default, mandatory arguments are delimited by
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{...}
+\end_layout
+
+\end_inset
+
+, while optional arguments are delimited by
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[...]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Requires
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[int=0]
+\end_layout
+
+\end_inset
+
+ defines another argument (by its number) which this argument requires to
+ be output if it is itself output.
+ E.
+\begin_inset space \thinspace{}
+\end_inset
+
+g., in LaTeX commands, optional arguments often require previous optional
+ arguments to be output (at least empty), as in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+command[][argument]{text}
+\end_layout
+
+\end_inset
+
+.
+ This can be achieved by the statement
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Requires 1
+\end_layout
+
+\end_inset
+
+ within
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Argument 2
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LeftDelim
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[string]
+\end_layout
+
+\end_inset
+
+ defines a custom left delimiter (instead of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[
+\end_layout
+
+\end_inset
+
+).
+ A line break in the output can be indicated by
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<br/>
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+RightDelim
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[string]
+\end_layout
+
+\end_inset
+
+ defines a custom right delimiter (instead of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+}
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+]
+\end_layout
+
+\end_inset
+
+).
+ A line break in the output can be indicated by
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<br/>
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+DefaultArg
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[string]
+\end_layout
+
+\end_inset
+
+ defines an argument that is inserted if and only if no user-specified arguments
+ were given, i.
+\begin_inset space \thinspace{}
+\end_inset
+
+e.
+\begin_inset space \space{}
+\end_inset
+
+if no argument inset has been inserted (note that also an empty argument
+ inset omits the DefaultArg).
+ Multiple arguments need to be separated by comma.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+PresetArg
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[string]
+\end_layout
+
+\end_inset
+
+ defines an argument that is inserted in any case (alone or in addition
+ to user-specified arguments).
+ Multiple arguments need to be separated by comma.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Font
+\end_layout
+
+\end_inset
+
+ The font used for the argument content, see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelFont
+\end_layout
+
+\end_inset
+
+ The font used for the label; see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Decoration
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+Classic
+\emph default
+, Minimalistic, Conglomerate
+\end_layout
+
+\end_inset
+
+] describes the rendering style used for the inset's frame and buttons.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+AutoInsert
+\end_layout
+
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[int=0]
+\end_layout
+
+\end_inset
+
+ If this is set to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+, this argument is automatically inserted when the respective style is selected.
+ Currently, only one argument per style\SpecialChar \slash{}
+layout can be automatically inserted.
+\end_layout
+
+\begin_layout Standard
+By default, the text entered in the LyX workarea in the respective layout
+ is the last (mandatory) argument of a command if the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexType
+\end_layout
+
+\end_inset
+
+ is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Command
+\end_layout
+
+\end_inset
+
+.
+ However, arguments with the prefix
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+post:
+\end_layout
+
+\end_inset
+
+ are output after this workarea argument.
+ Note that post-argument numbering restarts at 1, so the first argument
+ following the workarea argument is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+post:1
+\end_layout
+
+\end_inset
+
+.
+ Post-arguments are ignored in any other
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexType
+\end_layout
+
+\end_inset
+
+ than
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Command
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Arguments for list
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+item
+\end_layout
+
+\end_inset
+
+s (as in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+item[foo]
+\end_layout
+
+\end_inset
+
+) have the prefix
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+item:
+\end_layout
+
+\end_inset
+
+ followed by the number (e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
+\begin_inset space \space{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Argument item:1
+\end_layout
+
+\end_inset
+
+)
+\end_layout
+
+\end_deeper
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+BabelPreamble
+\end_layout
+
+\end_inset
+
+ Note that this will completely override any prior
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+BabelPreamble
+\end_layout
+
+\end_inset
+
+ declaration for this style.
+ Must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+EndBabelPreamble
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:I18n"
+
+\end_inset
+
+ for details on its use.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+BottomSep
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+float=0
+\end_layout
+
+\end_inset
+
+]
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Note that a `float' here is a real number, such as: 1.5.
+\end_layout
+
+\end_inset
+
+ The vertical space with which the last of a chain of paragraphs with this
+ style is separated from the following paragraph.
+ If the next paragraph has another style, the separations are not simply
+ added, but the maximum is taken.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Category
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The category for this style.
+ This is used to group related styles in the style 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+CommandDepth
+\end_layout
+
+\end_inset
+
+ Depth of XML command.
+ Used only with XML-type formats.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+CopyStyle
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Copies all the features of an existing style into the current one.
+
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+DependsOn
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<name>
+\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
+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.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+EndLabeltype
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+No_Label
+\emph default
+, 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexType
+\end_layout
+
+\end_inset
+
+ is
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Environment
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Item_Environment
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+List_Environment
+\end_layout
+
+\end_inset
+
+).
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+No_Label
+\end_layout
+
+\end_inset
+
+ means
+\begin_inset Quotes eld
+\end_inset
+
+nothing
+\begin_inset Quotes erd
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Box
+\end_layout
+
+\end_inset
+
+ (resp.
+\begin_inset space \space{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Filled_Box
+\end_layout
+
+\end_inset
+
+) is a white (resp.
+\begin_inset space ~
+\end_inset
+
+black) square suitable for end of proof markers,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Static
+\end_layout
+
+\end_inset
+
+ is an explicit text string.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+EndLabelString
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string=""
+\end_layout
+
+\end_inset
+
+] The string used for a label with a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Static
+\end_layout
+
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+EndLabelType
+\end_layout
+
+\end_inset
+
+.
+
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Font
+\end_layout
+
+\end_inset
+
+ The font used for both the text body
+\emph on
+and
+\emph default
+ the label.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
+
+\end_inset
+
+.
+ Note that defining this font automatically defines the
+\begin_inset Flex 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelFont
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ForceLocal
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+int=0
+\end_layout
+
+\end_inset
+
+] Used for backporting new styles to stable LyX versions.
+ The first stable version that supports this tag is LyX 2.1.0.
+ The argument is a number which may either be 0, -1 or any value greater
+ than zero.
+ If the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ForceLocal
+\end_layout
+
+\end_inset
+
+ flag of a style is greater than zero, it will always be written to the
+ document header.
+ If a .lyx file is read, the style definitions from the document header are
+ added to the document class.
+ Therefore even older LyX versions can handle the style.
+ The argument of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ForceLocal
+\end_layout
+
+\end_inset
+
+ is a version number: If the style is read, and the version number is less
+ than the version number of the already existing style in the document class,
+ the new style is ignored.
+ If the version number is greater, the new style replaces the existing style.
+ A value of -1 means an infinite version number, i.
+\begin_inset space \thinspace{}
+\end_inset
+
+e.
+\begin_inset space \space{}
+\end_inset
+
+the style is always used.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+FreeSpacing
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] Usually LyX does not 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 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+HTML*
+\end_layout
+
+\end_inset
+
+ These tags are used with XHTML output.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Style-XHTML"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+InnerTag
+\end_layout
+
+\end_inset
+
+ [FIXME] (Used only with XML-type formats.)
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+InPreamble
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] If
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+, marks the style as to be included in the document preamble and not in
+ the document body.
+ This is useful for document classes that want such information as the title
+ and author to appear in the preamble.
+ Note that this works only for styles for which the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexType
+\end_layout
+
+\end_inset
+
+ is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Command
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Paragraph
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+InTitle
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] If
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+, marks the style as being part of a title block (see also the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TitleLatexType
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+TitleLatexName
+\end_layout
+
+\end_inset
+
+ global entries).
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ItemCommand
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string="item"
+\end_layout
+
+\end_inset
+
+] The LaTeX command sequence declaring an item in a list.
+ The command is to be defined without the preceding backslash (the default
+ is
+\begin_inset Quotes eld
+\end_inset
+
+item
+\begin_inset Quotes erd
+\end_inset
+
+, resulting in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+item
+\end_layout
+
+\end_inset
+
+ in the LaTeX output).
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ItemSep
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+float=0
+\end_layout
+
+\end_inset
+
+] This provides extra space between paragraphs that have the same style.
+ If you put other styles into an environment, each is separated with the
+ environment's
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ParSep
+\end_layout
+
+\end_inset
+
+.
+ But the whole items of the environment are additionally separated with
+ this
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ItemSep
+\end_layout
+
+\end_inset
+
+.
+ Note that this is a
+\emph on
+ multiplier.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ItemTag
+\end_layout
+
+\end_inset
+
+ [FIXME] (Used only with XML-type formats.)
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+KeepEmpty
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\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 style can be used
+ as some kind of break, which does not contain actual text.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelBottomsep
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+float=0
+\end_layout
+
+\end_inset
+
+] The vertical space between the label and the text body.
+ Only used for labels that are above the text body (
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Top_Environment
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Centered_Top_Environment
+\end_layout
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelCounter
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string=""
+\end_layout
+
+\end_inset
+
+] The name of the counter for automatic numbering.
+ In order to have the counter appear with your label, you will need to reference
+ it in the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\family typewriter
+LabelString
+\end_layout
+
+\end_inset
+
+.
+ This will work with
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelType
+\end_layout
+
+\end_inset
+
+s,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Static
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Above
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Centered
+\end_layout
+
+\end_inset
+
+, at least.
+\begin_inset Newline newline
+\end_inset
+
+This
+\emph on
+may
+\emph default
+ also be given if
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelType
+\end_layout
+
+\end_inset
+
+ is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Enumerate
+\end_layout
+
+\end_inset
+
+, though this case is a bit complicated.
+ Suppose you declare
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelCounter myenum
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ Then the actual counters used are
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+myenumi
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+myenumii
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+myenumiii
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+myenumiv
+\end_layout
+
+\end_inset
+
+, much as in LaTeX.
+ These counters must all be declared separately.
+\begin_inset Newline newline
+\end_inset
+
+See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
+
+\end_inset
+
+ for details on counters.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelFont
+\end_layout
+
+\end_inset
+
+ The font used for the label.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelIndent
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string=""
+\end_layout
+
+\end_inset
+
+] Text that indicates how far a label should be indented.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelSep
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string=""
+\end_layout
+
+\end_inset
+
+] Text that indicates the amount of horizontal space between the label and
+ the text body.
+ Only used for labels that are not above the text body.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string=""
+\end_layout
+
+\end_inset
+
+] The string used for the label.
+ When
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelCounter
+\end_layout
+
+\end_inset
+
+ is set, this string can be contain the special formatting commands described
+ in
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Counters"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelStringAppendix
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string=""
+\end_layout
+
+\end_inset
+
+] This is used inside the appendix instead of
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+.
+ Note that every
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+ statement resets
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelStringAppendix
+\end_layout
+
+\end_inset
+
+ too.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelTag
+\end_layout
+
+\end_inset
+
+ [FIXME] (Used only with XML-type formats.)
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+No_Label
+\emph default
+, Manual, Static, Above,
+\begin_inset Newline newline
+\end_inset
+
+Centered, Sensitive, Enumerate,
+\begin_inset Newline newline
+\end_inset
+
+Itemize, Bibliography
+\end_layout
+
+\end_inset
+
+]
+\begin_inset Separator parbreak
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Manual
+\end_layout
+
+\end_inset
+
+ means the label is the very first word (up to the first real blank).
+ Use protected spaces if you want more than one word as the label.
+
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Static
+\end_layout
+
+\end_inset
+
+ means the label is simply what is declared as
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+.
+ This will be displayed
+\begin_inset Quotes eld
+\end_inset
+
+inline
+\begin_inset Quotes erd
+\end_inset
+
+, at the beginning of the paragraph.
+ If the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexType
+\end_layout
+
+\end_inset
+
+ is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Environment
+\end_layout
+
+\end_inset
+
+, then it will be displayed only in the first paragraph of any sequence
+ of paragraphs with the same
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Style
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Above
+\end_layout
+
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+and
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Centered
+\end_layout
+
+\end_inset
+
+ are special cases of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Static
+\end_layout
+
+\end_inset
+
+.
+ The label will be printed above the paragraph either at the beginning of
+ the line or centered.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Sensitive
+\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
+
+.
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Sensitive
+\end_layout
+
+\end_inset
+
+ 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.
+ For the case that a caption is inserted outside of a float the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
+
+\end_inset
+
+ will appear as
+\begin_inset Quotes eld
+\end_inset
+
+Senseless!
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Enumerate
+\end_layout
+
+\end_inset
+
+ 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
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Itemize
+\end_layout
+
+\end_inset
+
+ produces various bullets at the different levels.
+ It is also hardcoded.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Bibliography
+\end_layout
+
+\end_inset
+
+ should be used only with
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexType BibEnvironment
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LangPreamble
+\end_layout
+
+\end_inset
+
+ Note that this will completely override any prior
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LangPreamble
+\end_layout
+
+\end_inset
+
+ declaration for this style.
+ Must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+EndLangPreamble
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:I18n"
+
+\end_inset
+
+ for details on its use.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexName
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-deadkey
+<name>
\end_layout
\end_inset
- is dead key name.
- The following dead keys are supported (shortcut name is in parentheses):
+] The name of the corresponding LaTeX stuff.
+ Either the environment or command name.
\end_layout
-\begin_layout Quotation
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexParam
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<parameter>
+\end_layout
+
+\end_inset
+
+] An optional parameter for the corresponding
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexName
+\end_layout
+
+\end_inset
+
+ stuff.
+ This parameter cannot be changed from within LyX (use
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Argument
+\end_layout
+
+\end_inset
+
+ for customizable parameters).
+ This will be output as is after all LaTeX
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Argument
+\end_layout
+
+\end_inset
+
+s.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
\emph on
-Name
-\begin_inset space \hfill{}
+Paragraph
+\emph default
+, Command, Environment, Item_Environment,
+\begin_inset Newline newline
\end_inset
-Example
+List_Environment, Bib_Environment
\end_layout
-\begin_layout Quotation
-acute (acu)
-\begin_inset space \hfill{}
\end_inset
-áéíóú
+] How the style should be translated into LaTeX.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LatexType
\end_layout
-\begin_layout Quotation
-grave (gra)
-\begin_inset space \hfill{}
\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 Quotation
-macron (mac)
-\begin_inset space \hfill{}
\end_inset
- ō
+
+\begin_inset Separator parbreak
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Paragraph
\end_layout
-\begin_layout Quotation
-tilde (til)
-\begin_inset space \hfill{}
\end_inset
-ñÑ
+ means nothing special.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Command
\end_layout
-\begin_layout Quotation
-underbar (underb)
-\begin_inset space \hfill{}
\end_inset
+ means
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
-\begin_inset ERT
-status open
+\backslash
+
+\emph on
+LatexName
+\emph default
+{\SpecialChar \ldots{}
+}
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Environment
+\end_layout
+
+\end_inset
+
+ means
+\begin_inset Flex 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
+
+\end_inset
+
+.
+
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Item_Environment
+\end_layout
+
+\end_inset
+
+ is the same as
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Environment
+\end_layout
+
+\end_inset
+
+, except that an
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+item
+\end_layout
+
+\end_inset
+
+ is generated for each paragraph of this environment.
+
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+List_Environment
+\end_layout
+
+\end_inset
+
+ is the same as
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Item_Environment
+\end_layout
+
+\end_inset
+
+, except that
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelWidthString
+\end_layout
+
+\end_inset
+
+ is passed as an argument to the environment.
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
\begin_layout Plain Layout
+LabelWidthString
+\end_layout
+
+\end_inset
+
+ can be defined in the
+\begin_inset Flex MenuItem
+status collapsed
+\begin_layout Plain Layout
+Edit\SpecialChar \menuseparator
+Paragraph
+\begin_inset space ~
+\end_inset
-\backslash
-b o
+settings
\end_layout
\end_inset
+ dialog.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+\begin_layout Plain Layout
+Bib_Environment
\end_layout
-\begin_layout Quotation
-cedilla (ced)
-\begin_inset space \hfill{}
\end_inset
-çÇ
+ is like
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Environment
\end_layout
-\begin_layout Quotation
-underdot (underd)
-\begin_inset space \hfill{}
\end_inset
+ but adds additionally the necessary mandatory argument (the longest label)
+ to the begin statement of the bibliography environment:
+\begin_inset Newline newline
+\end_inset
-\begin_inset ERT
-status open
-\begin_layout Plain Layout
+\begin_inset Flex Code
+status collapsed
+\begin_layout Plain Layout
\backslash
-d o
+begin{thebibliography}{99}
\end_layout
\end_inset
-
-\end_layout
-
-\begin_layout Quotation
-circumflex (circu)
-\begin_inset space \hfill{}
+ It is therefore only useful for bibliography environments.
+ The default longest label
+\begin_inset Quotes eld
\end_inset
-âêîôû
-\end_layout
-
-\begin_layout Quotation
-circle (circl)
-\begin_inset space \hfill{}
+99
+\begin_inset Quotes erd
\end_inset
-ÅůŮ
+ can be changed by the user in the paragraph settings of a bibliography
+ item.
\end_layout
-\begin_layout Quotation
-tie (tie)
-\begin_inset space \hfill{}
-\end_inset
+\begin_layout Standard
+Putting the last few things together, the LaTeX output will be either:
+\end_layout
+\begin_layout LyX-Code
-\begin_inset ERT
-status open
+\backslash
+LatexName[LatexParam]{\SpecialChar \ldots{}
+}
+\end_layout
-\begin_layout Plain Layout
+\begin_layout Standard
+or:
+\end_layout
+\begin_layout LyX-Code
\backslash
-t o
+begin{LatexName}[LatexParam] \SpecialChar \ldots{}
+
+\backslash
+end{LatexName}.
\end_layout
-\end_inset
+\begin_layout Standard
+depending upon the LaTeX type.
+\end_layout
+\end_deeper
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+\begin_layout Plain Layout
+LeftDelim
\end_layout
-\begin_layout Quotation
-breve (bre)
-\begin_inset space \hfill{}
\end_inset
-ă
-\begin_inset ERT
-status open
+ [
+\begin_inset Flex Code
+status collapsed
\begin_layout Plain Layout
-
-
-\backslash
-u o
+string
\end_layout
\end_inset
+] A string that is put at the beginning of the style content.
+ A line break in the output can be indicated by
+\begin_inset Flex Code
+status collapsed
+\begin_layout Plain Layout
+<br/>
\end_layout
-\begin_layout Quotation
-caron (car)
-\begin_inset space \hfill{}
\end_inset
-čšž
+.
\end_layout
-\begin_layout Quotation
-hungarian umlaut (hug)
-\begin_inset space \hfill{}
-\end_inset
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-őű
+\begin_layout Plain Layout
+LeftMargin
\end_layout
-\begin_layout Quotation
-umlaut (uml)
-\begin_inset space \hfill{}
\end_inset
-äöü
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string=""
\end_layout
-\begin_layout Quotation
-dot (dot)
-\begin_inset space \hfill{}
\end_inset
-ż
-\begin_inset ERT
-status open
+] If you put styles into environments, the different
+\begin_inset Flex Code
+status collapsed
\begin_layout Plain Layout
-
-
-\backslash
-.s
+LeftMargin
\end_layout
\end_inset
+ are not simply added, but added with a factor
+\begin_inset Formula $\frac{4}{\mathrm{depth}+4}$
+\end_inset
-\end_layout
-
-\begin_layout Standard
-Since in many international keyboards there are exceptions to what some
- dead keys should do, you can define them using
-\end_layout
-
-\begin_layout Quotation
-\begin_inset Flex CharStyle:Code
+.
+ Note that this parameter is also used when
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-kxmod
+Margin
\end_layout
\end_inset
- deadkey key outstring
-\end_layout
+ is defined as
+\begin_inset Flex Code
+status collapsed
-\begin_layout Standard
-For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
-, so you put in
+\begin_layout Plain Layout
+Manual
\end_layout
-\begin_layout Quotation
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+ or
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-kxmod
+Dynamic
\end_layout
\end_inset
- caron o "
-\backslash
-^o"
-\end_layout
+.
+ Then it is added to the manual or dynamic margin.
+\begin_inset Newline newline
+\end_inset
-\begin_layout Standard
-to make it work correctly.
- Also, you have to define as exceptions dead keys over i and j, to remove
- the dot from them before inserting an accent mark.
- I will change this when the time comes, but so far I haven't had time.
-\end_layout
+For example
+\begin_inset Quotes eld
+\end_inset
-\begin_layout Standard
-Oh, and about characters: backslash is escaped, so to enter it, you'll need
- double backslash.
- Also, quotes and
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-#
+MM
\end_layout
\end_inset
- have different meaning.
-
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-#
-\end_layout
+\begin_inset Quotes erd
+\end_inset
+ means that the paragraph is indented with the width of
+\begin_inset Quotes eld
\end_inset
- marks comments, quotes start and end LaTeX-style commands.
- To enter quote, you'll need to use
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-"
+MM
\end_layout
\end_inset
-, to enter
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-#
-\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
-, use
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-#
+-
\end_layout
\end_inset
-.
-\end_layout
-\begin_layout Standard
-If you make a keyboard description file that works for your language, please
- mail it to me, so I can include it in the next keymap distribution.
-\end_layout
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Standard
-More keywords will be supported in keymap configuration file in future,
- like
+.
+ This way was chosen so that the look is the same with each used screen
+ font.
\end_layout
-\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-kinclude filename
+Margin
\end_layout
\end_inset
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
\emph on
+Static
+\emph default
+, Manual, Dynamic, First_Dynamic, Right_Address_Box
+\end_layout
-\begin_inset space \hfill{}
\end_inset
+]
+\begin_inset Newline newline
+\end_inset
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-include
-\end_layout
-
+The kind of margin that the style has on the left side.
+\begin_inset Separator parbreak
\end_inset
- another file
+
\end_layout
-\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_deeper
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-kprog program
+Static
\end_layout
\end_inset
+ just means a fixed margin.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\emph on
+\begin_layout Plain Layout
+Manual
+\end_layout
-\begin_inset space \hfill{}
\end_inset
-
-\begin_inset Flex CharStyle:Code
+ means that the left margin depends on the string entered in the
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-define
+Edit\SpecialChar \menuseparator
+Paragraph
+\begin_inset space ~
+\end_inset
+
+Settings
\end_layout
\end_inset
- an external keymap translation program
+ dialog.
+ This is used to typeset nice lists without tabulators.
\end_layout
-\begin_layout Standard
-Also, it should look into
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-lyxrc
+Dynamic
\end_layout
\end_inset
- file for defaults, too (for example, a
-\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
+5.4.3.2.1 Very long headline
+\begin_inset Quotes erd
+\end_inset
-\backslash
-kinclude
-\end_layout
+ 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
- option to include default keyboard).
-\end_layout
+ 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.
\end_layout
-\begin_layout Section
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:keymap"
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+First_Dynamic
+\end_layout
\end_inset
-International Keymap Stuff
+ 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.
\end_layout
-\begin_layout Standard
-\begin_inset Note Note
-status open
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
\begin_layout Plain Layout
-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.
+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 Standard
-The next two sections describe the
-\begin_inset Flex CharStyle:Code
+\end_deeper
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-.kmap
+NeedProtect
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\shape up
-.cdef
+\emph on
+0
\end_layout
\end_inset
- file syntax in detail.
- These sections should help you design your own key map if the ones provided
- do not meet your needs.
-\end_layout
+,
+\begin_inset space \thinspace{}
+\end_inset
-\begin_layout Subsection
-The .kmap File
-\end_layout
-\begin_layout Standard
-A
-\shape up
-.
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-kmap
+1
\end_layout
\end_inset
- file maps keystrokes to characters or strings.
- As the name suggests, it sets a keyboard mapping.
- The
-\begin_inset Flex CharStyle:Code
+] Whether fragile commands in this style should be
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.kmap
+
+\backslash
+protect
\end_layout
\end_inset
+'ed.
+ (Note: This is
+\emph on
+not
+\emph default
+ whether this command should itself be protected.)
+\end_layout
-\shape default
- file keywords
-\shape up
-
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-kmap
+Newline
\end_layout
\end_inset
-
-\shape default
-,
-\shape up
-
-\shape default
-
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-kmod
+0
\end_layout
\end_inset
,
-\shape up
-
-\shape default
+\begin_inset space \thinspace{}
+\end_inset
+
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\shape up
-ksmod
+\emph on
+1
\end_layout
\end_inset
-, and
-\begin_inset Flex CharStyle:Code
+] Whether newlines are translated into LaTeX newlines (
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\shape up
-kcomb
+\backslash
+
+\backslash
+
\end_layout
\end_inset
- are described in this section.
+) or not.
+ The translation can be switched off to allow more comfortable LaTeX editing
+ inside LyX.
\end_layout
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-kmap
+NextNoIndent
\end_layout
\end_inset
- Map a character to a string
-\end_layout
+ [
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
+\begin_layout Plain Layout
-\backslash
-kmap
-\family roman
-\emph on
-char
-\family default
-\emph default
-
-\family roman
\emph on
-string
+0
\end_layout
-\begin_layout Standard
-This will ma
-\family roman
-p
-\family default
-
-\family roman
-\emph on
-char
-\family default
-\emph default
-
-\family roman
-to
-\family default
-
-\family roman
-\emph on
-string
-\emph default
-.
- Note that in
-\family default
-
-\family roman
-\emph on
-string
-\emph default
-,
-\family default
-
-\family roman
-\shape up
-the double-quote (")
-\family default
-\shape default
-
-\family roman
-and
-\family default
-
-\family roman
-\shape up
-the backslash (
-\backslash
-)
-\family default
-\shape default
-
-\family roman
-must be escaped with a preceding backslash (
-\shape up
+\end_inset
-\backslash
+,
+\begin_inset space \thinspace{}
+\end_inset
-\shape default
-)
-\family default
-.
-\end_layout
-\begin_layout Standard
-An example of a
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-kmap
+1
\end_layout
\end_inset
- statement to cause the symbol
-\begin_inset Flex CharStyle:MenuItem
+] If set to true, and if
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-/
+DefaultStyle
\end_layout
\end_inset
- to be output for the keystroke
-\begin_inset Flex CharStyle:MenuItem
+ (usually
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-&
+Standard
\end_layout
\end_inset
- is:
+) paragraphs are being indented, then the indentation of such a paragraph
+ following one of this type will be suppressed.
+ (So this will not affect the display of non-default paragraphs.)
\end_layout
-\begin_layout LyX-Code
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\backslash
-kmap & /
+\begin_layout Plain Layout
+ObsoletedBy
\end_layout
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-kmod
+<name>
\end_layout
\end_inset
- Specify an accent character
+] Name of a style that has replaced this style.
+ This is used to rename a style, while keeping backward compatibility.
\end_layout
-\begin_layout LyX-Code
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\backslash
-kmod
-\family roman
-\emph on
-char accent allowed
+\begin_layout Plain Layout
+ParbreakIsNewline
\end_layout
-\begin_layout Standard
-This will make the cha
-\family roman
-racter
-\family default
-
-\family roman
-\emph on
-char
-\family default
-\emph default
-
-\family roman
-\shape up
-\emph on
-be an accent
-\family default
-\shape default
-\emph default
-
-\family roman
-\shape up
-on the
-\family default
-\shape default
-
-\family roman
-\shape up
-\emph on
-allowed
-\family default
-\shape default
-\emph default
-
-\family roman
-\shape up
-cha
-\family default
-racter(s).
- This is the dead key
-\begin_inset Foot
+\end_inset
+
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-The term
-\family roman
-\emph on
-dead key
-\family default
-\emph default
- refers to a key that does not produce a character by itself, but when followed
- with another key, produces the desired accent character.
- For example, a German characte
-\family roman
-r with an umlaut like
-\family default
-
-\family roman
+
\emph on
-ä
-\family default
-\emph default
-
-\family roman
-can be produced in this manner.
+0
\end_layout
\end_inset
- mechanism.
-
-\end_layout
+,
+\begin_inset space \thinspace{}
+\end_inset
-\begin_layout Standard
-If you
-\family roman
-hit
-\family default
-
-\family roman
-\emph on
-char
-\family default
-\emph default
-
-\family roman
-and then another key not in
-\family default
-
-\family roman
-\emph on
-allowed
-\emph default
-, you will get a
-\family default
-
-\family roman
-\emph on
-char
-\family default
-\emph default
-
-\family roman
-followed by the other, unallowed key, as output.
-\family default
- Note that a
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-Backspace
+1
\end_layout
\end_inset
- cancels a dead key, so if
-\family roman
-you hit
-\family default
-
-\family roman
-\emph on
-char
-\family default
-\emph default
-
-\begin_inset Flex CharStyle:MenuItem
+] Indicates that paragraphs will not be separated by an empty line in LaTeX
+ output, but only by a line break; together with
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-\emph on
-Backspace
+PassThru 1
\end_layout
\end_inset
-, the cursor will not go one position backwards but will instead cancel
- the effect t
-\family roman
-hat
-\family default
-
-\family roman
-\shape up
-\emph on
-char
-\family default
-\shape default
-\emph default
-
-\family roman
-\shape up
-might have had on the next keystroke.
-
-\end_layout
-
-\begin_layout Standard
-The following example specifies that the character ' is to be an acute accent,
- allowed on the characters a, e, i, o, u, A, E, I, O, and U:
-\end_layout
-
-\begin_layout LyX-Code
-
-\backslash
-kmod ' acute aeiouAEIOU
+, this allows to emulate a plain text editor (like the ERT inset).
\end_layout
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ksmod
+ParIndent
\end_layout
\end_inset
- Specify an exception to the accent character
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string=""
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\backslash
-kxmod
-\family roman
-\emph on
-accent char result
-\end_layout
+] The indent of the very first line of a paragraph.
+ The
+\begin_inset Newline newline
+\end_inset
-\begin_layout Standard
-This defines an exce
-\family roman
-ption for
-\family default
-
-\family roman
-\emph on
-accent
-\family default
-\emph default
-
-\family roman
-on
-\family default
-
-\family roman
-\emph on
-char
-\emph default
-.
- T
-\shape up
-he
-\family default
-\shape default
-
-\family roman
-\shape up
-\emph on
-accent
-\family default
-\shape default
-\emph default
-
-\family roman
-\shape up
-must
-\family default
-\shape default
-
-\shape up
-have been assigned a keystroke with a previous
-\shape default
-
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+Parindent
+\end_layout
-\shape up
+\end_inset
-\backslash
-kmo
-\shape default
-d
+ will be fixed for a certain style.
+ The exception is the default style, since the indentation for these paragraphs
+ can be prohibited with
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+NextNoIndent
\end_layout
\end_inset
- declar
-\family roman
-ation and
-\family default
-
-\family roman
-\emph on
-char
-\family default
-\emph default
-
-\family roman
-must not belong in the
-\family default
-
-\family roman
-\emph on
-allowed
-\family default
-\emph default
-
-\family roman
-set of
-\family default
-
-\family roman
-\emph on
-accent
-\emph default
.
- When
-\family default
-
-\family roman
-\shape up
-you enter the
-\family default
-\shape default
-
-\family roman
-\shape up
-\emph on
-accent char
-\family default
-\shape default
-\emph default
-
-\family roman
-\shape up
-sequence,
-\family default
-\shape default
-
-\family roman
-\shape up
-\emph on
-result
-\family default
-\shape default
-\emph default
-
-\family roman
-\shape up
- is produced.
- If such a declaration does not exist in
-\family default
-\shape default
-
-\shape up
-the
-\shape default
-
-\begin_inset Flex CharStyle:Code
+ Also,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-.kmap
+Standard
\end_layout
\end_inset
- file and yo
-\family roman
-u enter
-\family default
-
-\family roman
-\emph on
-accent char
-\emph default
-, you get
-\family default
-
-\family roman
-\emph on
-accent_key char
-\family default
-\emph default
-
-\family roman
- where
-\family default
-
-\family roman
-\emph on
-accent_key
-\family default
-\emph default
-
-\family roman
- is the first arg
-\family default
-ument of the
-\begin_inset Flex CharStyle:Code
+ style paragraphs inside environments use the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+Parindent
+\end_layout
-\shape up
+\end_inset
-\backslash
-kmod
+ of the environment, not their native one.
+ For example,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Standard
\end_layout
\end_inset
- declaration.
-
+ paragraphs inside an enumeration are not indented.
\end_layout
-\begin_layout Standard
-The following command produces causes äi to be produced when you enter acute-i
- ('i):
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ParSep
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\backslash
-kxmod acute i "
-\backslash
+ [
+\begin_inset Flex Code
+status collapsed
-\backslash
-'{
-\backslash
+\begin_layout Plain Layout
+float=0
+\end_layout
-\backslash
-i}"
+\end_inset
+
+] The vertical space between two paragraphs of this style.
\end_layout
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-kcomb
+Parskip
\end_layout
\end_inset
- Combine two accent characters
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+float=0
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\backslash
-kcomb
-\family roman
-\emph on
-accent1 accent2 allowed
-\end_layout
+] LyX allows the user to choose either
+\begin_inset Quotes eld
+\end_inset
-\begin_layout Standard
-This one is getting pretty esoteric.
- It allows you to combine the effect
-\family roman
-of
-\family default
-
-\family roman
-\emph on
-accent1
-\family default
-\emph default
-
-\family roman
-and
-\family default
-
-\family roman
-\emph on
-accent2
-\family default
-\emph default
-
-\family roman
-(in that order!) on
-\family default
-
-\family roman
-\emph on
-allowed
-\family default
-\emph default
-
-\family roman
-chars.
- The keystrokes for
-\family default
-
-\family roman
-\emph on
-accent1
-\family default
-\emph default
-
-\family roman
-and
-\family default
-
-\family roman
-\emph on
-accent2
-\family default
-\emph default
-
-\family roman
-must have be
-\family default
-en set with a
-\begin_inset Flex CharStyle:Code
+indent
+\begin_inset Quotes erd
+\end_inset
+
+ or
+\begin_inset Quotes eld
+\end_inset
+
+skip
+\begin_inset Quotes erd
+\end_inset
+
+ to separate paragraphs.
+ When
+\begin_inset Quotes eld
+\end_inset
+
+indent
+\begin_inset Quotes erd
+\end_inset
+
+ is chosen,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+Parskip
+\end_layout
-\shape up
+\end_inset
-\backslash
-kmod
+ is ignored.
+ When
+\begin_inset Quotes eld
+\end_inset
+
+skip
+\begin_inset Quotes erd
+\end_inset
+
+ is chosen,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ParIndent
\end_layout
\end_inset
- command at
-\family roman
-a
-\family default
-
-\family roman
-\emph on
-previous
-\family default
-\emph default
-
-\family roman
-point in the
-\family default
- file.
-
+ is ignored and all paragraphs are separated by the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Parskip
\end_layout
-\begin_layout Standard
-Consider this example from the
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+ argument.
+ The vertical space is calculated with
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+Parskip
+\begin_inset space ~
+\end_inset
-\shape up
-greek.kmap
+* DefaultHeight
\end_layout
\end_inset
- file:
+ where
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+DefaultHeight
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\backslash
-kmod ; acute aeioyvhAEIOYVH
-\backslash
-kmod : umlaut iyIY
-\backslash
-kcomb acute umlaut iyIY
+ 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 Standard
-This allows you to press
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-;:i
+PassThru
\end_layout
\end_inset
- and get the effect of
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\shape up
-
-\backslash
-'{
-\backslash
-"{i}}
+\emph on
+0
\end_layout
\end_inset
-.
-
-\family roman
-\shape up
-A backspace
-\family default
-\shape default
- in this case cancels the last dead key, so if you press
-\begin_inset Flex CharStyle:MenuItem
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-;: Backspace i
+1
\end_layout
\end_inset
- you get
-\begin_inset Flex CharStyle:Code
+] 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 Code
status collapsed
\begin_layout Plain Layout
+Preamble
+\end_layout
-\shape up
+\end_inset
-\backslash
-'{i}
+ 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
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+EndPreamble
\end_layout
\end_inset
+
+\begin_inset Quotes erd
+\end_inset
+
.
\end_layout
-\begin_layout Subsection
-The .cdef File
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+RefPrefix
\end_layout
-\begin_layout Standard
-After the
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+string
+\end_layout
-\shape up
-.kmap
+\end_inset
+
+] The prefix to use when creating labels referring to paragraphs of this
+ type.
+ This allows the use of formatted references.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Requires
\end_layout
\end_inset
- mapping is performed, a
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+string
+\end_layout
-\shape up
-.cde
-\shape default
-f
+\end_inset
+
+] Whether the style requires the feature
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
\end_layout
\end_inset
- file maps the strings that the symbols generate to characters in the current
- font.
- The LyX distribution currently includes at least the
-\begin_inset Flex CharStyle:Code
+.
+ See the description of
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+Provides
+\end_layout
-\shape up
-iso8859-1.cdef
+\end_inset
+
+ above (
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:General-text-class"
+
+\end_inset
+
+) for information on `features'.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ResetArgs
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\shape up
-iso8859-2.cdef
+\emph on
+0
\end_layout
\end_inset
- files.
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
\end_layout
-\begin_layout Standard
-In general the
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+] Resets the LaTeX arguments of this style (as defined via the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\shape up
-.cdef
+Argument
\end_layout
\end_inset
- file is a sequence of declarations of the form
+ tag).
+ This is useful if you have copied a style via
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+CopyStyle
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\family roman
-\emph on
-char_index_in_set
-\family default
-\emph default
-
-\family roman
-\emph on
- string
+, but you do not want to inherit its (required and optional) arguments.
\end_layout
-\begin_layout Standard
-For example, in order to map
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+RightDelim
+\end_layout
-\shape up
+\end_inset
-\backslash
-'{e}
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
\end_layout
\end_inset
- to the corresponding character in the iso-8859-1 set (233), the following
- declaration is used
+] A string that is put at the end of the layout content.
+ A line break in the output can be indicated by
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<br/>
\end_layout
-\begin_layout LyX-Code
-233 "
-\backslash
+\end_inset
-\backslash
-'{e}"
+.
\end_layout
-\begin_layout Standard
-with
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-
+RightMargin
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-"
+string=""
\end_layout
\end_inset
- being escap
-\family roman
-ed in
-\family default
-
-\family roman
-\emph on
-string
-\emph default
-.
- Note that
-\family default
- the same character can apply to more than one string.
- In the
-\begin_inset Flex CharStyle:Code
+] Similar to
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-i
-\shape up
-so-8859-7.cdef
+LeftMargin
\end_layout
\end_inset
- file you have
+.
\end_layout
-\begin_layout LyX-Code
-192 "
-\backslash
-
-\backslash
-'{
-\backslash
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\backslash
+\begin_layout Plain Layout
+Spacing
+\end_layout
-\backslash
-"{i}}"
-\begin_inset Newline newline
\end_inset
-192 "
-\backslash
-
-\backslash
+ [
+\begin_inset Flex Code
+status collapsed
-\backslash
-"{
-\backslash
+\begin_layout Plain Layout
-\backslash
-'{i}}"
+\emph on
+single
\end_layout
-\begin_layout Standard
-If LyX cannot find a mapping for the string produced by the keystroke or
- a deadkey sequence, it will check if it looks like an accented char and
- try to draw an accent over the character on screen.
-\end_layout
+\end_inset
-\begin_layout Subsection
-Dead Keys
-\end_layout
+,
+\begin_inset Flex Code
+status collapsed
-\begin_layout Standard
-There is a second way to add support for international characters through
- so-called dead-keys.
- A dead-key works in combination with a letter to produce an accented character.
- Here, we'll explain how to create a really simple dead-key to illustrate
- how they work.
+\begin_layout Plain Layout
+onehalf
\end_layout
-\begin_layout Standard
-Suppose you happen to need the circumflex character,
-\begin_inset Quotes eld
-\end_inset
-
- ̂
-\begin_inset Quotes erd
\end_inset
-.
- You could bind the
-\begin_inset Flex CharStyle:MenuItem
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-^
+double
\end_layout
\end_inset
--key [a.k.a.
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+other
\begin_inset space ~
\end_inset
+<value>
+\end_layout
+
+\end_inset
-\begin_inset Flex CharStyle:MenuItem
+] This defines what the default spacing should be in the style.
+ The arguments
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Shift-6
+single
\end_layout
\end_inset
-] to the LyX command
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-accent-circumflex
+onehalf
\end_layout
\end_inset
- in your
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-lyxrc
+double
\end_layout
\end_inset
- file.
- Now, whenever you type the
-\begin_inset Flex CharStyle:MenuItem
+ correspond respectively to a multiplier value of 1, 1.25 and 1.667.
+ If you specify the argument
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-^
+other
\end_layout
\end_inset
--key followed by a letter, that letter will have a circumflex accent on
- it.
- For example, the sequence
-\begin_inset Quotes eld
-\end_inset
-
-
-\begin_inset Flex CharStyle:MenuItem
+, then you must also provide a value argument which will be the actual multiplie
+r value.
+ Note that, contrary to other parameters,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-^e
+Spacing
\end_layout
\end_inset
+ implies the generation of specific LaTeX code, using the LaTeX package
+
+\family roman
-\begin_inset Quotes erd
-\end_inset
+\begin_inset Flex Code
+status collapsed
- produces the letter:
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Plain Layout
+setspace
+\end_layout
-ê
-\begin_inset Quotes erd
\end_inset
.
- If you tried to type
-\begin_inset Quotes eld
-\end_inset
-
+\end_layout
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-^t
+Spellcheck
\end_layout
\end_inset
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+0
+\end_layout
-\begin_inset Quotes erd
\end_inset
-, however, LyX will complain with a beep, since a
-\begin_inset Quotes eld
+,
+\begin_inset space \thinspace{}
\end_inset
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-t
+
+\emph on
+1
\end_layout
\end_inset
+] Allow spell-checking paragraphs of this style.
+ Default is true.
+\end_layout
-\begin_inset Quotes erd
-\end_inset
-
- never takes a circumflex accent.
- Hitting
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Space
+TextFont
\end_layout
\end_inset
- after a dead-key produces the bare-accent.
- Please note this last point! If you bind a key to a dead-key, you'll need
- to rebind the character on that key to yet another key.
- Binding the
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-,-key
-\end_layout
+ The font used for the text body .
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
\end_inset
- to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
+.
\end_layout
-\begin_layout Standard
-One common way to bind dead-keys is to use
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Meta-
+TocLevel
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:MenuItem
+
+\series medium
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Ctrl-
+
+\series medium
+int=3
\end_layout
\end_inset
-, and
-\begin_inset Flex CharStyle:MenuItem
+]
+\series default
+ The level of the style in the table of contents.
+ This is used for automatic numbering of section headings.
+\change_inserted -712698321 1401363541
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted -712698321 1401363906
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Shift-
-\end_layout
-\end_inset
+\change_inserted -712698321 1401363547
+ToggleIndent
+\end_layout
- in combination with an accent, like
-\begin_inset Quotes eld
\end_inset
+ [
+\emph on
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-~
-\end_layout
-\end_inset
+\change_inserted -712698321 1401363664
+\emph on
+default
+\change_unchanged
-\begin_inset Quotes erd
-\end_inset
+\end_layout
- or
-\begin_inset Quotes eld
\end_inset
-\begin_inset Flex CharStyle:MenuItem
+\emph default
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-,
+
+\change_inserted -712698321 1401363669
+always
+\change_unchanged
+
\end_layout
\end_inset
+,
+\begin_inset Flex Code
+status collapsed
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+
+\change_inserted -712698321 1401363675
+never
+\change_unchanged
+
+\end_layout
- or
-\begin_inset Quotes eld
\end_inset
+] This tag determines whether the first line indentation of this paragraph
+ can be toggled via the Paragraph settings dialog.
+ If
+\emph on
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-^
-\end_layout
-\end_inset
+\change_inserted -712698321 1401363761
+\emph off
+default
+\end_layout
-\begin_inset Quotes erd
\end_inset
-.
- Another way involves using
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-xmodmap
-\end_layout
+\emph default
+ is set, indentation can be toggled if the document settings use
+\begin_inset Quotes eld
+\end_inset
+indent
+\begin_inset Quotes erd
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+ paragraph style, with
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-xkeycaps
+
+\change_inserted -712698321 1401363844
+always
\end_layout
\end_inset
- to set up the special
-\begin_inset Flex CharStyle:Code
+, indentation can always be toggled, notwithstanding the document settings,
+ with
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Mode_Switch
+
+\change_inserted -712698321 1401363901
+never
\end_layout
\end_inset
- key.
- The
-\begin_inset Flex CharStyle:Code
+, indentation can never be toggled.
+\change_unchanged
+
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Mode_Switch
+TopSep
\end_layout
\end_inset
- acts in some ways just like
-\begin_inset Flex CharStyle:MenuItem
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Shift
+float=0
\end_layout
\end_inset
- and permits you to bind keys to accented characters.
- You can also turn keys into dead-keys by binding them to something like
-
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-usldead_cedilla
+] The vertical space with which the very first of a chain of paragraphs
+ with this style is separated from the previous paragraph.
+ If the previous paragraph has another style, the separations are not simply
+ added, but the maximum is taken.
\end_layout
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:I18n"
+
\end_inset
- and then binding this symbolic key to the corresponding LyX command.
-\begin_inset Foot
-status collapsed
+Internationalization of Paragraph Styles
+\end_layout
-\begin_layout Plain Layout
-Note from
-\noun on
-John Weiss
-\noun default
-: This is exactly what I do in my
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+LyX has long supported internationalization of layout information, but,
+ until version 2.0, this applied only to the user interface and not to, say,
+ PDF output.
+ Thus, French authors were forced to resort to ugly hacks if they wanted
+ `
+\lang french
+Théorème
+\lang english
+ 1' instead of `Theorem 1'.
+ Thanks to Georg Baum, that is no longer the case.
+\end_layout
+
+\begin_layout Standard
+If a
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-~/.lyx/lyxrc
+Style
\end_layout
\end_inset
- and my
-\begin_inset Flex CharStyle:Code
+ defines text that is to appear in the typeset document, it may use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-~/.xmodmap
+LangPreamble
\end_layout
\end_inset
- files.
- I have my
-\begin_inset Flex CharStyle:MenuItem
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Scroll
-\begin_inset space ~
-\end_inset
-
-Lock
+BabelPreamble
\end_layout
\end_inset
- key set up as
-\begin_inset Flex CharStyle:Code
+ to support non-English and even multi-language documents correctly.
+ The following excerpt (from the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Mode_Shift
+theorems-ams.inc
\end_layout
\end_inset
- and a bunch of these
-\begin_inset Quotes eld
-\end_inset
+ file) shows how this works:
+\end_layout
+\begin_layout LyX-Code
+Preamble
+\begin_inset Separator parbreak
+\end_inset
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-usldead_*
\end_layout
-\end_inset
-
+\begin_deeper
+\begin_layout LyX-Code
+
+\backslash
+theoremstyle{remark}
+\end_layout
-\begin_inset Quotes erd
-\end_inset
+\begin_layout LyX-Code
+
+\backslash
+newtheorem{claim}[thm]{
+\backslash
+protect
+\backslash
+claimname}
+\end_layout
- symbolic keys bound such things as
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+\begin_layout LyX-Code
+EndPreamble
+\end_layout
-\begin_layout Plain Layout
-Scroll
-\begin_inset space ~
-\end_inset
+\begin_layout LyX-Code
+LangPreamble
+\end_layout
-Lock-^
+\begin_layout LyX-Code
+
+\backslash
+providecommand{
+\backslash
+claimname}{_(Claim)}
\end_layout
-\end_inset
+\begin_layout LyX-Code
+EndLangPreamble
+\end_layout
- and
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+\begin_layout LyX-Code
+BabelPreamble
+\end_layout
-\begin_layout Plain Layout
-Scroll
-\begin_inset space ~
-\end_inset
+\begin_layout LyX-Code
+
+\backslash
+addto
+\backslash
+captions$$lang{
+\backslash
+renewcommand{
+\backslash
+claimname}{_(Claim)}}
+\end_layout
-Lock-~
+\begin_layout LyX-Code
+EndBabelPreamble
\end_layout
-\end_inset
+\end_deeper
+\begin_layout Standard
+In principle, any legal LaTeX may appear in the
+\begin_inset Flex Code
+status collapsed
-.
- This is how I produce my accented characters.
+\begin_layout Plain Layout
+LangPreamble
\end_layout
\end_inset
- You can make just about anything into the
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Mode_Switch
+BabelPreamble
\end_layout
\end_inset
- key: One of the
-\begin_inset Flex CharStyle:MenuItem
+ tags, but in practice they will typically look as they do here.
+ The key to correct translation of the typeset text is the definition of
+ the LaTeX command
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Ctrl-
+
+\backslash
+claimname
\end_layout
\end_inset
- keys, a spare function key, etc.
- As for the LyX commands that produce accents, check the entry for
-\begin_inset Flex CharStyle:Code
+ and its use in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-accent-acute
+
+\backslash
+newtheorem
\end_layout
\end_inset
- in the
-\emph on
-Reference Manual
-\emph default
.
- You'll find the complete list there.
-\end_layout
-
-\begin_layout Subsection
-Saving your Language Configuration
+
\end_layout
\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:savlang"
-
-\end_inset
-
-You can edit your preferences so that your desired language environment
- is automatically configured when LyX starts up, via the
-\begin_inset Flex CharStyle:MenuItem
+The
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-E
-\bar default
-dit\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references
+LangPreamble
\end_layout
\end_inset
- dialog.
+ tag provides for internationalization based upon the overall language of
+ the document.
+ The contents of the tag will be included in the preamble, just as with
+ the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Preamble
\end_layout
-\begin_layout Chapter
-Installing New Document Classes, Layouts, and Templates
-\begin_inset CommandInset label
-LatexCommand label
-name "chap:textclass"
+\end_inset
+ tag.
+ What makes it special is the use of the
+\begin_inset Quotes eld
\end_inset
+function
+\begin_inset Quotes erd
+\end_inset
-\begin_inset OptArg
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Installing New Document Classes
+_()
\end_layout
\end_inset
-
+, which will be replaced, when LyX produces LaTeX output, with the translation
+ of its argument into the document language.
\end_layout
\begin_layout Standard
-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
+The
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.cls
+BabelPreamble
\end_layout
\end_inset
- or
-\begin_inset Flex CharStyle:Code
+ tag is more complex, since it is meant to provide support for multi-language
+ documents and so offers an interface to the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.sty
+babel
\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
-
-draw
-\begin_inset Quotes erd
-\end_inset
-
- 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
-
-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
+ package.
+ Its contents will be added to the preamble once for each language that
+ appears in the document.
+ In this case, the argument to
+\begin_inset Flex Code
+status collapsed
-Layout
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+_()
+\end_layout
- and
-\begin_inset Quotes eld
\end_inset
-text class
-\begin_inset Quotes erd
-\end_inset
+ will be replaced with its translation into the language in question; the
+ expression
+\begin_inset Flex Code
+status collapsed
- 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.
+\begin_layout Plain Layout
+$$lang
\end_layout
-\begin_layout Section
-Installing a new LaTeX package
-\end_layout
+\end_inset
-\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 common (and very powerful) package
- for preparing slides or viewgraphs for overhead projectors.
- On some systems, you may have a GUI for installing such packages: MikTeX
- on Windows®, for example.
+ is replaced by the language name (as used by the babel package).
\end_layout
\begin_layout Standard
-If you don't have such a GUI, then you can follow these steps.
+A German document that also included a French section would thus have the
+ following in the preamble:
\end_layout
-\begin_layout Enumerate
-Get the package from
-\begin_inset CommandInset href
-LatexCommand href
-name "CTAN"
-target "http://www.ctan.org/"
+\begin_layout LyX-Code
+\backslash
+addto
+\backslash
+captionsfrench{
+\backslash
+renewcommand{
+\backslash
+claimname}{Affirmation}}
+\begin_inset Newline newline
\end_inset
- or wherever.
-\end_layout
-
-\begin_layout Enumerate
-You can install this 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
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-texmf.cnf
-\end_layout
+\backslash
+addto
+\backslash
+captionsngerman{
+\backslash
+renewcommand{
+\backslash
+claimname}{Behauptung}}
+\begin_inset Newline newline
\end_inset
-.
-\begin_inset Foot
-status collapsed
-\begin_layout Plain Layout
-This usually lives in the directory
-\begin_inset Flex CharStyle:Code
+\backslash
+providecommand{
+\backslash
+claimname}{Behauptung}
+\end_layout
+
+\begin_layout Standard
+LaTeX and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$TEXMF/web2c
+babel
\end_layout
\end_inset
-, though you can run
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-kpsewhich texmf.cnf
+ will then conspire to produce the correct text in the output.
\end_layout
-\end_inset
+\begin_layout Standard
+One important point to note here is that the translations are provided by
+ LyX itself, through the file
+\begin_inset Flex Code
+status collapsed
- to locate it.
+\begin_layout Plain Layout
+layouttranslations
\end_layout
\end_inset
- The location of the `local' TeX tree is defined by
-\begin_inset Flex CharStyle:Code
+.
+ This means, in effect, that
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TEXMFLOCAL
+LangPreamble
\end_layout
\end_inset
-; this is usually somewhere like
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-/usr/local/share/texmf/
+BabelPreamble
\end_layout
\end_inset
-.
- The `user' TeX tree is defined by
-\begin_inset Flex CharStyle:Code
+ are really only of use in layout files that are provided with LyX, since
+ text entered in user-created layout files will not be seen by LyX's internation
+alization routines unless the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TEXMFHOME
+layouttranslations
\end_layout
\end_inset
- and is commonly at
-\begin_inset Flex CharStyle:Code
-status collapsed
+ file is modified accordingly.
+ That said, however, any layout created with the intention that it will
+ be included with LyX should use these tags where appropriate.
+ Please note that the paragraph style translations provided by LyX will
+ never change with a minor update (e.
+\begin_inset space \thinspace{}
+\end_inset
-\begin_layout Plain Layout
-$HOME/texmf/
+g.
+\begin_inset space \space{}
+\end_inset
+
+from version 2.1.x to 2.1.y).
+ It is however quite likely that a major update (e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
+\begin_inset space \space{}
+\end_inset
+
+from 2.0.x to 2.1.y) will introduce new translations or corrections.
\end_layout
+\begin_layout Subsection
+Floats
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Floats"
+
\end_inset
-.
- (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'
- tree shouldn't have such limitations.
+
\end_layout
-\begin_layout Enumerate
-Make sure
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+It is necessary to define the floats (
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-TEXMF
+figure
\end_layout
\end_inset
- includes the
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-TEXMFLOCAL
+table
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+, \SpecialChar \ldots{}
+) in the text class itself.
+ Standard floats are included in the file
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TEXMFHOME
+stdfloats.inc
\end_layout
\end_inset
- variables; e.g.
-
-\begin_inset Newline newline
-\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:
+\end_layout
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN}
+Extension
\end_layout
\end_inset
+ [
+\begin_inset Flex Code
+status collapsed
-\begin_inset Newline newline
-\end_inset
+\begin_layout Plain Layout
+string
+\end_layout
-But, again, most of this will
-\begin_inset Quotes eld
\end_inset
-just work
+=
\begin_inset Quotes erd
\end_inset
-.
-\end_layout
-\begin_layout Enumerate
-Create your local
-\begin_inset Foot
-status collapsed
+\begin_inset Quotes erd
+\end_inset
-\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.
+] The file name extension of an auxiliary file for the list of figures (or
+ whatever).
+ LaTeX writes the captions to this file.
\end_layout
-\end_inset
-
- TeX tree.
- You must follow the directory structure of your existing
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-texmf
+GuiName
\end_layout
\end_inset
- directory, which will be found at
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TEXMFMAIN
+string
\end_layout
\end_inset
-.
- For example, latex packages should go under
-\begin_inset Flex CharStyle:Code
-status collapsed
+=
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
-$TEXMFLOCAL/tex/latex/
-\end_layout
+\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 Enumerate
-Install the package.
- For example, you would unpack the FoilTeX tarball and copy it to
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$TEXMFLOCAL/tex/latex/foiltex
+HTML*
\end_layout
\end_inset
-.
- The
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-foiltex
-\end_layout
+ These tags control the XHTML output.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Tags-for-XHTML"
\end_inset
- directory contains various files.
+.
\end_layout
-\begin_layout Enumerate
-Run:
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-texhash
+IsPredefined
\end_layout
\end_inset
-.
- This should create
-\begin_inset Flex CharStyle:Code
+ [
+\emph on
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$TEXMFLOCAL/ls-R
+0
\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
-status collapsed
+\emph default
+,
+\begin_inset space \thinspace{}
+\end_inset
-\begin_layout Plain Layout
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
+\begin_inset Flex Code
+status collapsed
-\bar under
-R
-\bar default
-econfigure
+\begin_layout Plain Layout
+1
\end_layout
\end_inset
-) and then restart LyX.
- You should then see your new package---for example
-\begin_inset Flex CharStyle:MenuItem
+] Indicates whether the float is already defined in the document class or
+ if instead the LaTeX package
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-slides (FoilTeX)
+float
\end_layout
\end_inset
----under
-\begin_inset Flex CharStyle:MenuItem
+ needs to be loaded to define it on-the-fly.
+ The default is
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
-
-\bar under
-S
-\bar default
-ettings
+0
\end_layout
\end_inset
- in the
-\begin_inset Flex CharStyle:MenuItem
+, which means:
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Document Class
+float
\end_layout
\end_inset
- drop box.
-
-\end_layout
+ is used.
+ It should be set to
+\begin_inset Flex Code
+status collapsed
-\begin_layout Section
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Layouts"
+\begin_layout Plain Layout
+1
+\end_layout
\end_inset
-Layouts
+ if the float is already defined by the LaTeX document class.
\end_layout
-\begin_layout Standard
-This section describes how to write and install your own LyX layout files
- and walks through the
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-article
+ListCommand
\end_layout
\end_inset
- text class format as an example.
- The
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.layout
+string
\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.)
-\end_layout
+=
+\begin_inset Quotes erd
+\end_inset
-\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"
+\begin_inset Quotes erd
\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
+] The command used to generate a list of floats of this type; the leading
+ `
+\backslash
+' must be omitted.
+ This
+\emph on
+must
+\emph default
+ be given if
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Style
+UsesFloatPkg
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ is false, since there is no standard way to generate this command.
+ It is ignored if
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-style
+UsesFloatPkg
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+ is true, since in that case there is a standard way to define the command.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-StYlE
+ListName
\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
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-emphasized
+string
\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
+] A title for a list of floats of this kind (list of figures, tables, or
+ whatever).
+ It is used for the screen label within LyX, it is used by LaTeX for the
+ title and it is used as the title in the XHTML output.
+ It will be translated to the document language.
\end_layout
-\end_inset
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-.
+\begin_layout Plain Layout
+NumberWithin
\end_layout
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sub:Layout-modules"
-
\end_inset
-Layout modules
-\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
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-stdsections.inc
+string
\end_layout
\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
-status collapsed
-
-\begin_layout Plain Layout
-
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
+=
+\begin_inset Quotes erd
+\end_inset
-\bar under
-S
-\bar default
-ettings
-\end_layout
+\begin_inset Quotes erd
\end_inset
- dialog.
-\end_layout
+] This (optional) argument determines whether floats of this class will
+ be numbered within some sectional unit of the document.
+ For example, if
+\begin_inset Flex Code
+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.
- But modules may, in principle, contain anything a layout file can contain.
+\begin_layout Plain Layout
+NumberWithin
\end_layout
-\begin_layout Standard
-A module must begin with a line like the following:
-\end_layout
+\end_inset
-\begin_layout LyX-Code
-#
-\backslash
-DeclareLyXModule[endnotes.sty]{Endnotes}
-\end_layout
+ is set to
+\begin_inset Quotes eld
+\end_inset
-\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
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Document\SpecialChar \menuseparator
-Settings
+chapter
\end_layout
\end_inset
-.
+
+\begin_inset Quotes erd
+\end_inset
+
+, the floats will be numbered within chapters.
\end_layout
-\begin_layout Standard
-The module declaration should then be followed by lines like the following:
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-#DescriptionBegin
+\begin_layout Plain Layout
+Placement
\end_layout
-\begin_layout LyX-Code
-#Adds an endnote command, in addition to footnotes.
-
-\end_layout
+\end_inset
-\begin_layout LyX-Code
-#You will need to add
-\backslash
-theendnotes in ERT where you
-\end_layout
+ [
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-#want the endnotes to appear.
-
+\begin_layout Plain Layout
+string
\end_layout
-\begin_layout LyX-Code
-#DescriptionEnd
-\end_layout
+\end_inset
-\begin_layout LyX-Code
-#Requires: somemodule | othermodule
-\end_layout
+=
+\begin_inset Quotes erd
+\end_inset
-\begin_layout LyX-Code
-#Excludes: badmodule
-\end_layout
-\begin_layout Standard
-The description is used in
-\begin_inset Flex CharStyle:MenuItem
+\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 Code
status collapsed
\begin_layout Plain Layout
-Document\SpecialChar \menuseparator
-Settings
+t
\end_layout
\end_inset
- to provide the user with information about what the module does.
- The
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Requires
+b
\end_layout
\end_inset
- line is used to identify other modules with which this one must be used;
- the
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Excludes
+p
\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
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-somemodule
+h
\end_layout
\end_inset
- is really
-\begin_inset Flex CharStyle:Code
+ for top, bottom, page, and here, respectively.
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-somemodule.module
+Note that the order of these letters in the string is irrelevant, like in
+ LaTeX.
\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.
- However, changes you make to the module will be seen immediately, if you
- open
-\begin_inset Flex CharStyle:MenuItem
+ On top of that there is a new type,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Document\SpecialChar \menuseparator
-Settings
+H
\end_layout
\end_inset
-, highlight something, and then hit
+, which does not really correspond to a float, since it means: put it
\begin_inset Quotes eld
\end_inset
-OK
+here
\begin_inset Quotes erd
\end_inset
-.
-
-\emph on
-It is strongly recommended that you save your work before doing so
-\emph default
-.
- In fact,
-\emph on
-it is strongly recommended that you not attempt to edit modules while simultaneo
-usly working on documents
-\emph default
-.
- Though of course the developers strive to keep LyX stable in such situations,
- syntax errors and the like in your module file could cause strange behavior.
-\end_layout
-
-\begin_layout Subsection
-Supporting new document classes
-\end_layout
-
-\begin_layout Standard
-There are two situations you are likely to encounter when wanting to support
- a new LaTeX document class, involving LaTeX2e class (
-\begin_inset Flex CharStyle:Code
+ and nowhere else.
+ Note however that the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.cls
+H
\end_layout
\end_inset
-) and style (
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-.sty
-\end_layout
-
+ 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
-) files.
- Supporting a style file is usually fairly easy.
- Supporting a new document class is a bit harder.
-\end_layout
-\begin_layout Subsection
-A layout for a
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-sty
+tbp
\end_layout
\end_inset
- file
+
+\begin_inset Quotes erd
+\end_inset
+
+.
\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
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-myclass.sty
+RefPrefix
\end_layout
\end_inset
- and it is meant to be used with
-\begin_inset Flex CharStyle:MenuItem
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-report.cls
+string
\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
-cp report.layout ~/.lyx/layouts/myclass.layout
-\end_layout
-
-\begin_layout Standard
-Then edit
-\begin_inset Flex CharStyle:Code
+] The prefix to use when creating labels referring to floats of this type.
+ This allows the use of formatted references.
+ Note that you can remove any
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-myclass.layout
+RefPrefix
\end_layout
\end_inset
- and change the line:
-\end_layout
+ set by a copied style by using the special value
+\begin_inset Quotes eld
+\end_inset
-\begin_layout LyX-Code
+OFF
+\begin_inset Quotes erd
+\end_inset
-\backslash
-DeclareLaTeXClass{report}
+, which must be all caps.
\end_layout
-\begin_layout Standard
-to read
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Style
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\backslash
-DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
-\end_layout
+ [
+\begin_inset Flex Code
+status collapsed
-\begin_layout Standard
-Then add:
+\begin_layout Plain Layout
+string
\end_layout
-\begin_layout LyX-Code
-Preamble
-\begin_inset Newline newline
\end_inset
-
-\backslash
-usepackage{myclass}
-\begin_inset Newline newline
+=
+\begin_inset Quotes erd
\end_inset
-EndPreamble
-\end_layout
-\begin_layout Standard
-near the top of the file.
-\end_layout
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Standard
-Start LyX and select
-\begin_inset Flex CharStyle:MenuItem
+] The style used when defining the float using
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-R
-\bar default
-econfigure
+\backslash
+newfloat
\end_layout
\end_inset
.
- Then restart LyX and try creating a new document.
- You should see "
-\begin_inset Flex CharStyle:MenuItem
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-report (myclass)
+Type
\end_layout
\end_inset
-" as a document class option in the
-\begin_inset Flex CharStyle:MenuItem
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+string
+\end_layout
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
+\end_inset
-\bar under
-S
-\bar default
-ettings
-\end_layout
+=
+\begin_inset Quotes erd
+\end_inset
+
+\begin_inset Quotes erd
\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---
-\begin_inset Flex CharStyle:Code
+] The
+\begin_inset Quotes eld
+\end_inset
+
+type
+\begin_inset Quotes erd
+\end_inset
+
+ of the new class of floats, like program or algorithm.
+ After the appropriate
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-report
+
+\backslash
+newfloat
\end_layout
\end_inset
- 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
+, commands such as
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-cls
+
+\backslash
+begin{program}
\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
+ or
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-book.cls
+
+\backslash
+end{algorithm*}
\end_layout
\end_inset
-.
- To see whether yours is, look for a line like
+ will be available.
\end_layout
-\begin_layout LyX-Code
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\backslash
-LoadClass{book}
+\begin_layout Plain Layout
+UsesFloatPkg
\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
+\end_inset
-\begin_layout Plain Layout
-And it will be easiest if you save the file to
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-thesis.layout
+0
\end_layout
\end_inset
-: LyX assumes that the document class has the same name as the layout file.
-
-\end_layout
-
+,
+\begin_inset space \thinspace{}
\end_inset
-\end_layout
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
+\begin_layout Plain Layout
-\backslash
-DeclareLaTeXClass[thesis,book]{thesis}
+\emph on
+1
\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
+] Specifies whether this float is defined using the LaTeX package
+\begin_inset Flex Code
+status collapsed
- 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 Plain Layout
+float
\end_layout
-\begin_layout Section
-Declaring a new text class
-\end_layout
+\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.
+, either by the class file, another package or on-the-fly by LyX itself.
\end_layout
\begin_layout Standard
-Here we go!
+Note that defining a float with type
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+type
\end_layout
-\begin_layout Standard
-Lines in a layout file which begin with a
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+ automatically defines the corresponding counter with name
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-#
+
+\emph on
+type
\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
+\begin_layout Subsection
+Flex insets and InsetLayout
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Flex-insets-and"
-\size small
-#% Do not delete the line below; configure depends on this
-\end_layout
+\end_inset
-\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
+Flex insets come in three different kinds:
+\end_layout
+
+\begin_layout Itemize
+character style (
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-chkconfig.ltx
+CharStyle
\end_layout
\end_inset
-, in a special mode where
-\begin_inset Flex CharStyle:Code
+): These define semantic markup corresponding to such LaTeX commands as
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-#
+
+\backslash
+noun
\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
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-article.layout
+
+\backslash
+code
\end_layout
\end_inset
-, then they define a text class of name
-\begin_inset Flex CharStyle:Code
+.
+\end_layout
+
+\begin_layout Itemize
+user custom (
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-article
+Custom
\end_layout
\end_inset
- (the name of the layout file) which uses the LaTeX document class
-\begin_inset Flex CharStyle:Code
+): 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 Code
status collapsed
\begin_layout Plain Layout
-article.cls
+endnote
\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
+ module.
+\end_layout
- that appears above is used as a description of the text class in the
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Itemize
+XML elements (
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
-
-\bar under
-S
-\bar default
-ettings
+Element
\end_layout
\end_inset
- dialog.
+): For use with DocBook classes.
\end_layout
\begin_layout Standard
-Let's assume that you wrote your own text class that uses the
-\begin_inset Flex CharStyle:Code
+Flex insets are defined using the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-article.cls
+InsetLayout
\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
+ tag, which shall be explained in a moment.
+\end_layout
+
+\begin_layout Standard
+The
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-myarticle.layout
+InsetLayout
\end_layout
\end_inset
-, the header of this file should be:
-\end_layout
-
-\begin_layout LyX-Code
+ tag also serves another function: It can be used to customize the general
+ layout of many different types of insets.
+ Currently,
+\begin_inset Flex Code
+status collapsed
-\size small
-#% Do not delete the line below; configure depends on this
+\begin_layout Plain Layout
+InsetLayout
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\size small
-#
-\backslash
-DeclareLaTeXClass[article]{article (with my own headings)}
+ 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 captions, as well as to define Flex
+ insets.
\end_layout
\begin_layout Standard
-This declares a text class
-\begin_inset Flex CharStyle:Code
+The
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-myarticle
+InsetLayout
\end_layout
\end_inset
-, associated with the LaTeX document class
-\begin_inset Flex CharStyle:Code
-status collapsed
+ definition must begin with a line of the form:
+\end_layout
-\begin_layout Plain Layout
-article.cls
+\begin_layout LyX-Code
+InsetLayout <type>
\end_layout
-\end_inset
+\begin_layout Standard
+Here
+\begin_inset Flex Code
+status collapsed
- and described as
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Plain Layout
+<Type>
+\end_layout
-article (with my own headings)
-\begin_inset Quotes erd
\end_inset
-.
- If your text class depends on several packages, you can declare it as:
+ indicates the inset whose layout is being defined, and here there are four
+ cases.
\end_layout
-\begin_layout LyX-Code
+\begin_layout Enumerate
+The layout for a pre-existing inset is being modified.
+ In this case, can be
+\begin_inset Flex Code
+status collapsed
-\size small
-#% Do not delete the line below; configure depends on this
+\begin_layout Plain Layout
+<Type>
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\size small
-#
-\backslash
-DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
-\end_layout
+ any one of the following:
+\begin_inset Flex Code
+status collapsed
-\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
+\begin_layout Plain Layout
+Algorithm
\end_layout
-\begin_layout LyX-Code
-
-\size small
-#% Do not delete the line below; configure depends on this
-\end_layout
+\end_inset
-\begin_layout LyX-Code
+,
+\begin_inset Flex Code
+status collapsed
-\size small
-#
-\backslash
-DeclareDocBookClass[article]{SGML (DocBook article)}
+\begin_layout Plain Layout
+Branch
\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).
-\end_layout
+\end_inset
-\begin_layout Standard
-So, to be as explicit as possible, the form of the layout declaration is:
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Box
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\size small
-#
-\backslash
-DeclareLaTeXClass[class,package.sty]{layout description}
-\end_layout
+,
+\begin_inset Flex Code
+status collapsed
-\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.
+\begin_layout Plain Layout
+Box:shaded
\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
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LyXDir/layouts/
+Caption:Standard
\end_layout
\end_inset
- or to
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UserDir/layouts
+ERT
\end_layout
\end_inset
-, run
-\begin_inset Flex CharStyle:MenuItem
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-R
-\bar default
-econfigure
+Figure
\end_layout
\end_inset
-, exit LyX and restart it.
- 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
-\begin_inset Flex CharStyle:MenuItem
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-layout-reload
+Foot
\end_layout
\end_inset
-.
- There is no default binding for this function---though, of course, you
- can bind it to a key yourself (see section
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:bindings"
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Index
+\end_layout
\end_inset
-).
- 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_inset Flex Code
+status collapsed
-\begin_layout Subsection
-File format
+\begin_layout Plain Layout
+Info
\end_layout
-\begin_layout Standard
-The first non-comment line must contain the file format number:
-\end_layout
+\end_inset
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Format
+Info:menu
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-int
+Info:shortcut
\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 7.
-\end_layout
+,
+\begin_inset Flex Code
+status collapsed
-\begin_layout Subsection
-General text class parameters
+\begin_layout Plain Layout
+Info:shortcuts
\end_layout
-\begin_layout Standard
-These are the general parameters which describe the form of the entire document:
-\end_layout
+\end_inset
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-AddToPreamble
+Listings
\end_layout
\end_inset
- Adds information to the document preamble.
- Must end with
-\begin_inset Quotes eld
-\end_inset
-
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-EndPreamble
+Marginal
\end_layout
\end_inset
+,
+\begin_inset Flex Code
+status collapsed
-\begin_inset Quotes erd
-\end_inset
-
-.
+\begin_layout Plain Layout
+Note:Comment
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ClassOptions
+Note:Note
\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"
+,
+\begin_inset Flex Code
+status collapsed
-\end_inset
+\begin_layout Plain Layout
+Note:Greyedout
+\end_layout
- for a description.
- Must end with
-\begin_inset Quotes eld
\end_inset
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-End
+Table
\end_layout
\end_inset
+, or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+URL
+\end_layout
-\begin_inset Quotes erd
\end_inset
.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Enumerate
+The layout for a Flex inset is being defined.
+ In this case,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Columns
+<Type>
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+ must be of the form
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-1
+Flex:<name>
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Quotes erd
+\end_inset
+
+, where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-2
+name
\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
+ may be be any valid identifier not used by a pre-existing Flex inset.
+ The identifier may include spaces, but in that case the whole thing must
+ be wrapped in quotes.
+ Note that the definition of a flex inset
+\emph on
+must
+\emph default
+also include a
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
-
-\bar under
-S
-\bar default
-ettings
+LyXType
\end_layout
\end_inset
- dialog.
+ entry, declaring which type of inset it defines.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Enumerate
+The layout for user specific branch is being defined.
+ In this case,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Counter
+<Type>
\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
+ must be of the form
\begin_inset Quotes eld
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-End
+Branch:<name>
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
-.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+, where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-DefaultFont
+name
\end_layout
\end_inset
- Sets the default font used to display the document.
- See Section
-\begin_inset space ~
-\end_inset
+ may be be any valid identifier of branch defined in user's document.
+ The identifier may include spaces, but in that case the whole thing must
+ be wrapped in quotes.
+ The main purpose of this feature is to allow LaTeX wrapping around specific
+ branches as user needs.
+\end_layout
+\begin_layout Enumerate
+The layout of a user (or class) specific caption is being defined.
+ In this case,
+\begin_inset Flex Code
+status collapsed
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
+\begin_layout Plain Layout
+<Type>
+\end_layout
\end_inset
- for how to declare fonts.
- Must end with
+ must be of the form
\begin_inset Quotes eld
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-EndFont
+Caption:<name>
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
-.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+, where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-DefaultStyle
+name
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+ specifies the name of the caption as it appears in the menu.
+ Have a look at the standard caption (
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string
+Caption:Standard
\end_layout
\end_inset
-] This is the style that will be assigned to new paragraphs, usually
-\begin_inset Flex CharStyle:MenuItem
+), the specific captions of the KOMA-Script classes (
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Standard
+Caption:Above
\end_layout
\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
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Float
+Caption:Below
\end_layout
\end_inset
- Defines a new float.
- See Section
+) or the module
+\family sans
+Multilingual
\begin_inset space ~
\end_inset
+Captions
+\family default
+(
+\begin_inset Flex Code
+status collapsed
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:floats"
-
-\end_inset
+\begin_layout Plain Layout
+Caption:Bicaption
+\end_layout
- for details.
- Must end with
-\begin_inset Quotes eld
\end_inset
+) for applications.
+\end_layout
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+The
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-End
+InsetLayout
\end_layout
\end_inset
-
-\begin_inset Quotes erd
-\end_inset
-
-.
+ definition can contain the following entries:
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Input
+Argument
\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
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-stdclass.inc
+int
\end_layout
\end_inset
-, which contains most of the basic layouts.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+] Defines argument number of a command\SpecialChar \slash{}
+environment associated with the current
+ layout.
+ The definition must end with
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-InsetLayout
+EndArgument
\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
-
-
+.
+ See
\begin_inset CommandInset ref
LatexCommand ref
-reference "sec:charstyle"
-
-\end_inset
-
- for more information.
- Must end with
-\begin_inset Quotes eld
+reference "sub:Paragraph-Styles"
+
\end_inset
+ for details.
+\end_layout
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-End
+BabelPreamble
\end_layout
\end_inset
+ Preamble for changing language commands; see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:I18n"
-\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LeftMargin
+BgColor
\end_layout
\end_inset
- [[FIXME]]
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-NoFloat
+<name>
\end_layout
\end_inset
- 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.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-NoStyle
-\end_layout
+] The color for the inset's background.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "chap:Names-of-colors"
\end_inset
- 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.
+ for a list of the available color names.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-OutputType
+ContentAsLabel
\end_layout
\end_inset
- [[FIXME]]
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\series medium
-PageStyle
+\emph on
+0
\end_layout
\end_inset
- [
-\emph on
+,
+\begin_inset space \thinspace{}
+\end_inset
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-plain
+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
-\emph default
-,
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-empty
+CopyStyle
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-headings
+<type>
\end_layout
\end_inset
-] The class default pagestyle.
- Can be changed in the
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
+] As with paragraph styles, see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Styles"
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
+\end_inset
-\bar under
-S
-\bar default
-ettings
-\end_layout
+.
+ Note that you need to specify the complete type, e.
+\begin_inset space \thinspace{}
+\end_inset
+g.
+\begin_inset space ~
\end_inset
- dialog.
-\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Preamble
+CopyStyle Flex:<name>
\end_layout
\end_inset
- Sets the preamble for the LaTeX document.
- Note that this will completely override any prior
-\begin_inset Flex CharStyle:Code
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Premable
+CustomPars
\end_layout
\end_inset
- or
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-AddToPreamble
+
+\emph on
+0
\end_layout
\end_inset
- declarations.
- Must end with
-\begin_inset Quotes eld
+,
+\begin_inset space \thinspace{}
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-EndPreamble
+1
\end_layout
\end_inset
-
-\begin_inset Quotes erd
-\end_inset
-
-.
+] Indicates whether the user may employ the Paragraph Settings dialog to
+ customize the paragraph.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Provides
+Decoration
\end_layout
\end_inset
-
-\begin_inset CommandInset label
-LatexCommand label
-name "des:Provides"
-
-\end_inset
-
-[
-\begin_inset Flex CharStyle:Code
+ can be
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string
+Classic
\end_layout
\end_inset
-] [
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-0
+Minimalistic
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+, or
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-1
+Conglomerate
\end_layout
\end_inset
-] Whether the class already provides the feature
-\begin_inset Flex CharStyle:Code
+, describing the rendering style used for the inset's frame and buttons.
+ Footnotes generally use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string
+Classic
\end_layout
\end_inset
-.
- A feature is in general the name of a package (
-\begin_inset Flex CharStyle:Code
+, ERT insets generally
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-amsmath
+Minimalistic
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+, and character styles
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-makeidx
+Conglomerate
\end_layout
\end_inset
-, \SpecialChar \ldots{}
-) or a macro (
-\begin_inset Flex CharStyle:Code
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-url
+Display
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-boldsymbol
+0
\end_layout
\end_inset
-,\SpecialChar \ldots{}
-); the complete list of supported features is unfortunately not documented
- outside the LyX source code---but see
-\begin_inset Flex CharStyle:Code
+,
+\emph on
+
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\emph default
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LaTeXFeatures.cpp
+
+\emph on
+1
\end_layout
\end_inset
- if you're interested.
-
-\begin_inset Flex CharStyle:MenuItem
+] Only useful if
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-H
-\bar default
-elp\SpecialChar \menuseparator
-
-\bar under
-L
-\bar default
-aTeX Configuration
+LatexType
\end_layout
\end_inset
- also gives an overview of the supported packages.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ is
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Requires
+Environment
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+.
+ Indicates whether the environment will stand on its own in the output or
+ will appear inline with the surrounding text.
+ If set to false, it is supposed that the LaTeX environment ignores white
+ space (including one newline character) after the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string
+
+\backslash
+begin{
+\emph on
+LatexName
+\emph default
+}
\end_layout
\end_inset
-] Whether the class requires the feature
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
- string
+
+\backslash
+end{
+\emph on
+LatexName
+\emph default
+}
\end_layout
\end_inset
-.
- Multiple features must be separated by commas.
- Note that you can only request supported features.
+ tags.
+ Default is true.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-RightMargin
+End
\end_layout
\end_inset
- [[FIXME]]
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ Required at the end of the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-SecNumDepth
+InsetLayout
\end_layout
\end_inset
- [[FIXME]]
+ declarations.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Sides
+Font
\end_layout
\end_inset
- [
-\emph on
-
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-
+ The font used for both the text body
\emph on
-1
-\end_layout
+and
+\emph default
+ the label.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
\end_inset
-
-\emph default
-,
-\begin_inset Flex CharStyle:Code
+.
+ Note that defining this font automatically defines the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-2
+LabelFont
\end_layout
\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
+ to the same value, so define this first and define
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-D
-\bar default
-ocument\SpecialChar \menuseparator
-
-\bar under
-S
-\bar default
-ettings
+LabelFont
\end_layout
\end_inset
- dialog.
+ later if you want them to be different.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Style
+ForceLocalFontSwitch
\end_layout
\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 "sec:style"
-
-\end_inset
-
- for details.
- Must end with
-\begin_inset Quotes eld
-\end_inset
-
-
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-End
+
+\emph on
+0
\end_layout
\end_inset
-
-\begin_inset Quotes erd
+,
+\begin_inset space \thinspace{}
\end_inset
-.
-\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TitleLatexName
+1
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+] When using babel, always use a local font switch (
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string="maketitle"
+
+\backslash
+foreignlanguage
\end_layout
\end_inset
-] The name of the command or environment to be used with
-\begin_inset Flex CharStyle:Code
+), never a global one (such as
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TitleLatexType
+
+\backslash
+selectlanguage
\end_layout
\end_inset
-.
+).
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TitleLatexType
+ForceLTR
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\emph on
-CommandAfter
+0
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Environment
-\end_layout
-
+,
+\begin_inset space \thinspace{}
\end_inset
-] Indicates what kind of markup is used to define the title of a document.
-
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-CommandAfter
+1
\end_layout
\end_inset
- means that the macro with name
-\begin_inset Flex CharStyle:Code
-status collapsed
+] Force the
+\begin_inset Quotes eld
+\end_inset
-\begin_layout Plain Layout
-TitleLatexName
-\end_layout
+latex
+\begin_inset Quotes erd
+\end_inset
+ language, leading to Left-to-Right (Latin) output, e.
+\begin_inset space \thinspace{}
\end_inset
- will be inserted after the last layout which has
-\begin_inset Quotes eld
+g.
+\begin_inset space \space{}
\end_inset
+in TeX code or URL.
+ A kludge.
+\change_inserted -712698321 1417441977
+
+\end_layout
+
+\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\change_inserted -712698321 1417442090
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-InTitle 1
-\end_layout
-
-\end_inset
+\change_inserted -712698321 1417441983
+ForceOwnlines
+\end_layout
-\begin_inset Quotes erd
\end_inset
-.
-
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Environment
+
+\change_inserted -712698321 1417441978
+
+\emph on
+0
\end_layout
\end_inset
- corresponds to the case where the block of paragraphs which have
-\begin_inset Quotes eld
+,
+\begin_inset space \thinspace{}
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-InTitle 1
+
+\change_inserted -712698321 1417441978
+1
\end_layout
\end_inset
+] Force a a line break in the LaTeX output before the inset starts and after
+ the inset ends.
+ This assures the inset itself is output on its own lines, for parsing purposes.
+\change_unchanged
-\begin_inset Quotes erd
-\end_inset
+\end_layout
- should be enclosed into the
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TitleLatexName
+ForcePlain
\end_layout
\end_inset
- environment.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TocDepth
+
+\emph on
+0
\end_layout
\end_inset
- [[FIXME]]
-\end_layout
+,
+\begin_inset space \thinspace{}
+\end_inset
-\begin_layout Subsection
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ClassOptions
-\end_layout
-
-\end_inset
-
- section
+1
\end_layout
-\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:classoptions"
-
\end_inset
-The
-\begin_inset Flex CharStyle:Code
+] Indicates whether the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ClassOptions
+PlainLayout
\end_layout
\end_inset
- section can contain the following entries:
+ 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
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-FontSize
+FreeSpacing
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string="10|11|12"
+
+\emph on
+0
\end_layout
\end_inset
-] The list of available font sizes for the document's main font, separated
- by
-\begin_inset Quotes eld
+,
+\begin_inset space \thinspace{}
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-|
+1
\end_layout
\end_inset
+] As with paragraph styles, see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Styles"
-\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Header
+HTML*
\end_layout
\end_inset
- [[FIXME]]
+ These tags control the XHTML output.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Tags-for-XHTML"
+
+\end_inset
+
+.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-PageStyle
+InToc
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string="empty|plain|headings|fancy"
+
+\emph on
+0
\end_layout
\end_inset
-] The list of available page styles, separated by
-\begin_inset Quotes eld
+,
+\begin_inset space \thinspace{}
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-|
+1
\end_layout
\end_inset
-
-\begin_inset Quotes erd
-\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
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Other
+KeepEmpty
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\emph on
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string=""
+0
\end_layout
\end_inset
-] 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
-
-\backslash
-documentclass
-\end_layout
+\emph default
+,
+\begin_inset space \thinspace{}
\end_inset
- command.
-\end_layout
-\begin_layout Standard
-The
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ClassOptions
+1
\end_layout
\end_inset
- section must end with
-\begin_inset Quotes eld
+] As with paragraph styles, see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Styles"
+
\end_inset
+.
+\end_layout
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-End
+LabelFont
\end_layout
\end_inset
+ The font used for the label.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
-\begin_inset Quotes erd
\end_inset
.
+ Note that this definition can never appear before
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Font
\end_layout
-\begin_layout Subsection
-Paragraph Styles
+\end_inset
+
+, lest it be ineffective.
\end_layout
-\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:style"
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelString
+\end_layout
\end_inset
-A paragraph style description looks like this:
-\begin_inset Foot
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Note that this will either define a new layout or modify an existing one.
+string
\end_layout
\end_inset
+=
+\begin_inset Quotes erd
+\end_inset
-\end_layout
-\begin_layout LyX-Code
-Style
-\family roman
-\emph on
-name
-\end_layout
+\begin_inset Quotes erd
+\end_inset
-\begin_layout LyX-Code
- ...
-\end_layout
+] What will be displayed on the button or elsewhere as the inset label.
+ Some inset types (
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-End
+\begin_layout Plain Layout
+TeX code
\end_layout
-\begin_layout Standard
-where the following commands are allowed:
-\end_layout
+\end_inset
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Align
+Branch
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+) modify this label on the fly.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-block
-\emph default
-, left, right, center
+LangPreamble
\end_layout
\end_inset
-] Paragraph alignment.
+ Language dependent preamble; see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:I18n"
+
+\end_inset
+
+.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-AlignPossible
+LatexName
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-block
-\emph default
-, left, right, center
+<name>
\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.)
+] The name of the corresponding LaTeX stuff.
+ Either the environment or command name.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-BottomSep
+LatexParam
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-float=0
+<parameter>
\end_layout
\end_inset
-]
-\begin_inset Foot
+] The optional parameter for the corresponding
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Note that a `float' here is a real number, such as: 1.5.
+LatexName
\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.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ stuff, including possible bracket pairs like
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Category
+[]
\end_layout
\end_inset
-
-\begin_inset Flex CharStyle:Code
+.
+ This parameter cannot be changed from within LyX (use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-[string]
+Argument
\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.
-
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ for customizable parameters).
+ It will be output as is after all LaTeX
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-CommandDepth
+Argument
\end_layout
\end_inset
- [[FIXME]]
+s.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-CopyStyle
+LatexType
\end_layout
\end_inset
-
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-[string]
+Command, Environment, None
\end_layout
\end_inset
- Copies all the features of an existing style into the current one.
-
-\end_layout
+] How the style should be translated into LaTeX.
+\begin_inset Foot
+status collapsed
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Plain Layout
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-DependsOn
+LatexType
\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
+ is perhaps a bit misleading, since these rules apply to SGML classes too.
+ Visit the SGML class files for specific examples.
+\end_layout
+
+\end_inset
+
+
+\begin_inset Separator parbreak
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Description
+\begin_inset Flex Code
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.
+None
\end_layout
\end_inset
-
+ means nothing special
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-EndLabeltype
+Command
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+ means
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+\backslash
+
\emph on
-No_Label
+LatexName
\emph default
-, Box, Filled_Box, Static
+{\SpecialChar \ldots{}
+}
\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
-LatexType
\end_layout
-\end_inset
-
- is
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ means
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Item_Environment
+
+\backslash
+begin{
+\emph on
+LatexName
+\emph default
+}\SpecialChar \ldots{}
+
+\backslash
+end{
+\emph on
+LatexName
+\emph default
+}
\end_layout
\end_inset
- or
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-List_Environment
\end_layout
-\end_inset
+\begin_layout Standard
+Putting the last few things together, the LaTeX output will be either:
+\end_layout
-).
-
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
-\begin_layout Plain Layout
-No_Label
+\backslash
+LatexName[LatexParam]{\SpecialChar \ldots{}
+}
\end_layout
-\end_inset
+\begin_layout Standard
+or:
+\end_layout
- means
-\begin_inset Quotes eld
-\end_inset
+\begin_layout LyX-Code
-nothing
-\begin_inset Quotes erd
-\end_inset
+\backslash
+begin{LatexName}[LatexParam] \SpecialChar \ldots{}
+
+\backslash
+end{LatexName}
+\end_layout
-,
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+depending upon the LaTeX type.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Box
+LeftDelim
\end_layout
\end_inset
- (resp.
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex 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,
-\begin_inset Flex CharStyle:Code
+] A string that is put at the beginning of the layout content.
+ A line break in the output can be indicated by
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Static
+<br/>
\end_layout
\end_inset
- is an explicit text string.
+.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-EndLabelString
+LyxType
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+ Can be
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string=""
+charstyle
\end_layout
\end_inset
-] The string used for a label with a
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Static
+custom
\end_layout
\end_inset
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-EndLabelType
+element
\end_layout
\end_inset
-.
-
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ or
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Fill_Bottom
+end
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+ (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.
+ Setting
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-0
-\emph default
-,1
+LyXType
\end_layout
\end_inset
-] Similar to
-\begin_inset Flex CharStyle:Code
+ to
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Fill_Top
+charstyle
\end_layout
\end_inset
-.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ will automatically set
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Fill_Top
+MultiPar
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+ to false.
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-0
-\emph default
-,1
+MultiPar
\end_layout
\end_inset
-] With this parameter the
-\begin_inset Flex CharStyle:MenuItem
+ can be set to true for
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Fill
+charstyle
\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
+ insets by setting it
+\emph on
+after
+\emph default
+ you set the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+LyXType
+\end_layout
-\bar under
-E
-\bar default
-dit\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-aragraph
-\begin_inset space ~
\end_inset
-Settings
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
\end_layout
\end_inset
- dialog can be set when initializing a paragraph with this style.
-\begin_inset Foot
+ [
+\begin_inset Flex 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.
+0
\end_layout
\end_inset
-
-\end_layout
+,
+\begin_inset space \thinspace{}
+\end_inset
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Font
+1
\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
-
+] Whether multiple paragraphs are permitted in this inset.
+ This will also set
+\begin_inset Flex Code
+status collapsed
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
+\begin_layout Plain Layout
+CustomPars
+\end_layout
\end_inset
-.
- Note that defining this font automatically defines the
-\begin_inset Flex CharStyle:Code
+ to the same value and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelFont
+ForcePlain
\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
+ to the opposite value.
+ These can be reset to other values, if they are used
+\emph on
+after
+\emph default
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelFont
+MultiPar
\end_layout
\end_inset
.
+ Default is true.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-FreeSpacing
+NeedProtect
\end_layout
\end_inset
-
-\begin_inset CommandInset label
-LatexCommand label
-name "des:FreeSpacing"
-
-\end_inset
-
-[
-\emph on
-
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
+,
+\begin_inset space \thinspace{}
+\end_inset
+
-\emph default
-,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain 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 fragile commands in this inset should be
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-FreeSpacing
+
+\backslash
+protect
\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.
+'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
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-InnerTag
+NoInsetLayout
\end_layout
\end_inset
- [[FIXME]]
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-InTitle
+<layout>
\end_layout
\end_inset
-
-\begin_inset Flex CharStyle:Code
+] Deletes an existing
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-[1, 0]
+InsetLayout
\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
+.
+\change_inserted -712698321 1417953494
-\begin_layout Plain Layout
-TitleLatexType
\end_layout
-\end_inset
+\begin_layout Description
- and
-\begin_inset Flex CharStyle:Code
+\change_inserted -712698321 1417953559
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TitleLatexName
+
+\change_inserted -712698321 1417953494
+ObsoletedBy
\end_layout
\end_inset
- global entries).
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ItemSep
+
+\change_inserted -712698321 1417953574
+<layout>
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+] Name of an
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-float=0
+
+\change_inserted -712698321 1417953533
+InsetLayout
\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
+ that has replaced this
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Parsep
+
+\change_inserted -712698321 1417953551
+InsetLayout
\end_layout
\end_inset
.
- But the whole items of the environment are additionally separated with
- this
-\begin_inset Flex CharStyle:Code
+ This is used to rename an
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Itemsep
+
+\change_inserted -712698321 1417953559
+InsetLayout
\end_layout
\end_inset
-.
- Note that this is a
-\emph on
- multiplier.
+, while keeping backward compatibility.
+\change_unchanged
+
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ItemTag
+ParbreakIsNewline
\end_layout
\end_inset
- [[FIXME]]
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-KeepEmpty
+1
\end_layout
\end_inset
-
-\begin_inset CommandInset label
-LatexCommand label
-name "des:KeepEmpty"
+] As with paragraph styles, see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Styles"
\end_inset
-[
-\emph on
+.
+ Default is false.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+PassThru
+\end_layout
+
+\end_inset
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
+,
+\begin_inset space \thinspace{}
+\end_inset
-\emph default
-,
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain 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.
+] As with paragraph styles, see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Styles"
+
+\end_inset
+
+.
+ Default is false.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelBottomsep
+Preamble
\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
+ As with paragraph styles, see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Paragraph-Styles"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Top_Environment
+RefPrefix
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Centered_Top_Environment
+string
\end_layout
\end_inset
-).
+] The prefix to use when creating labels referring to insets of this type.
+ This allows the use of formatted references.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelCounter
+Requires
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string=""
+string
\end_layout
\end_inset
-]
-\begin_inset Newline newline
-\end_inset
-
-The name of the counter for automatic numbering (see Section
+] As with paragraph styles, see
\begin_inset CommandInset ref
LatexCommand ref
-reference "sec:counter"
+reference "sub:Paragraph-Styles"
\end_inset
- for details).
- This must be given if
-\begin_inset Flex CharStyle:Code
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Labeltype
+ResetArgs
\end_layout
\end_inset
- is
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Counter
+
+\emph on
+0
\end_layout
\end_inset
-.
-\end_layout
+,
+\begin_inset space \thinspace{}
+\end_inset
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelFont
+1
\end_layout
\end_inset
- The font used for the label.
- See section
-\begin_inset space ~
+] Resets the LaTeX arguments of this layout (as defined via the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Argument
+\end_layout
+
\end_inset
+ tag).
+ This is useful if you have copied a style via
+\begin_inset Flex Code
+status collapsed
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
+\begin_layout Plain Layout
+CopyStyle
+\end_layout
\end_inset
-.
+, but you do not want to inherit its (required and optional) arguments.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Labelsep
+ResetsFont
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string=""
+0
\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.
+,
+\begin_inset space \thinspace{}
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+1
+\end_layout
+
+\end_inset
+
+] Whether this inset should use the font of its surrounding environment
+ or uses its own.
+ Default is false: use the font of the surrounding environment.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelString
+RightDelim
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string=""
+string
\end_layout
\end_inset
-] The string used for a label with a
-\begin_inset Flex CharStyle:Code
+] A string that is put at the end of the layout content.
+ A line break in the output can be indicated by
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Static
+<br/>
\end_layout
\end_inset
- labeltype.
- When
-\begin_inset Flex CharStyle:Code
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelCounter
+Spellcheck
\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"
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+0
+\end_layout
\end_inset
-.
-\begin_inset Foot
-status collapsed
+,
+\begin_inset space \thinspace{}
+\end_inset
-\begin_layout Plain Layout
-For the sake of backwards compatibility, the string
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-@
+
\emph on
-style-name
-\emph default
-@
+1
+\end_layout
+
+\end_inset
+
+] Allow spell-checking the contents of this inset.
+ Default is true.
+\end_layout
+
+\begin_layout Subsection
+Counters
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Counters"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+It is necessary to define the counters (
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+chapter
\end_layout
\end_inset
- will be replaced by the expanded
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
-LabelString
+figure
\end_layout
\end_inset
- of style
-\begin_inset Flex CharStyle:Code
+, \SpecialChar \ldots{}
+) in the text class itself.
+ The standard counters are defined in the file
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-style-name
+stdcounters.inc
\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"
-
-\end_inset
-
-.
+, so you may have to do no more than add
\end_layout
-\end_inset
+\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 Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+where of course `
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelStringAppendix
+CounterName
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+' is replaced by the name of the counter.
+ And it must end with
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string=""
+End
\end_layout
\end_inset
-] This is used inside the appendix instead of
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LabelString
-\end_layout
+\begin_inset Quotes erd
\end_inset
.
- Note that every
-\begin_inset Flex CharStyle:Code
+ The following parameters can also be used:
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelString
+InitialValue
\end_layout
\end_inset
- statement resets
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelStringAppendix
+int=1
\end_layout
\end_inset
- too.
+] Sets the initial value for the counter, to which it will be reset whenever
+ that happens.
+ Normally, one will want the default, 1.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Labeltype
+LabelString
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+string
+\end_layout
-\emph on
-No_Label
-\emph default
-, Manual, Static, Top_Environment,
-\begin_inset Newline newline
\end_inset
-Centered_Top_Environment, Sensitive, Counter
+=
+\begin_inset Quotes erd
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+] When defined, this string defines how the counter is displayed.
+ Setting this value sets
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelStringAppendix
\end_layout
\end_inset
-]
-\begin_inset Newline newline
+ to the same value.
+ The following special constructs can be used in the string:
+\begin_inset Separator parbreak
\end_inset
-\begin_inset Flex CharStyle:Code
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Manual
+
+\backslash
+thecounter
\end_layout
\end_inset
- means the label is the very first word (up to the first real blank).
-\begin_inset Foot
+ will be replaced by the expansion of the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Use protected spaces if you want more than one word as the label.
+LabelString
\end_layout
\end_inset
-
-\begin_inset Flex CharStyle:Code
+ (or
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Static
+LabelStringAppendix
\end_layout
\end_inset
- means it is defined in the layout (see
-\begin_inset Flex CharStyle:Code
+) of the counter
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelString
+counter
\end_layout
\end_inset
-).
+.
-\begin_inset Flex CharStyle:Code
+\end_layout
+
+\begin_layout Itemize
+counter values can be expressed using LaTeX-like macros
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Top_Environment
+
+\backslash
+
+\emph on
+numbertype
+\emph default
+{
+\emph on
+counter
+\emph default
+}
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+, where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Centered_Top_Environment
+
+\emph on
+numbertype
\end_layout
\end_inset
- are special cases of
-\begin_inset Flex CharStyle:Code
+ can be:
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-Static
+
+\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
-.
- 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
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Abstract
+arabic
\end_layout
\end_inset
- layout or the
-\begin_inset Flex CharStyle:MenuItem
+: 1, 2, 3,\SpecialChar \ldots{}
+;
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Bibliography
+alph
\end_layout
\end_inset
- layout.
- This is also the case for
-\begin_inset Flex CharStyle:Code
+ for lower-case letters: a, b, c, \SpecialChar \ldots{}
+;
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Manual
+Alph
\end_layout
\end_inset
- labels with latex type
-\begin_inset Flex CharStyle:Code
+ for upper-case letters: A, B, C, \SpecialChar \ldots{}
+;
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Environment
+roman
\end_layout
\end_inset
-, in order to make layouts for theorems work correctly.
-
-\begin_inset Flex CharStyle:Code
+ for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
+;
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Sensitive
+Roman
\end_layout
\end_inset
- is a special case for the caption-labels
-\begin_inset Quotes eld
-\end_inset
+ for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
+;
+\begin_inset Flex Code
+status collapsed
-Figure
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+hebrew
+\end_layout
- and
-\begin_inset Quotes eld
\end_inset
-Table
-\begin_inset Quotes erd
-\end_inset
+ for hebrew numerals.
+\end_layout
-.
-
-\begin_inset Flex CharStyle:Code
+\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 Code
status collapsed
\begin_layout Plain Layout
-Sensitive
+master
\end_layout
\end_inset
- means the (hardcoded) label string depends on the kind of float.
- The
-\begin_inset Flex CharStyle:Code
+ (defined via
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Counter
+Within
\end_layout
\end_inset
- label type defines automatically numbered labels.
- See Section
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:counter"
-
+), the string
+\begin_inset Newline newline
\end_inset
-.
-\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LatexFooter
+
+\backslash
+themaster.
+\backslash
+arabic{counter}
\end_layout
\end_inset
- [[FIXME]]
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ is used; otherwise the string
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LatexHeader
+
+\backslash
+arabic{counter}
\end_layout
\end_inset
- [[FIXME]]
+ is used.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LatexName
+LabelStringAppendix
\end_layout
\end_inset
-
-\begin_inset CommandInset label
-LatexCommand label
-name "des:LatexName"
-
-\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
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LatexParagraph
+string
\end_layout
\end_inset
- [[FIXME]]
-\end_layout
+=
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Quotes erd
+\end_inset
+
+] Same as
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LatexParam
+LabelString
\end_layout
\end_inset
-
-\begin_inset CommandInset label
-LatexCommand label
-name "des:LatexParam"
-
-\end_inset
+, but for use in the Appendix.
+\end_layout
-An optional parameter for the corresponding
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LatexName
+PrettyFormat
\end_layout
\end_inset
- stuff.
- This parameter cannot be changed from within LyX.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LatexType
+string
\end_layout
\end_inset
-
-\begin_inset CommandInset label
-LatexCommand label
-name "des:LatexType"
+=
+\begin_inset Quotes erd
+\end_inset
+
+\begin_inset Quotes erd
\end_inset
-[
-\begin_inset Flex CharStyle:Code
-status collapsed
+] A format for use with formatted references to this counter.
+ For example, one might want to have references to section numbers appear
+ as
+\begin_inset Quotes eld
+\end_inset
-\begin_layout Plain Layout
+Section 2.4
+\begin_inset Quotes erd
+\end_inset
-\emph on
-Paragraph
-\emph default
-, Command, Environment, Item_Environment,
-\end_layout
+.
+ The string should contain
+\begin_inset Quotes eld
+\end_inset
+##
+\begin_inset Quotes erd
\end_inset
-
-\begin_inset Flex CharStyle:Code
+.
+ This will be replaced by the counter number itself.
+ So, for sections, it would be: Section ##.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-List_Environment
+Within
\end_layout
\end_inset
-] How the layout should be translated into LaTeX.
-
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Paragraph
+string
\end_layout
\end_inset
- means nothing special.
-
-\begin_inset Flex CharStyle:Code
-status collapsed
+=
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
-Command
-\end_layout
+\begin_inset Quotes erd
\end_inset
- means
-\begin_inset Flex CharStyle:Code
+] 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 Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-
-\emph on
-LatexName
-\emph default
-{\SpecialChar \ldots{}
-}
+subsection
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+ is numbered inside
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Environment
+section
\end_layout
\end_inset
- means
-\begin_inset Flex CharStyle:Code
-status collapsed
+.
+\end_layout
-\begin_layout Plain Layout
+\begin_layout Subsection
+Font description
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Font-description"
-\backslash
-begin{
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+A font description looks like this:
+\end_layout
+
+\begin_layout LyX-Code
+Font
+\family roman
\emph on
-LatexName
+or
+\family default
\emph default
-}\SpecialChar \ldots{}
-
-\backslash
-end{
+ LabelFont
\emph on
-LatexName
+ or
\emph default
-}
+ DefaultFont
\end_layout
-\end_inset
-
-.
-
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+ ...
+\end_layout
-\begin_layout Plain Layout
-Item_Environment
+\begin_layout LyX-Code
+EndFont
\end_layout
-\end_inset
+\begin_layout Standard
+The following commands are available:
+\end_layout
- is the same as
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Environment
+Color
\end_layout
\end_inset
-, except that a
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\backslash
-item
+\emph on
+none
\end_layout
\end_inset
- is generated for each paragraph of this environment.
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-List_Environment
+black
\end_layout
\end_inset
- is the same as
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Item_Environment
+white
\end_layout
\end_inset
-, except that
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelWidthString
+red
\end_layout
\end_inset
- is passed as an argument to the environment.
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelWidthString
+green
\end_layout
\end_inset
- can be defined in the
-\begin_inset Flex CharStyle:MenuItem
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-L
-\bar default
-ayout\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-aragraph
+blue
\end_layout
\end_inset
- dialog.
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-LatexType
+cyan
\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_inset Flex Code
+status collapsed
-\begin_layout Standard
-Putting the last few things together, the LaTeX output will be either:
+\begin_layout Plain Layout
+magenta
\end_layout
-\begin_layout LyX-Code
+\end_inset
-\backslash
-latexname[latexparam]{\SpecialChar \ldots{}
-}
-\end_layout
+,
+\begin_inset Flex Code
+status collapsed
-\begin_layout Standard
-or:
+\begin_layout Plain Layout
+yellow
\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
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LeftMargin
+Family
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string=""
-\end_layout
-\end_inset
+\emph on
+Roman
+\end_layout
-] 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
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Manual
+Sans
\end_layout
\end_inset
- or
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Dynamic
+Typewriter
\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
-
+]
+\end_layout
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-MM
+Misc
\end_layout
\end_inset
-
-\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
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-MM
+string
\end_layout
\end_inset
-
-\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
+] Valid arguments are:
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
--
+emph
\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
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Margin
+noun
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-Static
-\emph default
-, Manual, Dynamic, First_Dynamic, Right_Address_Box
+strikeout
\end_layout
\end_inset
-]
-\begin_inset Newline newline
-\end_inset
-
-The kind of margin that the layout has on the left side.
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Static
+underbar
\end_layout
\end_inset
- just means a fixed margin.
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Manual
+uuline
\end_layout
\end_inset
- means that the left margin depends on the string entered in the
-\begin_inset Flex CharStyle:MenuItem
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+uwave
+\end_layout
-\bar under
-E
-\bar default
-dit\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-aragraph
-\begin_inset space ~
\end_inset
-Settings
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+no_emph
\end_layout
\end_inset
- dialog.
- This is used to typeset nice lists without tabulators.
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Dynamic
+no_noun
\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
+,
+\begin_inset Flex Code
+status collapsed
-5.4.3.2.1 Very long headline
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+no_strikeout
+\end_layout
- 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
+,
+\begin_inset Flex Code
+status collapsed
- plus the space) than
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Plain Layout
+no_bar
+\end_layout
-3.2 Very long headline
-\begin_inset Quotes erd
\end_inset
-, even if standard
-\begin_inset Quotes eld
-\end_inset
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+no_uuline
+\end_layout
-word processors
-\begin_inset Quotes erd
\end_inset
- are not able to do this.
-
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-First_Dynamic
+no_uwave
\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
+.
+ Each of these turns on or off the corresponding attribute.
+ For example,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Right_Address_Box
+emph
\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
+ turns on emphasis, and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-NeedProtect
+no_emph
\end_layout
\end_inset
+ turns it off.
-\begin_inset CommandInset label
-LatexCommand label
-name "des:NeedProtect"
-
+\begin_inset Newline newline
\end_inset
-[
-\begin_inset Flex CharStyle:Code
+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 Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-0
+no_emph
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ would turn off the emphasis that was anyway in effect, say, in a theorem
+ environment.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-1
+Series
\end_layout
\end_inset
-] Whether fragile commands in this layout should be
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-\backslash
-protect
+\emph on
+Medium
\end_layout
\end_inset
-'ed.
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Bold
+\end_layout
+
+\end_inset
+
+]
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Newline
+Shape
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-0
+
+\emph on
+Up
\end_layout
\end_inset
,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-1
+Italic
\end_layout
\end_inset
-] Whether newlines are translated into LaTeX newlines (
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+SmallCaps
+\end_layout
-\backslash
+\end_inset
-\backslash
+,
+\begin_inset Flex Code
+status collapsed
+\begin_layout Plain Layout
+Slanted
\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
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-NextNoIndent
+Size
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-1
+tiny
\end_layout
\end_inset
,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-0
+small
\end_layout
\end_inset
-] Whether the following Paragraph is allowed to indent its very first row.
-
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-1
+
+\emph on
+normal
\end_layout
\end_inset
- means that it is not allowed to do so;
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-0
+large
\end_layout
\end_inset
- means it could do so if it wants to.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ObsoletedBy
+larger
\end_layout
\end_inset
- [[FIXME]]
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-OptionalArgs
+largest
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-int=0
+huge
\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
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ParIndent
+giant
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-string=""
+]
\end_layout
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Citation-format-description"
+
\end_inset
-] The indent of the very first line of a paragraph.
- The
-\begin_inset Flex CharStyle:Code
+Citation format description
+\end_layout
+
+\begin_layout Standard
+The
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Parindent
+CiteFormat
\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
-\begin_inset Flex CharStyle:Code
-status collapsed
+ blocks are used to describe how bibliographic information should be displayed,
+ both within LyX itself (in the citation dialog and in tooltips, for example)
+ and in XHTML output.
+ Such a block might look like this:
+\end_layout
-\begin_layout Plain Layout
-NextNoIndent
+\begin_layout LyX-Code
+CiteFormat
\end_layout
-\end_inset
+\begin_layout LyX-Code
+ article ...
+\end_layout
-.
- Also, Standard layout paragraphs inside environments use the
-\begin_inset Flex CharStyle:Code
+\begin_layout LyX-Code
+ book ...
+\end_layout
+
+\begin_layout LyX-Code
+End
+\end_layout
+
+\begin_layout Standard
+The individual lines define how the bibliographic information associated
+ with an article or book, respectively, is to be displayed, and such a definitio
+n can be given for any `entry type' that might be present in a BibTeX file.
+ LyX defines a default format in the source code that will be used if no
+ specific definition has been given.
+ LyX predefines several formats in the file
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Parindent
+stdciteformats.inc
\end_layout
\end_inset
- of the environment, not their native one.
- For example, Standard paragraphs inside an enumeration are not indented.
+, which is included in most of LyX's document classes.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+The definitions use a simple language that allows BibTeX keys to be replaced
+ with their values.
+ Keys should be enclosed in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Parsep
+%
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+ signs, e.g.:
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-float=0
+%author%
\end_layout
\end_inset
-] The vertical space between two paragraphs of this layout.
+.
+ So a simple definition might look like this:
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout LyX-Code
+misc %author%,
+\begin_inset Quotes eld
+\end_inset
+
+%title
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+This would print the author, followed by a comma, followed by the title,
+ in quotes, followed by a period.
+\end_layout
+
+\begin_layout Standard
+Of course, sometimes you may want to print a key only if it exists.
+ This can be done by using a conditional construction, such as:
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Parskip
+{%volume%[[vol.
+\begin_inset space ~
+\end_inset
+
+%volume%]]}
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+.
+ This says: If the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-float=0
+volume
\end_layout
\end_inset
-] LyX allows the user to choose either
+ key exists, then print
\begin_inset Quotes eld
\end_inset
-indent
-\begin_inset Quotes erd
+vol.
+\begin_inset space ~
\end_inset
- or
-\begin_inset Quotes eld
-\end_inset
-skip
\begin_inset Quotes erd
\end_inset
- to typeset a document.
- When
-\begin_inset Quotes eld
+ followed by the volume key.
+ It is also possible to have an else clause in the conditional, such as:
+\begin_inset Newline newline
\end_inset
-indent
-\begin_inset Quotes erd
-\end_inset
- is chosen, this value is completely ignored.
- When
-\begin_inset Quotes eld
-\end_inset
+\begin_inset Flex Code
+status collapsed
-skip
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+{%author%[[%author%]][[%editor%, ed.]]}
+\end_layout
- is chosen, the parindent of a LaTeXtype
-\begin_inset Quotes eld
\end_inset
-Paragraph
-\begin_inset Quotes erd
+.
+\begin_inset Newline newline
\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
+Here, the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-value
-\begin_inset space ~
+author
+\end_layout
+
\end_inset
-* DefaultHeight
-\end_layout
+ key is printed if it exists; otherwise, the editor key is printed, followed
+ by
+\begin_inset Quotes eld
+\end_inset
+,
+\begin_inset space ~
\end_inset
- where
-\begin_inset Flex CharStyle:Code
+ed.
+\begin_inset Quotes erd
+\end_inset
+
+ Note that the key is again enclosed in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-DefaultHeight
+%
\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.
-\end_layout
+ signs; the entire conditional is enclosed in braces; and the if and else
+ clauses are enclosed in double brackets,
+\begin_inset Quotes eld
+\end_inset
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-PassThru
+[[
\end_layout
\end_inset
-
-\begin_inset CommandInset label
-LatexCommand label
-name "des:PassThru"
+\begin_inset Quotes eld
\end_inset
-[
-\emph on
+ and
+\begin_inset Quotes eld
+\end_inset
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-0
+]]
\end_layout
\end_inset
-\emph default
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-1
-\end_layout
-
+\begin_inset Quotes erd
\end_inset
-] Whether the contents of this paragraph should be output in raw form, meaning
- without special translations that LaTeX would require.
+.
+ There must be no space between any of these.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+There is one other piece of syntax available in definitions, which looks
+ like this:
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Preamble
+{!<i>!}
\end_layout
\end_inset
-
-\begin_inset CommandInset label
-LatexCommand label
-name "des:Preamble"
+.
+ This defines a piece of formatting information that is to be used when
+ creating
+\begin_inset Quotes eld
+\end_inset
+rich text
+\begin_inset Quotes erd
\end_inset
-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
+.
+ Obviously, we do not want to output HTML tags when writing plain text,
+ so they should be wrapped in
\begin_inset Quotes eld
\end_inset
-
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-EndPreamble
-\end_layout
-
+{!
+\begin_inset Quotes erd
\end_inset
+ and
+\begin_inset Quotes eld
+\end_inset
+!}
\begin_inset Quotes erd
\end_inset
.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+Two special sorts of definitions are also possible in a
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Requires
+CiteFormat
\end_layout
\end_inset
-[
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-string
+ block.
+ An example of the first would be:
\end_layout
+\begin_layout LyX-Code
+!quotetitle
+\begin_inset Quotes eld
\end_inset
-]
-\begin_inset CommandInset label
-LatexCommand label
-name "des:Requires"
-
+%title%
+\begin_inset Quotes erd
\end_inset
-Whether the layout requires the feature
-\begin_inset Flex CharStyle:Code
+
+\end_layout
+
+\begin_layout Standard
+This is an abbreviation, or macro, and it can be used by treating it as
+ if it were a key:
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string
+%!quotetitle%
\end_layout
\end_inset
.
- See the description of
-\begin_inset Flex CharStyle:Code
+ LyX will treat
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Provides
+%!quotetitle%
\end_layout
\end_inset
- above (page
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:FreeSpacing"
-
-\end_inset
+ exactly as it would treat its definition.
+ So, let us issue the obvious
+\emph on
+warning
+\emph default
+.
+ Do not do this:
+\end_layout
-) for information on `features'.
-
+\begin_layout LyX-Code
+!funfun %funfun%
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Standard
+or anything like it.
+ LyX shouldn't go into an infinite loop, but it may go into a long one before
+ it gives up.
+\end_layout
-\begin_layout Plain Layout
-RightMargin
+\begin_layout Standard
+The second sort of special definition might look like this:
\end_layout
-\end_inset
+\begin_layout LyX-Code
+_pptext pp.
+\end_layout
- [
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+This defines a translatable piece of text, which allows relevant parts of
+ the bibliography to be translated.
+ It can be included in a definition by treating it as a key:
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string=""
+%_pptext%
\end_layout
\end_inset
-] Similar to
-\begin_inset Flex CharStyle:Code
+.
+ Several of these are predefined in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LeftMargin
+stdciteformats.inc
\end_layout
\end_inset
.
+ Note that these are not macros, in the sense just defined.
+ They will not be expanded.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Standard
+So here then is an example that use all these features:
+\begin_inset VSpace defskip
+\end_inset
-\begin_layout Plain Layout
-Spacing
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+
+\family typewriter
+!authoredit {%author%[[%author%, ]][[{%editor%[[%editor%, %_edtext%, ]]}]]}
\end_layout
+\begin_layout Standard
+\begin_inset VSpace defskip
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+This defines a macro that prints the author, followed by a comma, if the
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-single
-\emph default
-, onehalf, double, other
+author
\end_layout
\end_inset
+ key is defined, or else prints the name of the editor, followed by the
-\emph on
-value
-\emph default
-] This defines what the default spacing should be in the layout.
- The arguments
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-single
+_edtext
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ or its translation (it is by default
+\begin_inset Quotes eld
+\end_inset
+
+ed.
+\begin_inset Quotes erd
+\end_inset
+
+), if the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-onehalf
+editor
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+ key is defined.
+ Note that this is in fact defined in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-double
+stdciteformats.inc
\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
+, so you can use it in your own definitions, or re-definitions, if you load
+ that file first.
\end_layout
+\begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Tags-for-XHTML"
+
\end_inset
-, 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
+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 Code
status collapsed
\begin_layout Plain Layout
-Spacing
+Font
\end_layout
\end_inset
- implies the generation of specific LaTeX code, using the package
-\family roman
+ declaration for the Chapter style to write CSS that will appropriately
+ format chapter headings.
+\end_layout
-\begin_inset Flex CharStyle:Code
+\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 Code
status collapsed
\begin_layout Plain Layout
-setspace.sty
+HTMLPreamble
\end_layout
\end_inset
-.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TextFont
+AddToHTMLPreamble
\end_layout
\end_inset
- The font used for the text body .
- See section
+ that may appear outside style and inset declarations.
+ See
\begin_inset CommandInset ref
LatexCommand ref
-reference "sec:fonts"
+reference "sub:General-text-class"
\end_inset
-.
+ for details on these.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\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 Code
status collapsed
\begin_layout Plain Layout
-
-\series medium
-TocLevel [int]
+LaTeXType
\end_layout
\end_inset
- The level of the style in the table of contents.
- This is used for automatic numbering of section headings.
+ tag.
+
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Standard
+For a command or normal paragraph, the output XHTML has the following form:
+\end_layout
-\begin_layout Plain Layout
-TopSep
+\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
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-float=0
+>Label</labeltag>
\end_layout
-\end_inset
+\begin_layout LyX-Code
+Contents of the paragraph.
+\end_layout
-] 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.
+\begin_layout LyX-Code
+</tag>
\end_layout
-\begin_layout Subsection
-Floats
+\begin_layout Standard
+The label tags are of course omitted if the paragraph does not have a label.
\end_layout
\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:floats"
+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
-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
+value
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
-figure
+>
\end_layout
+\begin_layout LyX-Code
+<itemtag attr=
+\begin_inset Quotes erd
\end_inset
-,
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-table
-\end_layout
+value
+\begin_inset Quotes erd
+\end_inset
+><labeltag attr=
+\begin_inset Quotes erd
\end_inset
-, \SpecialChar \ldots{}
-) in the text class itself.
- Standard floats are included in the file
-\begin_inset Flex CharStyle:Code
-status collapsed
+value
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
-stdfloats.inc
+>Environment Label</labeltag>First paragraph.</itemtag>
\end_layout
-\end_inset
-
-, so you may have to do no more than add
+\begin_layout LyX-Code
+<itemtag>Second paragraph.</itemtag>
\end_layout
\begin_layout LyX-Code
-Input stdfloats.inc
+</tag>
\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:
+Note that the label is output only for the first paragraph, as it should
+ be for a theorem, for example.
+
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Extension
+\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
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
+value
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
-string
+>
\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
-] The file name extension of an auxiliary file for the list of figures (or
- whatever).
- LaTeX writes the captions to this file.
+>List Label</labeltag>First item.</itemtag>
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+<itemtag attr=
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
-GuiName
-\end_layout
+value
+\begin_inset Quotes erd
+\end_inset
+><labeltag attr=
+\begin_inset Quotes erd
\end_inset
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
+value
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
-string
+>List Label</labeltag>Second item.</itemtag>
\end_layout
-\end_inset
+\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
-] The string that will be used in the menus and also for the caption.
+>
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LaTeXBuiltin
-\end_layout
+\begin_layout LyX-Code
+<labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+value
+\begin_inset Quotes erd
\end_inset
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
+>List Label</labeltag><itemtag attr=
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
+value
+\begin_inset Quotes erd
+\end_inset
-\emph on
-0
+>First item.</itemtag>
\end_layout
+\begin_layout LyX-Code
+<labeltag attr=
+\begin_inset Quotes erd
\end_inset
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-1
-\end_layout
+value
+\begin_inset Quotes erd
+\end_inset
+>List Label</labeltag><itemtag attr=
+\begin_inset Quotes erd
\end_inset
-] Set to
-\begin_inset Flex CharStyle:Code
-status collapsed
+value
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
-1
+>Second item.</itemtag>
\end_layout
-\end_inset
+\begin_layout LyX-Code
+</tag>
+\end_layout
- if the float is already defined by the LaTeX document class.
- If this is set to
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+Note the different orders of
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-0
+labeltag
\end_layout
\end_inset
-, the float will be defined using the LaTeX package
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-float
+itemtag
\end_layout
\end_inset
.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ Which order we get depends upon the setting of
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ListName
+HTMLLabelFirst
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+: If
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string
+HTMLLabelFirst
\end_layout
\end_inset
-=
-\begin_inset Quotes erd
-\end_inset
-
-
-\begin_inset Quotes erd
-\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
-] The heading used for the list of floats.
+\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
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-NumberWithin
+HTMLAttr
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-=
-\begin_inset Quotes erd
+] Specifies attribute information to be output with the main tag.
+ For example,
+\begin_inset Quotes eld
\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
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-chapter
+class=`mydiv'
\end_layout
\end_inset
-, the floats will be numbered within chapters.
-
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-Placement
-\end_layout
+\begin_inset Quotes erd
+\end_inset
+.
+ By default, LyX will output
+\begin_inset Quotes eld
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string
+class=`layoutname'
\end_layout
\end_inset
-=
-\begin_inset Quotes erd
-\end_inset
-
\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
+, where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-t
+layoutname
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ is the LyX name of the layout, made lowercase, for example: chapter.
+ This should
+\emph on
+not
+\emph default
+ contain any style information.
+ Use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-b
+HTMLStyle
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-p
+ for that purpose.
\end_layout
-\end_inset
-
- and
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-h
+HTMLForceCSS
\end_layout
\end_inset
- for top, bottom, page, and here, respectively.
-\begin_inset Foot
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Note that the order of these letters in the string is irrelevant, like in
- LaTeX.
+
+\emph on
+0
+\emph default
+,1
\end_layout
\end_inset
- On top of that there is a new type,
-\begin_inset Flex CharStyle:Code
+] Whether to output the default CSS information LyX generates for this layout,
+ even if additional information is explicitly provided via
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-H
+HTMLStyle
\end_layout
\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
+.
+ Setting this to
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-H
+1
\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
-
+\end_inset
-\begin_inset Flex CharStyle:Code
+ allows you to alter or augment the generated CSS, rather than to override
+ it completely.
+ Default is
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-tbp
+0
\end_layout
\end_inset
-
-\begin_inset Quotes erd
-\end_inset
-
.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Style
+HTMLItem
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-=
-\begin_inset Quotes erd
-\end_inset
+] The tag to be used for individual paragraphs of environments, replacing
+
+\begin_inset Flex Code
+status collapsed
+\begin_layout Plain Layout
+itemtag
+\end_layout
-\begin_inset Quotes erd
\end_inset
-] The style used when defining the float using
-\begin_inset Flex CharStyle:Code
+ in the examples above.
+ Defaults to
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-newfloat
+div
\end_layout
\end_inset
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Type
+HTMLItemAttr
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-=
-\begin_inset Quotes erd
-\end_inset
-
-
-\begin_inset Quotes erd
-\end_inset
-
-] The
+] Attributes for the item tag.
+ Defaults to
\begin_inset Quotes eld
\end_inset
-type
-\begin_inset Quotes erd
-\end_inset
- of the new class of floats, like program or algorithm.
- After the appropriate
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-newfloat
+class=`layoutname_item'
\end_layout
\end_inset
-, commands such as
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-
-\backslash
-begin{program}
-\end_layout
+\begin_inset Quotes erd
\end_inset
- or
-\begin_inset Flex CharStyle:Code
+.
+ This should
+\emph on
+not
+\emph default
+ contain any style information.
+ Use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-end{algorithm*}
+HTMLStyle
\end_layout
\end_inset
- will be available.
+ for that purpose.
\end_layout
-\begin_layout Standard
-Note that defining a float with type
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-type
+HTMLLabel
\end_layout
\end_inset
- automatically defines the corresponding counter with name
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-type
+string
\end_layout
\end_inset
-.
-\end_layout
+] The tag to be used for paragraph and item labels, replacing
+\begin_inset Flex Code
+status collapsed
-\begin_layout Subsection
-Inset layouts and Flex insets
+\begin_layout Plain Layout
+labeltag
\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
+ in the examples above.
+ Defaults to
+\begin_inset Flex Code
+status collapsed
-\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.
-
+\begin_layout Plain Layout
+span
\end_layout
-\begin_layout Standard
-Flex insets come in three different kinds:
-\end_layout
+\end_inset
-\begin_layout Itemize
-character style (
-\begin_inset Flex CharStyle:Code
+, unless
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-CharStyle
+LabelType
\end_layout
\end_inset
-): These define semantic markup corresponding to such LaTeX commands as
-
-\begin_inset Flex CharStyle:Code
+ is either
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-noun
+Top_Environment
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+ or
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-code
+Centered_Top_Environment
\end_layout
\end_inset
-.
-\end_layout
-
-\begin_layout Itemize
-user custom (
-\begin_inset Flex CharStyle:Code
+, in which case it defaults to
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Custom
+div
\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 (
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Element
+HTMLLabelAttr
\end_layout
\end_inset
-): For use with DocBook classes.
-\end_layout
-
-\begin_layout Standard
-The
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-InsetLayout
+string
\end_layout
\end_inset
- definition starting line is of the form
-\end_layout
+] Attributes for the label tag.
+ Defaults to
+\begin_inset Quotes eld
+\end_inset
-\begin_layout LyX-Code
-InsetLayout <Type> <Name>
-\end_layout
-\begin_layout Standard
-where
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-<Type>
+class=`layoutname_label'
\end_layout
\end_inset
- can be
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ This should
+\emph on
+not
+\emph default
+ contain any style information.
+ Use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Algorithm
+HTMLStyle
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ for that purpose.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Branch
+HTMLLabelFirst
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Box
+
+\emph on
+0
+\emph default
+,1
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+] 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 Code
status collapsed
\begin_layout Plain Layout
-ERT
+<dt>\SpecialChar \ldots{}
+</dt><dd>\SpecialChar \ldots{}
+</dd>
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+.
+ Default is
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Figure
+0
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+: The label tag is output inside the item tag.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Foot
+HTMLPreamble
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ Information to be output in the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Index
+<head>
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ section when this style is used.
+ This might, for example, be used to include a
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Listings
+<script>
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ block defining an
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Marginal
+onclick
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ handler.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Note:Comment
+HTMLStyle
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ 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 Code
status collapsed
\begin_layout Plain Layout
-Note:Note
+<style>
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ block, so only the CSS itself need be included.
+ Must end with
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Note:GreyedOut
+EndHTMLStyle
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-OptArg
+HTMLTag
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Table
+string
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+] The tag to be used for the main label, replacing
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-URL
+tag
\end_layout
\end_inset
-, or
-\begin_inset Flex CharStyle:Code
+ in the examples above.
+ Defaults to
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Flex
+div
\end_layout
\end_inset
.
- If
-\begin_inset Flex CharStyle:Code
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-<Type>
+HTMLTitle
\end_layout
\end_inset
- is
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Flex
+
+\emph on
+0
+\emph default
+,1
\end_layout
\end_inset
-, then
-\begin_inset Flex CharStyle:Code
+] Marks this style as the one to be used to generate the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-<Name>
+<title>
\end_layout
\end_inset
- should have the form
-\begin_inset Flex CharStyle:Code
+ tag for the XHTML file.
+ By default, it is false.
+ The
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-SubType:StyleName
+stdtitle.inc
\end_layout
\end_inset
-, where
-\begin_inset Flex CharStyle:Code
+ file sets it to true for the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-SubType
+title
\end_layout
\end_inset
- is either
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-CharStyle
+ environment.
+
\end_layout
-\end_inset
+\begin_layout Subsection
+InsetLayout XHTML
+\end_layout
-,
-\begin_inset Flex CharStyle:Code
+\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
-Custom
-\end_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
-, or
-\begin_inset Flex CharStyle:Code
-status collapsed
+command
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Plain Layout
-Element
+ insets (insets that are associated with dialog boxes).
\end_layout
\end_inset
-, and
-\begin_inset Flex CharStyle:Code
-status collapsed
+ Here, too, LyX tries to provide sensible defaults, and it constructs default
+ CSS style rules.
+ But everything can be customized.
+\end_layout
-\begin_layout Plain Layout
-StyleName
+\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
- is any valid identifier.
-
+>
\end_layout
-\begin_layout Standard
-The following
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-InsetLayout
+\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
- section can contain the following entries:
+>Contents of the inset.</innertag>
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout LyX-Code
+</tag>
+\end_layout
+
+\begin_layout Standard
+If the inset permits multiple paragraphs---that is, if
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-BgColor
+MultiPar
\end_layout
\end_inset
- The color for the inset's background.
- These valid colors are defined in
-\begin_inset Flex CharStyle:Code
+ 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 Code
status collapsed
\begin_layout Plain Layout
-src/ColorCode.h
+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
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Decoration
+HTMLAttr
\end_layout
\end_inset
- can be
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Classic
+string
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+] Specifies attribute information to be output with the main tag.
+ For example,
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Minimalistic
+class=`myinset' onclick=`\SpecialChar \ldots{}
+'
\end_layout
\end_inset
-, or
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-Conglomerate
-\end_layout
+\begin_inset Quotes erd
+\end_inset
+.
+ By default, LyX will output
+\begin_inset Quotes eld
\end_inset
-, describing the rendering style used for the inset's frame and buttons.
- Footnotes generally use
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Classic
+class=`insetname'
\end_layout
\end_inset
-; ERT insets generally use
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Minimalistic
-\end_layout
+\begin_inset Quotes erd
\end_inset
-; and character styles use
-\begin_inset Flex CharStyle:Code
+, where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Conglomerate
+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
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Font
+HTMLForceCSS
\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 Code
+status collapsed
+\begin_layout Plain Layout
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:fonts"
+\emph on
+0
+\emph default
+,1
+\end_layout
\end_inset
-.
- Note that defining this font automatically defines the
-\begin_inset Flex CharStyle:Code
+] Whether to output the default CSS information LyX generates for this layout,
+ even if additional information is explicitly provided via
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelFont
+HTMLStyle
\end_layout
\end_inset
- to the same value, so define this first and define
-\begin_inset Flex CharStyle:Code
+.
+ Setting this to
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelFont
+1
\end_layout
\end_inset
- later if you want them to be different.
+ 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
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ForceLTR
+HTMLInnerAttr
\end_layout
\end_inset
- [[FIXME]]
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-FreeSpacing
+string
\end_layout
\end_inset
- As with paragraph styles (see page
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:FreeSpacing"
-
+] Attributes for the inner tag.
+ Defaults to
+\begin_inset Quotes eld
\end_inset
-).
-\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-KeepEmpty
+class=`insetname_inner'
\end_layout
\end_inset
- As with paragraph styles (see page
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:KeepEmpty"
+\begin_inset Quotes erd
\end_inset
-).
+.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelString
+HTMLInnerTag
\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
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelFont
+string
\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"
-
-\end_inset
-
-.
- Note that this definition can never appear before
-\begin_inset Flex CharStyle:Code
+] The inner tag, replacing
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Font
+innertag
\end_layout
\end_inset
-, lest it be ineffective.
+ in the examples above.
+ By default, there is none.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LatexName
+HTMLIsBlock
\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
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LatexParam
+0,
+\emph on
+1
\end_layout
\end_inset
- The optional parameter for the corresponding
-\begin_inset Flex CharStyle:Code
+] 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 Code
status collapsed
\begin_layout Plain Layout
-LatexName
+HTMLLabel
\end_layout
\end_inset
- stuff, including possible bracket pairs like
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex 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
-\begin_inset Flex CharStyle:Code
+] A label for this inset, possibly including a reference to a counter.
+ For example, for footnote, it might be:
+\begin_inset Flex 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"
+\backslash
+arabic{footnote}
+\end_layout
\end_inset
-).
+.
+ This is optional, and there is no default.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LyxType
+HTMLPreamble
\end_layout
\end_inset
- Can be
-\begin_inset Flex CharStyle:Code
+ Information to be output in the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-charstyle
+<head>
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ section when this style is used.
+ This might, for example, be used to include a
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-custom
+<script>
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ block defining an
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-element
+onclick
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ handler.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-end
+HTMLStyle
\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
-\begin_inset Flex CharStyle:Code
+ 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 Code
status collapsed
\begin_layout Plain Layout
-Preamble
+<style>
\end_layout
\end_inset
- As with paragraph styles (see page
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:Preamble"
-
-\end_inset
-
-).
+ block, so only the CSS itself need be included.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Requires
+HTMLTag
\end_layout
\end_inset
[
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-] As with paragraph styles (see page
-\begin_inset CommandInset ref
-LatexCommand pageref
-reference "des:Requires"
+] The tag to be used for the main label, replacing
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+tag
+\end_layout
\end_inset
-).
-\end_layout
+ in the examples above.
+ The default depends upon the setting of
+\begin_inset Flex Code
+status collapsed
-\begin_layout Subsection
-Counters
+\begin_layout Plain Layout
+MultiPar
\end_layout
-\begin_layout Standard
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:counter"
-
\end_inset
-Since version 1.3.0 of LyX, it is both possible and necessary to define the
- counters (
-\begin_inset Flex CharStyle:MenuItem
+: If
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-chapter
+MultiPar
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:MenuItem
+ is true, the default is
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-figure
+div
\end_layout
\end_inset
-, \SpecialChar \ldots{}
-) in the text class itself.
- The standard counters are defined in the file
-\begin_inset Flex CharStyle:Code
+; if it is false, the default is
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-stdcounters.inc
+span
\end_layout
\end_inset
-, so you may have to do no more than add
+.
\end_layout
-\begin_layout LyX-Code
-Input stdcounters.inc
+\begin_layout Subsection
+Float XHTML
\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, using the
- following parameters:
+The XHTML output for floats too can be controlled by layout information.
+ The output has the following form:
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LabelString [string=""]
-\end_layout
+\begin_layout LyX-Code
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+value
+\begin_inset Quotes erd
\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
+>
+\end_layout
-\begin_layout Plain Layout
-LabelStringAppendix
+\begin_layout LyX-Code
+Contents of the float.
\end_layout
-\end_inset
+\begin_layout LyX-Code
+</tag>
+\end_layout
- to the same value.
- The following special constructs can be used in the string:
+\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_deeper
-\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-thecounter
+HTMLAttr
\end_layout
\end_inset
- will be replaced by the expansion of the
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelString
+string
\end_layout
\end_inset
- (or
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LabelStringAppendix
-\end_layout
-
+] Specifies attribute information to be output with the main tag.
+ For example,
+\begin_inset Quotes eld
\end_inset
-) of the counter
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-counter
+class=`myfloat' onclick=`\SpecialChar \ldots{}
+'
\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
+\begin_inset Quotes erd
+\end_inset
+.
+ By default, LyX will output
+\begin_inset Quotes eld
\end_inset
-, where
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-numbertype
+class=`float float-floattype'
\end_layout
\end_inset
- can be:
-\begin_inset Foot
+
+\begin_inset Quotes erd
+\end_inset
+
+, where
+\begin_inset Flex 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.
+floattype
\end_layout
\end_inset
-
-\begin_inset Flex CharStyle:Code
+ is LyX's name for this type of float, as determined by the float declaration
+ (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 Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-arabic
+HTMLStyle
\end_layout
\end_inset
-: 1, 2, 3,\SpecialChar \ldots{}
-;
-\begin_inset Flex CharStyle:Code
+ 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 Code
status collapsed
\begin_layout Plain Layout
-alph
+<style>
\end_layout
\end_inset
- for lower-case letters: a, b, c, \SpecialChar \ldots{}
-;
-\begin_inset Flex CharStyle:Code
+ block, so only the CSS itself need be included.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Alph
+HTMLTag
\end_layout
\end_inset
- for upper-case letters: A, B, C, \SpecialChar \ldots{}
-;
-\begin_inset Flex CharStyle:Code
+ [
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-roman
+string
\end_layout
\end_inset
- for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
-;
-\begin_inset Flex CharStyle:Code
+] The tag to be used for this float, replacing
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Roman
+tag
\end_layout
\end_inset
- for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
-;
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Quotes erd
+\end_inset
+
+ in the example above.
+ The default is
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-hebrew
+div
\end_layout
\end_inset
- for hebrew numerals.
+ and will rarely need changing.
+\end_layout
+
+\begin_layout Subsection
+Bibliography formatting
\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
+The bibliography can be formatted using
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-master
+CiteFormat
\end_layout
\end_inset
- (defined via
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Within
-\end_layout
+ blocks.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Citation-format-description"
\end_inset
-), the string
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
+ for the details.
+\end_layout
-\backslash
-themaster.
-\backslash
-arabic{counter}
+\begin_layout Subsection
+LyX-generated CSS
\end_layout
-\end_inset
+\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
- is used; otherwise the string
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+At present, LyX auto-generates CSS only for font information, making use
+ of the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-arabic{counter}
+Family
\end_layout
\end_inset
- is used.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelStringAppendix [string=""]
+Series
\end_layout
\end_inset
- Same as
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LabelString
+Shape
\end_layout
\end_inset
-.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+, and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Name
+Size
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+ specified in the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string
+Font
\end_layout
\end_inset
-=
-\begin_inset Quotes erd
-\end_inset
+ declaration (see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Font-description"
+\end_inset
-\begin_inset Quotes erd
+).
+ The translation is mostly straightforward and obvious.
+ For example,
+\begin_inset Quotes eld
\end_inset
-] The name of the counter.
-\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Within
+Family Sans
\end_layout
\end_inset
- [
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Quotes erd
+\end_inset
+
+ becomes
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-string
+font-family: sans-serif;
\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 everytime the other one is increased.
- For example,
-\begin_inset Flex CharStyle:Code
+.
+ The correspondence of LyX sizes and CSS sizes is a little less obvious
+ but nonetheless intuitive.
+ See the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-subsection
+getSizeCSS()
\end_layout
\end_inset
- is numbered inside
-\begin_inset Flex CharStyle:Code
+ function in
+\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
-section
+
+src/FontInfo.cpp
\end_layout
\end_inset
-.
-\end_layout
-
-\begin_layout Subsection
-Font description
+ for the details.
\end_layout
-\begin_layout Standard
+\begin_layout Chapter
+Including External Material
\begin_inset CommandInset label
LatexCommand label
-name "sec:fonts"
+name "chap:Including-External-Material"
\end_inset
-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
- ...
+\begin_layout Standard
+\begin_inset Box Shadowbox
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 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
-\begin_layout LyX-Code
-EndFont
+\end_inset
+
+
\end_layout
\begin_layout Standard
-The following commands are available:
+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 Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Color
+\begin_layout Section
+How does it work?
\end_layout
-\end_inset
-
- [
-\begin_inset Flex CharStyle:Code
+\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 MenuItem
status collapsed
\begin_layout Plain Layout
-
-\emph on
-none
+Insert\SpecialChar \menuseparator
+File\SpecialChar \menuseparator
+External Material
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+.
+ 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 Code
status collapsed
\begin_layout Plain Layout
-black
+Xfig
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+.
+ The Xfig application itself works on an original file with the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-white
+.fig
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ extension.
+ Within Xfig, you create and change your figure, and when you are done,
+ you save the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-red
+fig
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+-file.
+ When you want to include the figure in your document, you invoke
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-green
+transfig
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ in order to create a PostScript file that can readily be included in your
+ LaTeX file.
+ In this case, the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-blue
+.fig
\end_layout
\end_inset
-,
-\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
-cyan
+\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 would 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
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Security-discussion"
+
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+.
+\end_layout
+
+\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 Code
status collapsed
\begin_layout Plain Layout
-magenta
+LyXDir/lib/external_templates
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ file.
+ You can place your own version in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-yellow
+UserDir/external_templates
\end_layout
\end_inset
-]
+.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Family
+\begin_layout Standard
+A typical template looks like this:
\end_layout
-\end_inset
+\begin_layout LyX-Code
+Template XFig
+\end_layout
- [
-\emph on
+\begin_layout LyX-Code
+GuiName "XFig: $$AbsOrRelPathParent$$Basename"
+\end_layout
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+HelpText
+\end_layout
-\begin_layout Plain Layout
+\begin_layout LyX-Code
+An XFig figure.
+\end_layout
-\emph on
-Roman
+\begin_layout LyX-Code
+HelpTextEnd
\end_layout
-\end_inset
+\begin_layout LyX-Code
+InputFormat fig
+\end_layout
+\begin_layout LyX-Code
+FileFilter "*.fig"
+\end_layout
-\emph default
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+AutomaticProduction true
+\end_layout
-\begin_layout Plain Layout
-Sans
+\begin_layout LyX-Code
+Transform Rotate
\end_layout
-\end_inset
+\begin_layout LyX-Code
+Transform Resize
+\end_layout
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+Format LaTeX
+\end_layout
-\begin_layout Plain Layout
-Typewriter
+\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_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+
+\backslash
-\begin_layout Plain Layout
-Misc
+\backslash
+input{$$AbsOrRelPathMaster$$Basename.pstex_t}
\end_layout
-\end_inset
+\begin_layout LyX-Code
+ $$ResizeBack$$RotateBack"
+\end_layout
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+UpdateFormat pstex
+\end_layout
-\begin_layout Plain Layout
-string
+\begin_layout LyX-Code
+UpdateResult "$$AbsPath$$Basename.pstex_t"
\end_layout
-\end_inset
+\begin_layout LyX-Code
+Requirement "graphicx"
+\end_layout
-] Valid argument sare:
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
+\end_layout
-\begin_layout Plain Layout
-emph
+\begin_layout LyX-Code
+ReferencedFile latex "$$AbsPath$$Basename.eps"
\end_layout
-\end_inset
+\begin_layout LyX-Code
+ReferencedFile dvi "$$AbsPath$$Basename.eps"
+\end_layout
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+FormatEnd
+\end_layout
-\begin_layout Plain Layout
-noun
+\begin_layout LyX-Code
+Format PDFLaTeX
\end_layout
-\end_inset
+\begin_layout LyX-Code
+TransformCommand Rotate RotationLatexCommand
+\end_layout
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+TransformCommand Resize ResizeLatexCommand
+\end_layout
-\begin_layout Plain Layout
-underbar
+\begin_layout LyX-Code
+Product "$$RotateFront$$ResizeFront
\end_layout
-\end_inset
+\begin_layout LyX-Code
+
+\backslash
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
+\backslash
+input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
+\end_layout
-\begin_layout Plain Layout
-no_emph
+\begin_layout LyX-Code
+ $$ResizeBack$$RotateBack"
\end_layout
-\end_inset
+\begin_layout LyX-Code
+UpdateFormat pdftex
+\end_layout
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+UpdateResult "$$AbsPath$$Basename.pdftex_t"
+\end_layout
-\begin_layout Plain Layout
-no_noun
+\begin_layout LyX-Code
+Requirement "graphicx"
\end_layout
-\end_inset
+\begin_layout LyX-Code
+ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
+\end_layout
- and
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+ReferencedFile latex "$$AbsPath$$Basename.pdf"
+\end_layout
-\begin_layout Plain Layout
-no_bar
+\begin_layout LyX-Code
+FormatEnd
\end_layout
-\end_inset
+\begin_layout LyX-Code
+Format Ascii
+\end_layout
-.
- Each of these turns on or off the corresponding attribute.
+\begin_layout LyX-Code
+Product "$$Contents(
+\backslash
+"$$AbsPath$$Basename.asc
+\backslash
+")"
+\end_layout
+
+\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
-Series
+\begin_layout LyX-Code
+FormatEnd
\end_layout
-\end_inset
+\begin_layout LyX-Code
+Format DocBook
+\end_layout
- [
-\emph on
+\begin_layout LyX-Code
+Product "<graphic fileref=
+\backslash
+"$$AbsOrRelPathMaster$$Basename.eps
+\backslash
+">
+\end_layout
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+ </graphic>"
+\end_layout
-\begin_layout Plain Layout
+\begin_layout LyX-Code
+UpdateFormat eps
+\end_layout
-\emph on
-Medium
+\begin_layout LyX-Code
+UpdateResult "$$AbsPath$$Basename.eps"
\end_layout
-\end_inset
+\begin_layout LyX-Code
+ReferencedFile docbook "$$AbsPath$$Basename.eps"
+\end_layout
+\begin_layout LyX-Code
+ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
+\end_layout
-\emph default
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout LyX-Code
+FormatEnd
+\end_layout
-\begin_layout Plain Layout
-Bold
+\begin_layout LyX-Code
+Product "[XFig: $$FName]"
\end_layout
-\end_inset
+\begin_layout LyX-Code
+FormatEnd
+\end_layout
-]
+\begin_layout LyX-Code
+TemplateEnd
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+As you can see, the template is enclosed in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Shape
+Template
\end_layout
\end_inset
- [
-\emph on
-
-\begin_inset Flex CharStyle:Code
+ \SpecialChar \ldots{}
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-Up
+TemplateEnd
\end_layout
\end_inset
-
-\emph default
-,
-\begin_inset Flex CharStyle:Code
+.
+ It contains a header specifying some general settings and, for each supported
+ primary document file format, a section
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Italic
+Format
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ \SpecialChar \ldots{}
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-SmallCaps
+FormatEnd
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-Slanted
+.
\end_layout
-\end_inset
-
-]
+\begin_layout Subsection
+The template header
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Size
-\end_layout
-
+AutomaticProduction
+\begin_inset space ~
\end_inset
- [
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-tiny
+true|false
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-small
+ Whether the file represented by the template must be generated by LyX.
+ This command must occur exactly once.
\end_layout
-\end_inset
-
-,
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\emph on
-normal
-\end_layout
-
+FileFilter
+\begin_inset space ~
\end_inset
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-large
+<pattern>
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-larger
-\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
+g.
+\begin_inset space \space{}
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+tgif has
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-largest
+.obj
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-huge
+.tgo
\end_layout
\end_inset
-,
-\begin_inset Flex CharStyle:Code
+), use something like
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-giant
+"*.{obj,tgo}"
\end_layout
\end_inset
-]
-\end_layout
-
-\begin_layout Subsection
-Upgrading old layout files
+.
+ This command must occur exactly once.
\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_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LyXDir/scripts/layout2layout.py
-\end_layout
-
+GuiName
+\begin_inset space ~
\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:
+<guiname>
\end_layout
-\begin_layout LyX-Code
-python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
+\end_inset
+
+ The text that is displayed on the button.
+ This command must occur exactly once.
\end_layout
-\begin_layout Standard
-(You need to replace
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$LyXDir
-\end_layout
-
+HelpText
+\begin_inset space ~
\end_inset
- with the name of your LyX system directory, unless you happen to have defined
- such an environment variable.) Then copy
-\begin_inset Flex CharStyle:Code
-status collapsed
+<text>
+\begin_inset space ~
+\end_inset
-\begin_layout Plain Layout
-myclassnew.layout
+HelpTextEnd
\end_layout
\end_inset
- to
-\begin_inset Flex CharStyle:Code
+ 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
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UserDir/layouts/
-\end_layout
-
+InputFormat
+\begin_inset space ~
\end_inset
-.
+<format>
\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
+\end_inset
-\begin_layout Section
-Creating Templates
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:templates"
+ The file format of the original file.
+ This must be the name of a format that is known to LyX (see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Formats"
\end_inset
+).
+ Use
+\begin_inset Quotes eld
+\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_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-fontscheme
+*
\end_layout
\end_inset
- or
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
+\begin_inset Quotes erd
+\end_inset
-\backslash
-papersize
+ 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
-\end_inset
-
- from the template LyX file.
- This can be done with any simple text-editor, for example
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-vi
-\end_layout
-
+Template
+\begin_inset space ~
\end_inset
- or
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-xedit
+<id>
\end_layout
\end_inset
-.
-
+ A unique name for the template.
+ It must not contain substitution macros (see below).
\end_layout
-
-\begin_layout Standard
-Put the edited template files you create in
-\begin_inset Flex CharStyle:Code
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UserDir/templates/
+Transform
+\begin_inset space ~
+\end_inset
+
+Rotate|Resize|Clip|Extra
\end_layout
\end_inset
-, copy the ones you use from the global template directory in
-\begin_inset Flex CharStyle:Code
+ 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 Code
status collapsed
\begin_layout Plain Layout
-LyXDir/templates/
+Transform
\end_layout
\end_inset
- to the same place, and redefine the template path in the
-\begin_inset Flex CharStyle:MenuItem
+ command must have either a corresponding
+\begin_inset Flex 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
+TransformCommand
\end_layout
\end_inset
- dialog.
-\end_layout
-
-\begin_layout Standard
-Note that there is a template which has a particular meaning:
-\begin_inset Flex CharStyle:Code
+ or a
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-defaults.lyx
+TransformOption
\end_layout
\end_inset
-.
- This template is loaded everytime you create a new document with
-\begin_inset Flex CharStyle:MenuItem
+ command in the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-F
-\bar default
-ile
+Format
\end_layout
\end_inset
-\SpecialChar \menuseparator
+ section.
+ Otherwise the transformation will not be supported by that format.
+\end_layout
+
+\begin_layout Subsection
+The Format section
+\end_layout
-\begin_inset Flex CharStyle:MenuItem
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+Format
+\begin_inset space ~
+\end_inset
-\bar under
-N
-\bar default
-ew
+LaTeX|PDFLaTeX|PlainText|DocBook
\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
+ 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 Code
status collapsed
\begin_layout Plain Layout
-Sa
-\bar under
-v
-\bar default
-e as Document Defaults
+Format
\end_layout
\end_inset
- button.
+ section for all templates.
+ 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 Chapter
-Including External Material
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\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 Plain Layout
+Option
+\begin_inset space ~
+\end_inset
-\begin_layout Section
-How does it work?
+<name>
+\begin_inset space ~
+\end_inset
+
+<value>
\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
+\end_inset
+
+ This command defines an additional macro
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Insert\SpecialChar \menuseparator
-File\SpecialChar \menuseparator
-External Material
+$$<name>
\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_inset Flex CharStyle:Code
+ for substitution in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Xfig
+Product
\end_layout
\end_inset
.
- The Xfig application itself works on an original file with the
-\begin_inset Flex CharStyle:Code
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.fig
+<value>
\end_layout
\end_inset
- extension.
- Within XFig, you create and change your figure, and when you are done,
- you save the
-\begin_inset Flex CharStyle:Code
+ itself may contain substitution macros.
+ The advantage over using
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-fig
+<value>
\end_layout
\end_inset
--file.
- When you want to include the figure in your document, you invoke
-\begin_inset Flex CharStyle:Code
+ directly in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-transfig
+Product
\end_layout
\end_inset
- 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
+ is that the substituted value of
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.fig
+$$<name>
\end_layout
\end_inset
- file is the original file, and the PostScript file is the produced file.
+ 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 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.
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\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 Plain Layout
+Product
+\begin_inset space ~
+\end_inset
-\begin_layout Section
-The external template configuration file
+<text>
\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
-.
-\end_layout
-
-\begin_layout Standard
-Having said that, we encourage you to submit any interesting templates that
- you create.
-
+ 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 Standard
-The external templates are defined in the
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LyXDir/lib/external_templates
+Preamble
+\begin_inset space ~
+\end_inset
+
+<name>
\end_layout
\end_inset
- file.
- You can place your own version in
-\begin_inset Flex CharStyle:Code
+ This command specifies a preamble snippet that will be included in the
+ LaTeX preamble.
+ It has to be defined using
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UserDir/external_templates
+PreambleDef
\end_layout
\end_inset
-.
-\end_layout
-
-\begin_layout Standard
-A typical template looks like this:
-\end_layout
-
-\begin_layout LyX-Code
-Template XFig
-\end_layout
-
-\begin_layout LyX-Code
-GuiName "XFig: $$AbsOrRelPathParent$$Basename"
-\end_layout
-
-\begin_layout LyX-Code
-HelpText
-\end_layout
-
-\begin_layout LyX-Code
-An XFig figure.
-\end_layout
-
-\begin_layout LyX-Code
-HelpTextEnd
-\end_layout
-
-\begin_layout LyX-Code
-InputFormat fig
-\end_layout
-
-\begin_layout LyX-Code
-FileFilter "*.fig"
-\end_layout
-
-\begin_layout LyX-Code
-AutomaticProduction true
-\end_layout
+ \SpecialChar \ldots{}
+
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-Transform Rotate
+\begin_layout Plain Layout
+PreambleDefEnd
\end_layout
-\begin_layout LyX-Code
-Transform Resize
-\end_layout
+\end_inset
-\begin_layout LyX-Code
-Format LaTeX
+.
+ This command may occur zero or more times.
\end_layout
-\begin_layout LyX-Code
-TransformCommand Rotate RotationLatexCommand
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-TransformCommand Resize ResizeLatexCommand
-\end_layout
+\begin_layout Plain Layout
+ReferencedFile
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-Product "$$RotateFront$$ResizeFront
+<format>
+\begin_inset space ~
+\end_inset
+
+<filename>
\end_layout
-\begin_layout LyX-Code
-
-\backslash
+\end_inset
-\backslash
-input{$$AbsOrRelPathMaster$$Basename.pstex_t}
+ 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
-\begin_layout LyX-Code
- $$ResizeBack$$RotateBack"
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-UpdateFormat pstex
-\end_layout
+\begin_layout Plain Layout
+Requirement
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-UpdateResult "$$AbsPath$$Basename.pstex_t"
+<package>
\end_layout
-\begin_layout LyX-Code
-Requirement "graphicx"
-\end_layout
+\end_inset
-\begin_layout LyX-Code
-ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
-\end_layout
+ The name of a required LaTeX package.
+ The package is included via
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-ReferencedFile latex "$$AbsPath$$Basename.eps"
-\end_layout
+\begin_layout Plain Layout
-\begin_layout LyX-Code
-ReferencedFile dvi "$$AbsPath$$Basename.eps"
+\backslash
+usepackage{}
\end_layout
-\begin_layout LyX-Code
-FormatEnd
-\end_layout
+\end_inset
-\begin_layout LyX-Code
-Format PDFLaTeX
+ in the LaTeX preamble.
+ This command may occur zero or more times.
\end_layout
-\begin_layout LyX-Code
-TransformCommand Rotate RotationLatexCommand
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-TransformCommand Resize ResizeLatexCommand
-\end_layout
+\begin_layout Plain Layout
+TransformCommand
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-Product "$$RotateFront$$ResizeFront
+Rotate
+\begin_inset space ~
+\end_inset
+
+RotationLatexCommand
\end_layout
-\begin_layout LyX-Code
-
-\backslash
+\end_inset
-\backslash
-input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
+ 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 LyX-Code
- $$ResizeBack$$RotateBack"
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-UpdateFormat pdftex
-\end_layout
+\begin_layout Plain Layout
+TransformCommand
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-UpdateResult "$$AbsPath$$Basename.pdftex_t"
-\end_layout
+Resize
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-Requirement "graphicx"
+ResizeLatexCommand
\end_layout
-\begin_layout LyX-Code
-ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
-\end_layout
+\end_inset
-\begin_layout LyX-Code
-ReferencedFile latex "$$AbsPath$$Basename.pdf"
+ 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 LyX-Code
-FormatEnd
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-Format Ascii
-\end_layout
+\begin_layout Plain Layout
+TransformOption
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-Product "$$Contents(
-\backslash
-"$$AbsPath$$Basename.asc
-\backslash
-")"
-\end_layout
+Rotate
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-UpdateFormat asciixfig
+RotationLatexOption
\end_layout
-\begin_layout LyX-Code
-UpdateResult "$$AbsPath$$Basename.asc"
-\end_layout
+\end_inset
-\begin_layout LyX-Code
-FormatEnd
+ This command specifies that rotation is done via an optional argument.
+ This command may occur once or not at all.
\end_layout
-\begin_layout LyX-Code
-Format DocBook
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-Product "<graphic fileref=
-\backslash
-"$$AbsOrRelPathMaster$$Basename.eps
-\backslash
-">
-\end_layout
+\begin_layout Plain Layout
+TransformOption
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
- </graphic>"
-\end_layout
+Resize
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-UpdateFormat eps
+ResizeLatexOption
\end_layout
-\begin_layout LyX-Code
-UpdateResult "$$AbsPath$$Basename.eps"
-\end_layout
+\end_inset
-\begin_layout LyX-Code
-ReferencedFile docbook "$$AbsPath$$Basename.eps"
+ This command specifies that resizing is done via an optional argument.
+ This command may occur once or not at all.
\end_layout
-\begin_layout LyX-Code
-ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
-\end_layout
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
-FormatEnd
-\end_layout
+\begin_layout Plain Layout
+TransformOption
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-Product "[XFig: $$FName]"
-\end_layout
+Clip
+\begin_inset space ~
+\end_inset
-\begin_layout LyX-Code
-FormatEnd
+ClipLatexOption
\end_layout
-\begin_layout LyX-Code
-TemplateEnd
+\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 Standard
-As you can see, the template is enclosed in
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Template
+TransformOption
+\begin_inset space ~
+\end_inset
+
+Extra
+\begin_inset space ~
+\end_inset
+
+ExtraLatexOption
\end_layout
\end_inset
- \SpecialChar \ldots{}
-
-\begin_inset Flex CharStyle:Code
+ This command specifies that an extra optional argument is used.
+ This command may occur once or not at all.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
-\begin_layout Plain Layout
-TemplateEnd
+\begin_layout Plain Layout
+UpdateFormat
+\begin_inset space ~
+\end_inset
+
+<format>
\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
+ 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 MenuItem
status collapsed
\begin_layout Plain Layout
-Format
+Tools\SpecialChar \menuseparator
+Preferences\SpecialChar \menuseparator
+File Handling\SpecialChar \menuseparator
+File Format
\end_layout
\end_inset
- \SpecialChar \ldots{}
-
-\begin_inset Flex CharStyle:Code
+ dialog).
+ This command must occur exactly once.
+ If the resulting file format is PDF, you need to specify the format
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-FormatEnd
+pdf6
\end_layout
\end_inset
.
-\end_layout
-
-\begin_layout Subsection
-The template header
+ This is the PDF format used for including graphics.
+ The other defined PDF formats are for document export.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-AutomaticProduction
+UpdateResult
\begin_inset space ~
\end_inset
-true|false
+<filename>
\end_layout
\end_inset
- Whether the file represented by the template must be generated by LyX.
+ The file name of the converted file.
+ The file name must be absolute.
This command must occur exactly once.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Subsection
+Preamble definitions
+\end_layout
+
+\begin_layout Standard
+The external template configuration file may contain additional preamble
+ definitions enclosed by
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-FileFilter
-\begin_inset space ~
-\end_inset
-
-<pattern>
+PreambleDef
\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
-\begin_inset Flex CharStyle:Code
+ \SpecialChar \ldots{}
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.obj
+PreambleDefEnd
\end_layout
\end_inset
- and
-\begin_inset Flex CharStyle:Code
+.
+ They can be used by the templates in the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-.tgo
+Format
\end_layout
\end_inset
-), use something like
-\begin_inset Flex CharStyle:Code
-status collapsed
+ section.
+\end_layout
-\begin_layout Plain Layout
-"*.{obj,tgo}"
+\begin_layout Section
+The substitution mechanism
\end_layout
-\end_inset
+\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
-.
- This command must occur exactly once.
+\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
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-GuiName
-\begin_inset space ~
-\end_inset
-
-<guiname>
+$$AbsOrRelPathMaster
\end_layout
\end_inset
- The text that is displayed on the button.
- This command must occur exactly once.
+ The file path, absolute or relative to the master LyX document.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-HelpText
-\begin_inset space ~
-\end_inset
-
-<text>
-\begin_inset space ~
-\end_inset
-
-HelpTextEnd
+$$AbsOrRelPathParent
\end_layout
\end_inset
- 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.
+ The file path, absolute or relative to the LyX document.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-InputFormat
-\begin_inset space ~
-\end_inset
-
-<format>
+$$AbsPath
\end_layout
\end_inset
- 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"
+ The absolute file path.
+\end_layout
-\end_inset
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+$$Basename
+\end_layout
-).
- Use
-\begin_inset Quotes eld
\end_inset
+ The filename without path and without the extension.
+\end_layout
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-*
-\end_layout
-
+$$Contents(
+\begin_inset Quotes eld
\end_inset
-
+filename.ext
\begin_inset Quotes erd
\end_inset
- 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
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+ This macro will expand to the contents of the file with the name
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Template
-\begin_inset space ~
-\end_inset
-
-<id>
+filename.ext
\end_layout
\end_inset
- A unique name for the template.
- It must not contain substitution macros (see below).
+.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Transform
-\begin_inset space ~
-\end_inset
-
-Rotate|Resize|Clip|Extra
+$$Extension
\end_layout
\end_inset
- 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
+ The file extension (including the dot).
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Transform
+$$FName
\end_layout
\end_inset
- command must have either a corresponding
-\begin_inset Flex CharStyle:Code
+ 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 Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TransformCommand
+$$FPath
\end_layout
\end_inset
- or a
-\begin_inset Flex CharStyle:Code
+ The path part of
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TransformOption
+$$FName
\end_layout
\end_inset
- command in the
-\begin_inset Flex CharStyle:Code
+ (absolute name or relative to the LyX document).
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Format
+$$RelPathMaster
\end_layout
\end_inset
- section.
- Otherwise the transformation will not be supported by that format.
-\end_layout
-
-\begin_layout Subsection
-The Format section
+ The file path, relative to the master LyX document.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Format
-\begin_inset space ~
-\end_inset
-
-LaTeX|PDFLaTeX|PlainText|DocBook
+$$RelPathParent
\end_layout
\end_inset
- 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
+ The file path, relative to the LyX document.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Format
+$$Sysdir
\end_layout
\end_inset
- 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.
+ 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 Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Option
-\begin_inset space ~
-\end_inset
+$$Tempname
+\end_layout
-<name>
-\begin_inset space ~
\end_inset
-<value>
+ 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
+All path macros contain a trailing directory separator, so you can construct
+ e.
+\begin_inset space \thinspace{}
\end_inset
- This command defines an additional macro
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-$$<name>
-\end_layout
-
+g.
+\begin_inset space \space{}
\end_inset
- for substitution in
-\begin_inset Flex CharStyle:Code
+the absolute filename with
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Product
+$$AbsPath$$Basename$$Extension
\end_layout
\end_inset
.
-
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-<value>
\end_layout
-\end_inset
-
- itself may contain substitution macros.
- The advantage over using
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+The macros above are substituted in all commands unless otherwise noted.
+ The command
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-<value>
+Product
\end_layout
\end_inset
- directly in
-\begin_inset Flex CharStyle:Code
+ supports additionally the following substitutions if they are enabled by
+ the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Product
+Transform
\end_layout
\end_inset
- is that the substituted value of
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-$$<name>
+TransformCommand
\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.
+ commands:
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Product
-\begin_inset space ~
-\end_inset
-
-<text>
+$$ResizeFront
\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.
+ The front part of the resize command.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Preamble
-\begin_inset space ~
-\end_inset
-
-<name>
+$$ResizeBack
\end_layout
\end_inset
- 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
-PreambleDef
+ The back part of the resize command.
\end_layout
-\end_inset
-
- \SpecialChar \ldots{}
-
-\begin_inset Flex CharStyle:Code
+\begin_layout Description
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-PreambleDefEnd
+$$RotateFront
\end_layout
\end_inset
-.
- This command may occur zero or more times.
+ The front part of the rotation command.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-ReferencedFile
-\begin_inset space ~
-\end_inset
-
-<format>
-\begin_inset space ~
-\end_inset
-
-<filename>
+$$RotateBack
\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 back part of the rotation command.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+The value string of the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Requirement
-\begin_inset space ~
+Option
+\end_layout
+
\end_inset
-<package>
+ command supports additionally the following substitutions if they are enabled
+ by the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Transform
\end_layout
\end_inset
- The name of a required LaTeX package.
- The package is included via
-\begin_inset Flex CharStyle:Code
+ and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-usepackage{}
+TransformOption
\end_layout
\end_inset
- in the LaTeX preamble.
- This command may occur zero or more times.
+ commands:
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TransformCommand
-\begin_inset space ~
-\end_inset
-
-Rotate
-\begin_inset space ~
-\end_inset
-
-RotationLatexCommand
+$$Clip
\end_layout
\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.
+ The clip option.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TransformCommand
-\begin_inset space ~
-\end_inset
-
-Resize
-\begin_inset space ~
-\end_inset
-
-ResizeLatexCommand
+$$Extra
\end_layout
\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.
+ The extra option.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TransformOption
-\begin_inset space ~
-\end_inset
-
-Rotate
-\begin_inset space ~
-\end_inset
-
-RotationLatexOption
+$$Resize
\end_layout
\end_inset
- This command specifies that rotation is done via an optional argument.
- This command may occur once or not at all.
+ The resize option.
\end_layout
\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TransformOption
-\begin_inset space ~
-\end_inset
+$$Rotate
+\end_layout
-Resize
-\begin_inset space ~
\end_inset
-ResizeLatexOption
+ The rotation option.
\end_layout
-\end_inset
+\begin_layout Standard
+You may ask why there are so many path macros.
+ There are mainly two reasons:
+\end_layout
- This command specifies that resizing is done via an optional argument.
- This command may occur once or not at all.
+\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 Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\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 Plain Layout
-TransformOption
-\begin_inset space ~
-\end_inset
+\begin_layout Standard
+So which path macro should be used in new template definitions? The rule
+ is not difficult:
+\end_layout
-Clip
-\begin_inset space ~
-\end_inset
+\begin_layout Itemize
+Use
+\begin_inset Flex Code
+status collapsed
-ClipLatexOption
+\begin_layout Plain Layout
+$$AbsPath
\end_layout
\end_inset
- This command specifies that clipping is done via an optional argument.
- This command may occur once or not at all.
+ if an absolute path is required.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Itemize
+Use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-TransformOption
-\begin_inset space ~
-\end_inset
-
-Extra
-\begin_inset space ~
-\end_inset
-
-ExtraLatexOption
+$$AbsOrRelPathMaster
\end_layout
\end_inset
- This command specifies that an extra optional argument is used.
- This command may occur once or not at all.
+ if the substituted string is some kind of LaTeX input.
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+\begin_layout Itemize
+Else use
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UpdateFormat
-\begin_inset space ~
+$$AbsOrRelPathParent
+\end_layout
+
\end_inset
-<format>
+ 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.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.
+\begin_inset space \space{}
\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
+relative names are needed, but normally it will work just fine.
+ One example for such a case is the command
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
-
-\bar under
-P
-\bar default
-references:Conversion
+ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
\end_layout
\end_inset
- dialog).
- This command must occur exactly once.
-\end_layout
-
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
+ in the XFig template above: We can't use the absolute name because the
+ copier for
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UpdateResult
-\begin_inset space ~
+.pstex_t
+\end_layout
+
\end_inset
-<filename>
+ files needs the relative name in order to rewrite the file content.
\end_layout
+\begin_layout Section
+Security discussion
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Security-discussion"
+
\end_inset
- 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
+\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
-The external template configuration file may contain additional preamble
- definitions enclosed by
-\begin_inset Flex CharStyle:Code
+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 Code
status collapsed
\begin_layout Plain Layout
-PreambleDef
+execvp
\end_layout
\end_inset
- \SpecialChar \ldots{}
-
-\begin_inset Flex CharStyle:Code
+-system call rather than the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-PreambleDefEnd
+system
\end_layout
\end_inset
-.
- They can be used by the templates in the
-\begin_inset Flex CharStyle:Code
+ 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
+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
+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 Code
status collapsed
\begin_layout Plain Layout
-Format
+execvp
\end_layout
\end_inset
- section.
-\end_layout
-
-\begin_layout Section
-The substitution mechanism
+ 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.
\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.
+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
-\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.
+\begin_layout Chapter
+\start_of_appendix
+List of supported LyX functions to be used in layouts
+\begin_inset CommandInset label
+LatexCommand label
+name "chap:List-of-functions"
+
+\end_inset
+
+
\end_layout
\begin_layout Standard
-The available macros are the following:
+\align center
+\begin_inset Tabular
+<lyxtabular version="3" rows="11" columns="8">
+<features tabularvalignment="middle">
+<column alignment="left" valignment="top">
+<column alignment="left" valignment="top">
+<column alignment="left" valignment="top">
+<column alignment="left" valignment="top">
+<column alignment="left" valignment="top">
+<column alignment="left" valignment="top">
+<column alignment="left" valignment="top">
+<column alignment="left" valignment="top">
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+accents
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$AbsOrRelPathMaster
+booktabs
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- The file path, absolute or relative to the master LyX document.
+\begin_layout Plain Layout
+feyn
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$AbsOrRelPathParent
+listings
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- The file path, absolute or relative to the LyX document.
+\begin_layout Plain Layout
+natbib
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$AbsPath
+rotfloat
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- The absolute file path.
+\begin_layout Plain Layout
+tfrupee
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$Basename
+wasysym
\end_layout
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- The filename without path and without the extension.
+\begin_layout Plain Layout
+amsbsy
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$Contents(
-\begin_inset Quotes eld
-\end_inset
+calc
+\end_layout
-filename.ext
-\begin_inset Quotes erd
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
-)
+\begin_layout Plain Layout
+fixltx2e
\end_layout
\end_inset
-
- This macro will expand to the contents of the file with the name
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-filename.ext
+longtable
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
-.
+\begin_layout Plain Layout
+nomencl
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$Extension
+rsphrase
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- The file extension (including the dot).
+\begin_layout Plain Layout
+tipa
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$FName
+wrapfig
\end_layout
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- 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.
+\begin_layout Plain Layout
+amscd
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$FPath
+CJK
\end_layout
\end_inset
-
- The path part of
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$FName
+float
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- (absolute name or relative to the LyX document).
+\begin_layout Plain Layout
+lyxskak
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$RelPathMaster
+pdfcolmk
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- The file path, relative to the master LyX document.
+\begin_layout Plain Layout
+setspace
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$RelPathParent
+tipx
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- The file path, relative to the LyX document.
+\begin_layout Plain Layout
+xargs
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$Sysdir
+amsmath
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- 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.
+\begin_layout Plain Layout
+color
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$Tempname
+framed
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- 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.
+\begin_layout Plain Layout
+makeidx
\end_layout
-\begin_layout Standard
-All path macros contain a trailing directory separator, so you can construct
- e.g.
- the absolute filename with
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$AbsPath$$Basename$$Extension
+pdfpages
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
-.
+\begin_layout Plain Layout
+shapepar
\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
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-Product
+tone
\end_layout
\end_inset
-
- supports additionally the following substitutions if they are enabled by
- the
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-Transform
+xcolor
\end_layout
\end_inset
-
- and
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+</row>
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-TransformCommand
+amssymb
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- commands:
+\begin_layout Plain Layout
+covington
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$ResizeFront
+graphicx
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- The front part of the resize command.
+\begin_layout Plain Layout
+marvosym
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$ResizeBack
+pifont
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- The back part of the resize command.
+\begin_layout Plain Layout
+slashed
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$RotateFront
+txfonts
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- The front part of the rotation command.
+\begin_layout Plain Layout
+xy
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$RotateBack
+amstext
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- The back part of the rotation command.
+\begin_layout Plain Layout
+csquotes
\end_layout
-\begin_layout Standard
-The value string of the
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-Option
+hhline
\end_layout
\end_inset
-
- command supports additionally the following substitutions if they are enabled
- by the
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-Transform
+mathdesign
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- and
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Plain Layout
+pmboxdraw
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-TransformOption
+soul
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- commands:
+\begin_layout Plain Layout
+ulem
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$Clip
+yhmath
\end_layout
\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- The clip option.
+\begin_layout Plain Layout
+amsthm
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$Extra
+dvipost
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- The extra option.
+\begin_layout Plain Layout
+hyperref
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$Resize
+mathdots
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- The resize option.
+\begin_layout Plain Layout
+polyglossia
\end_layout
-\begin_layout Description
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$Rotate
+splitidx
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- The rotation option.
+\begin_layout Plain Layout
+undertilde
\end_layout
-\begin_layout Standard
-You may ask why there are so many path macros.
- There are mainly two reasons:
-\end_layout
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
-\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 Plain 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:
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+array
\end_layout
-\begin_layout Itemize
-Use
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$AbsPath
+endnotes
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- if an absolute path is required.
+\begin_layout Plain Layout
+ifsym
\end_layout
-\begin_layout Itemize
-Use
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$AbsOrRelPathMaster
+mathrsfs
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- if the substituted string is some kind of LaTeX input.
+\begin_layout Plain Layout
+prettyref
\end_layout
-\begin_layout Itemize
-Else use
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-$$AbsOrRelPathParent
+subfig
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- in order to preserve the user's choice.
+\begin_layout Plain Layout
+units
\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
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
+
\end_layout
\end_inset
-
- in the XFig template above: We can't use the absolute name because the
- copier for
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+</row>
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-.pstex_t
+ascii
\end_layout
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
- files needs the relative name in order to rewrite the file content.
+\begin_layout Plain Layout
+enumitem
\end_layout
-\begin_layout Section
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Security-discussion"
-
\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
-Security discussion
+\begin_layout Plain Layout
+ifthen
\end_layout
-\begin_layout Standard
-\begin_inset Note Note
-status collapsed
+\end_inset
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-This section is outdated
+mhchem
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
-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.
+\begin_layout Plain Layout
+pxfonts
\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_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-execvp
+subscript
\end_layout
\end_inset
-
--system call rather than the
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-system
+url
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
- 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
-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_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-lib/scripts
+bbding
\end_layout
\end_inset
-
- directory of the LyX installation, you can find a safe wrapper script
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-general_command_wrapper.py
+esint
\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_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-fork
+jurabib
\end_layout
\end_inset
-
- and friends, take a look at the
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="left" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-pic2ascii.py
+multicol
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- converter script.
+\begin_layout Plain Layout
+refstyle
\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_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-execvp
+textcomp
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
- 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.
+\begin_layout Plain Layout
+varioref
\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
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
-\begin_layout Chapter
-The LyX Server
-\end_layout
+\begin_layout Plain Layout
-\begin_layout Section
-Introduction
\end_layout
-\begin_layout Standard
-The LyX server is a method implemented in LyX that will enable 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.
- Please note that, at present,
-\emph on
-the server does not work on Windows
-\emph default
-.
-\begin_inset Foot
-status collapsed
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-There is no principled reason it cannot do so.
- But none of the developers on Windows® have yet implemented this functionality
- there.
+bm
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
-
+\begin_layout Plain Layout
+fancybox
\end_layout
-\begin_layout Section
-Starting the LyX Server
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+latexsym
\end_layout
-\begin_layout Standard
-The LyX server works through the use of a pair of named pipes.
- These are usually located in
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-UserDir
+multirow
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+rotating
+\end_layout
- and have the names
-\begin_inset Quotes eld
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
+textgreek
+\end_layout
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
\begin_layout Plain Layout
-.lyxpipe.in
+verbatim
\end_layout
\end_inset
+</cell>
+<cell alignment="center" valignment="top" usebox="none">
+\begin_inset Text
+\begin_layout Plain Layout
-\begin_inset Quotes erd
-\end_inset
+\end_layout
- and
-\begin_inset Quotes eld
\end_inset
+</cell>
+</row>
+</lyxtabular>
+\end_inset
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-.lyxpipe.out
\end_layout
-\end_inset
-
+\begin_layout Chapter
+Names of available colors to be used in layouts
+\begin_inset CommandInset label
+LatexCommand label
+name "chap:Names-of-colors"
-\begin_inset Quotes erd
\end_inset
-.
- External programs write into
-\begin_inset Flex CharStyle:Code
-status collapsed
-\begin_layout Plain Layout
-.lyxpipe.in
\end_layout
-\end_inset
+\begin_layout Standard
+The colors listed here are the standard colors and the those that you can
+ adjust in the LyX preferences.
+\end_layout
- and read back data from
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Description
+none
+\family roman
+\series medium
+\shape up
+\size normal
+\emph off
+\bar no
+\strikeout off
+\uuline off
+\uwave off
+\noun off
+\color none
+ No particular color -- clear or default
+\end_layout
-\begin_layout Plain Layout
-.lyxpipe.out
+\begin_layout Description
+black
\end_layout
-\end_inset
+\begin_layout Description
+white
+\end_layout
-.
- The stem of the pipe names can be defined in the
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
+\begin_layout Description
+red
+\end_layout
-\begin_layout Plain Layout
+\begin_layout Description
+green
+\end_layout
-\bar under
-T
-\bar default
-ools\SpecialChar \menuseparator
+\begin_layout Description
+blue
+\end_layout
-\bar under
-P
-\bar default
-references
+\begin_layout Description
+cyan
\end_layout
-\end_inset
-
- dialog, for example
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Description
+magenta
+\end_layout
-\begin_layout Plain Layout
-"/home/myhome/.lyxpipe"
+\begin_layout Description
+yellow
\end_layout
-\end_inset
+\begin_layout Description
+added_space Added space marker color
+\end_layout
-.
+\begin_layout Description
+addedtext Added text color
\end_layout
-\begin_layout Standard
-LyX will add the '
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Description
+appendix Appendix marker color
+\end_layout
-\begin_layout Plain Layout
-.in
+\begin_layout Description
+background Background color
\end_layout
-\end_inset
+\begin_layout Description
+bottomarea Bottom area color
+\end_layout
-' and '
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Description
+branchlabel Label color for branches
+\end_layout
-\begin_layout Plain Layout
-.out
+\begin_layout Description
+buttonbg Color used for bottom background
\end_layout
-\end_inset
+\begin_layout Description
+buttonhoverbg Color used for button background under focus
+\end_layout
-' to create the pipes.
- The above setting also has the effect of activating the LyX server.
- If one of the pipes already exists, LyX will assume that another LyX process
- is already running and will not start the server.
- To have several LyX processes with servers at the same time, you have to
- change the configuration between the start of the programs.
+\begin_layout Description
+buttonframe Color for inset button frames
\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 lyx -dbg lyxserver.
+\begin_layout Description
+changebar Changebar color
\end_layout
-\begin_layout Standard
-Warning: if LyX crashes, it may not manage to remove the pipes; in this
- case you must remove them manually.
- If LyX starts and the pipes exist already, it will not start any server.
+\begin_layout Description
+changedtextauthor1 Changed text color author 1
\end_layout
-\begin_layout Standard
-Other than this, there are a few points to consider:
+\begin_layout Description
+changedtextauthor2 Changed text color author 2
\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 Description
+changedtextauthor3 Changed text color author 3
\end_layout
-\begin_layout Itemize
-On OS/2, only one client can connect to LyXServer at a time.
+\begin_layout Description
+changedtextauthor4 Changed text color author 4
\end_layout
-\begin_layout Itemize
-On OS/2, clients must open inpipe with
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Description
+changedtextauthor5 Changed text color author 5
+\end_layout
-\begin_layout Plain Layout
-O_WRONLY
+\begin_layout Description
+collapsable_inset_frame Collapsable insets framecolor
\end_layout
-\end_inset
+\begin_layout Description
+collapsable_inset_text Collapsable insets text color
+\end_layout
+\begin_layout Description
+command Text color for command insets
+\end_layout
+\begin_layout Description
+commandbg Background color for command insets
\end_layout
-\begin_layout Standard
-mode.
+\begin_layout Description
+commandframe Frame color for command insets
\end_layout
-\begin_layout Standard
-You can find a complete example client written in C in the source distribution
- as
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Description
+comment color for comments
+\end_layout
-\begin_layout Plain Layout
-development/lyxserver/server_monitor.c
+\begin_layout Description
+commentbg Background color of comments
\end_layout
-\end_inset
+\begin_layout Description
+cursor Cursor color
+\end_layout
-.
+\begin_layout Description
+deletedtext Deleted text color
\end_layout
-\begin_layout Section
-Normal communication
+\begin_layout Description
+deletedtextmodifier Deleted text modifying color
\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:
+\begin_layout Description
+depthbar Color for the depth bars in the margin
\end_layout
-\begin_layout Quote
-LYXCMD:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-argument
+\begin_layout Description
+eolmarker End of line marker color
\end_layout
\begin_layout Description
+error Color of the LaTeX error box
+\end_layout
-\emph on
-clientname
-\emph default
- 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.
+\begin_layout Description
+footlabel Label color for footnotes
\end_layout
\begin_layout Description
+graphicsbg Graphics inset background color
+\end_layout
-\emph on
-function
-\emph default
- is the function you want LyX to perform.
- It is the same as the commands you'd use in the minibuffer.
+\begin_layout Description
+greyedout Label color for greyedout insets
\end_layout
\begin_layout Description
+greyedoutbg Background color of greyedout inset
+\end_layout
-\emph on
-argument
-\emph default
- is an optional argument which is meaningful only to some functions (for
- instance
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Description
+greyedouttext Color for greyedout inset text
+\end_layout
-self-insert
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Description
+indexlabel Label color for index insets
+\end_layout
- which will insert the argument as text at the cursor position.)
+\begin_layout Description
+ignore The color is ignored
\end_layout
-\begin_layout Standard
-The answer from LyX will arrive in the output pipe and be of the form
+\begin_layout Description
+inherit The color is inherited
\end_layout
-\begin_layout Quote
-INFO:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-data
+\begin_layout Description
+inlinecompletion Inline completion color
\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 will return information about the internal state of LyX,
- such as
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Description
+insetbg Inset marker background color
+\end_layout
-font-state
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Description
+insetframe Inset marker frame color
+\end_layout
-, while other will return an empty data-response.
- This means that the command execution went fine.
+\begin_layout Description
+language Color for marking foreign language words
\end_layout
-\begin_layout Standard
-In case of errors, the response from LyX will have this form
+\begin_layout Description
+latex Text color in LaTeX mode
\end_layout
-\begin_layout Quote
-ERROR:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-error message
+\begin_layout Description
+listingsbg Background color of listings inset
\end_layout
-\begin_layout Standard
-where the
-\emph on
-error message
-\emph default
- should contain an explanation of why the command failed.
+\begin_layout Description
+marginlabel Label color for margin notes
\end_layout
-\begin_layout Standard
-Examples:
+\begin_layout Description
+math Math inset text color
\end_layout
-\begin_layout LyX-Code
-echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
+\begin_layout Description
+mathbg Math inset background color
\end_layout
-\begin_layout LyX-Code
-echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
-\begin_inset Newline newline
-\end_inset
+\begin_layout Description
+mathcorners Math inset frame color not under focus
+\end_layout
-read a <~/.lyxpipe.out
-\begin_inset Newline newline
-\end_inset
+\begin_layout Description
+mathframe Math inset frame color under focus
+\end_layout
-echo $a
+\begin_layout Description
+mathline Math line color
\end_layout
-\begin_layout Section
-Notification
+\begin_layout Description
+mathmacrobg Macro math inset background color
\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
+\begin_layout Description
+mathmacroblend Macro math blended color
+\end_layout
-notify
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Description
+mathmacroframe Macro math frame color
+\end_layout
-.
- The format of the string LyX sends is as follows:
+\begin_layout Description
+mathmacrohoverbg Macro math inset background color hovered
\end_layout
-\begin_layout Quote
-\begin_inset Flex CharStyle:Code
-status collapsed
+\begin_layout Description
+mathmacrolabel Macro math label color
+\end_layout
-\begin_layout Plain Layout
-NOTIFY:
+\begin_layout Description
+mathmacronewarg Macro template color for new parameters
\end_layout
-\end_inset
+\begin_layout Description
+mathmacrooldarg Macro template color for old parameters
+\end_layout
+\begin_layout Description
+newpage New page color
+\end_layout
-\emph on
-key-sequence
+\begin_layout Description
+nonunique_inlinecompletion Inline completion color for the non-unique part
\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.
+\begin_layout Description
+notebg Background color of notes
\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
+\begin_layout Description
+notelabel Label color for notes
+\end_layout
-notify
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Description
+pagebreak Page break/line break color
+\end_layout
-, start a client that listens on the out 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.
+\begin_layout Description
+paragraphmarker Color used for the pilcrow sign to mark the end of a paragraph
\end_layout
-\begin_layout Section
-The simple LyX Server Protocol
+\begin_layout Description
+phantomtext Text color for phantom insets
\end_layout
-\begin_layout Standard
-LyX implements a simple protocol that can be used for session management.
- All messages are of the form
+\begin_layout Description
+preview The color used for previews
\end_layout
-\begin_layout Quote
-LYXSRV:
-\emph on
-clientname
-\emph default
-:
-\emph on
-protocol message
+\begin_layout Description
+previewframe Preview frame color
\end_layout
-\begin_layout Standard
-where
-\emph on
-protocol message
-\emph default
- can be
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Description
+regexpframe Color for regexp frame
+\end_layout
-hello
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Description
+selection Background color of selected text
+\end_layout
- or
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Description
+selectiontext Foreground color of selected text
+\end_layout
-bye
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Description
+shadedbg Background color of shaded box
+\end_layout
-.
- If
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Description
+special Special chars text color
+\end_layout
-hello
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Description
+tabularline Table line color
+\end_layout
- 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
+\begin_layout Description
+tabularonoffline Table line color
+\end_layout
-bye
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Description
+urllabel Label color for URL insets
+\end_layout
- sent from LyX will inform clients that LyX is closing.
+\begin_layout Description
+urltext Color for URL inset text
\end_layout
\end_body