+\begin_layout Plain Layout
+
+\change_inserted -712698321 1526898768
+AddToCiteEngine <engine type> \SpecialChar ldots
+ End
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+.
+ Note that only cite commands that do not exist yet are added.
+\change_unchanged
+
+\end_layout
+
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:Citation-format-description"
+
+\end_inset
+
+Cite format description
+\end_layout
+
+\begin_layout Standard
+The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+CiteFormat
+\end_layout
+
+\end_inset
+
+ blocks are used to describe how bibliographic information should be displayed,
+ both within \SpecialChar 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 LyX-Code
+CiteFormat
+\end_layout
+
+\begin_layout LyX-Code
+ article ...
+\end_layout
+
+\begin_layout LyX-Code
+ book ...
+\end_layout
+
+\begin_layout LyX-Code
+End
+\end_layout
+
+\begin_layout Standard
+or
+\end_layout
+
+\begin_layout LyX-Code
+CiteFormat
+\end_layout
+
+\begin_layout LyX-Code
+ cite ...
+\end_layout
+
+\begin_layout LyX-Code
+ citet*[][] ...
+\end_layout
+
+\begin_layout LyX-Code
+End
+\end_layout
+
+\begin_layout Standard
+In the first case, the individual lines define how the bibliographic information
+ associated with an article or book, respectively, is to be displayed, and
+ such a definition can be given for any
+\begin_inset Quotes els
+\end_inset
+
+entry type
+\begin_inset Quotes ers
+\end_inset
+
+ that might be present in a Bib\SpecialChar TeX
+ file.
+ \SpecialChar LyX
+ defines a default format in the source code that will be used if no specific
+ definition has been given.
+ \SpecialChar LyX
+ predefines several formats in the file
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+stdciteformats.inc
+\end_layout
+
+\end_inset
+
+, which is included in most of \SpecialChar LyX
+'s document classes.
+\end_layout
+
+\begin_layout Standard
+In the second case, the lines define how a specific citation command (in
+ the example
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+cite
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+citet
+\end_layout
+
+\end_inset
+
+) is to be displayed on the citation inset label, in the citation dialog,
+ menu or XHTML output.
+ \SpecialChar LyX
+ defines such formats for the citation style variants it supports via
+\family sans
+Document\SpecialChar menuseparator
+Setting\SpecialChar menuseparator
+Bibliography\SpecialChar ldots
+
+\family default
+ in specific
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+*.citeengine
+\end_layout
+
+\end_inset
+
+ files that are shipped with \SpecialChar LyX
+ (see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:Cite-Engine-Files"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Standard
+The definitions use a simple language that allows Bib\SpecialChar TeX
+ keys to be replaced
+ with their values.
+ Keys should be enclosed in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%
+\end_layout
+
+\end_inset
+
+ signs, e.g.:
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%author%
+\end_layout
+
+\end_inset
+
+.
+ So a simple definition might look like this:
+\end_layout
+
+\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
+{%volume%[[vol.
+\begin_inset space ~
+\end_inset
+
+%volume%]]}
+\end_layout
+
+\end_inset
+
+.
+ This says: If the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+volume
+\end_layout
+
+\end_inset
+
+ key exists, then print
+\begin_inset Quotes eld
+\end_inset
+
+vol.
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ 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
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%author%[[%author%]][[%editor%, ed.]]}
+\end_layout
+
+\end_inset
+
+.
+\begin_inset Newline newline
+\end_inset
+
+Here, the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+author
+\end_layout
+
+\end_inset
+
+ 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
+
+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
+%
+\end_layout
+
+\end_inset
+
+ 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_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+[[
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes eld
+\end_inset
+
+ and
+\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
+
+.
+ There must be no space between any of these.
+\end_layout
+
+\begin_layout Standard
+Next to the entry keys, there are some special keys that can be used for
+ these conditionals:
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%dialog%[[true]][[false]]}
+\end_layout
+
+\end_inset
+
+: process the
+\begin_inset Quotes eld
+\end_inset
+
+true
+\begin_inset Quotes erd
+\end_inset
+
+ part for dialogs and menus, the
+\begin_inset Quotes eld
+\end_inset
+
+false
+\begin_inset Quotes erd
+\end_inset
+
+ part for other contexts (workarea, export)
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%export%[[true]][[false]]}
+\end_layout
+
+\end_inset
+
+: process the
+\begin_inset Quotes eld
+\end_inset
+
+true
+\begin_inset Quotes erd
+\end_inset
+
+ part for export and menus, the
+\begin_inset Quotes eld
+\end_inset
+
+false
+\begin_inset Quotes erd
+\end_inset
+
+ part for other contexts (workarea, dialog)
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%next%[[true]]}
+\end_layout
+
+\end_inset
+
+: process the
+\begin_inset Quotes eld
+\end_inset
+
+true
+\begin_inset Quotes erd
+\end_inset
+
+ part if another item follows (e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g., in a citation with multiple keys)
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%second%[[true]][[false]]}
+\end_layout
+
+\end_inset
+
+: process the
+\begin_inset Quotes eld
+\end_inset
+
+true
+\begin_inset Quotes erd
+\end_inset
+
+ if this is the second of multiple items, else the
+\begin_inset Quotes eld
+\end_inset
+
+false
+\begin_inset Quotes erd
+\end_inset
+
+ part
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%ifstar%[[true]][[false]]}
+\end_layout
+
+\end_inset
+
+: process the
+\begin_inset Quotes eld
+\end_inset
+
+true
+\begin_inset Quotes erd
+\end_inset
+
+ part for starred citation commands (such as
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+cite*
+\end_layout
+
+\end_inset
+
+), the false part for unstarred
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%ifentrytype:<type>%[[true]][[false]]}
+\end_layout
+
+\end_inset
+
+: process the
+\begin_inset Quotes eld
+\end_inset
+
+true
+\begin_inset Quotes erd
+\end_inset
+
+ if the current entry type matches
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<type>
+\end_layout
+
+\end_inset
+
+, else the false part (e.g., in a citation definition:
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%ifentrytype:book%[[this is a book]][[this is no book]]}
+\end_layout
+
+\end_inset
+
+)
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%ifmultiple:<authortype>%[[true]][[false]]}
+\end_layout
+
+\end_inset
+
+: process the
+\begin_inset Quotes eld
+\end_inset
+
+true
+\begin_inset Quotes erd
+\end_inset
+
+ if the current author type (author, editor etc.) has multiple authors, else
+ the false part (e.g., in a bibliography definition:
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%ifmultiple:editor%[[eds.]][[ed.]]}
+\end_layout
+
+\end_inset
+
+)
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+{%ifqualified%[[true]][[false]]}
+\end_layout
+
+\end_inset
+
+: process the
+\begin_inset Quotes eld
+\end_inset
+
+true
+\begin_inset Quotes erd
+\end_inset
+
+ part if the current citation is a qualified citation list (a specific
+\family sans
+Biblatex
+\family default
+ format for multi-reference citations), the false part if this is not the
+ case.
+\end_layout
+
+\begin_layout Standard
+We said that
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%author%
+\end_layout
+
+\end_inset
+
+ prints the author key as it is recorded in the bibliography file.
+ This might not be what you want, since it will result in a string such
+ as
+\begin_inset Quotes eld
+\end_inset
+
+Miller, Peter and Smith, Mary and White, Jane
+\begin_inset Quotes erd
+\end_inset
+
+ (since
+\begin_inset Quotes eld
+\end_inset
+
+and
+\begin_inset Quotes erd
+\end_inset
+
+ is used by Bib\SpecialChar TeX
+ to delimit authors).
+ \SpecialChar LyX
+ therefore provides some methods to get properly formatted name lists (which
+ will also get translated).
+ The following keys are provided:
+\end_layout
+
+\begin_layout Enumerate
+For name lists with pre- and surname, suitable for the main authors/editors
+ of a bibliography item.
+ The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<nametype>
+\end_layout
+
+\end_inset
+
+ part denotes the kind of list that is requested (e.g.
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<nametype:author>
+\end_layout
+
+\end_inset
+
+):
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%abbrvnames:<nametype>%
+\end_layout
+
+\end_inset
+
+: Provides a name list which is abbreviated (with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+) when
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MaxCiteNames
+\end_layout
+
+\end_inset
+
+ is reached.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%fullnames:<nametype>%
+\end_layout
+
+\end_inset
+
+: Provides a full name list (never abbreviated with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%forceabbrvnames:<nametype>%
+\end_layout
+
+\end_inset
+
+: Provides a name list which is always abbreviated (with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+) irrespective of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MaxCiteNames
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Alternative name lists with pre- and surname, if the order of pre- and surname
+ inside the bibliography item differs (as in:
+\begin_inset Quotes eld
+\end_inset
+
+Miller, John: Some text, in: Mary Smith, ed.: A volume
+\begin_inset Quotes erd
+\end_inset
+
+):
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%abbrvbynames:<nametype>%
+\end_layout
+
+\end_inset
+
+: Provides a name list which is abbreviated (with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+) when
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MaxCiteNames
+\end_layout
+
+\end_inset
+
+ is reached.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%fullbynames:<nametype>%
+\end_layout
+
+\end_inset
+
+: Provides a full name list (never abbreviated with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%forceabbrvbynames:<nametype>%
+\end_layout
+
+\end_inset
+
+: Provides a name list which is always abbreviated (with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+) irrespective of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MaxCiteNames
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+And finally name lists which consist of family names only, as used in author-yea
+r citation labels.
+ These do not take a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<nametype>
+\end_layout
+
+\end_inset
+
+ part, but always return either an author list or, if this does not exist,
+ an editor list (as common in author-year labels):
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%abbrvciteauthor%
+\end_layout
+
+\end_inset
+
+: Provides a name list which is abbreviated (with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+) when
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MaxCiteNames
+\end_layout
+
+\end_inset
+
+ is reached.
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%fullciteauthor%
+\end_layout
+
+\end_inset
+
+: Provides a full name list (never abbreviated with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%forceabbrvciteauthor%
+\end_layout
+
+\end_inset
+
+: Provides a name list which is always abbreviated (with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+) irrespective of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MaxCiteNames
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+The order of pre- and surname in the former two lists can be adjusted by
+ these macros:
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+!firstnameform %surname%, %prename%
+\end_layout
+
+\end_inset
+
+ (first author in lists of type 1)
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+!othernameform %surname%, %prename%
+\end_layout
+
+\end_inset
+
+ (other authors in lists of type 1)
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+!firstbynameform %prename% %surname%
+\end_layout
+
+\end_inset
+
+ (first author in lists of type 2)
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+!otherbynameform %prename% %surname%
+\end_layout
+
+\end_inset
+
+ (other authors in lists of type 2)
+\end_layout
+
+\begin_layout Standard
+This allows you to configure namings like
+\begin_inset Quotes eld
+\end_inset
+
+Miller, Peter and Mary Smith: \SpecialChar ldots
+, in: John Doe and Pat Green, eds.:\SpecialChar ldots
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\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
+{!<i>!}
+\end_layout
+
+\end_inset
+
+.
+ 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
+
+.
+ 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 Quotes erd
+\end_inset
+
+ and
+\begin_inset Quotes eld
+\end_inset
+
+!}
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Two special sorts of definitions are also possible in a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+CiteFormat
+\end_layout
+
+\end_inset
+
+ block.
+ An example of the first would be:
+\end_layout
+
+\begin_layout LyX-Code
+!quotetitle
+\begin_inset Quotes eld
+\end_inset
+
+%title%
+\begin_inset Quotes erd
+\end_inset
+
+
+\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
+%!quotetitle%
+\end_layout
+
+\end_inset
+
+.
+ \SpecialChar LyX
+ will treat
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%!quotetitle%
+\end_layout
+
+\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
+
+\begin_layout LyX-Code
+!funfun %funfun%
+\end_layout
+
+\begin_layout Standard
+or anything like it.
+ \SpecialChar LyX
+ shouldn't go into an infinite loop, but it may go into a long one before
+ it gives up.
+\end_layout
+
+\begin_layout Standard
+The second sort of special definition might look like this:
+\end_layout
+
+\begin_layout LyX-Code
+B_pptext pp.
+\end_layout
+
+\begin_layout Standard
+This defines a translatable piece of text, which allows relevant parts of
+ the bibliography or citation 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
+%B_pptext%
+\end_layout
+
+\end_inset
+
+.
+ Note that there are two different translation paths: All definitions starting
+ with
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+B_
+\end_layout
+
+\end_inset
+
+, such as in the example above, will be translated to the currently active
+ buffer language (so the translation will match the generated document).
+ All definitions starting with underscore only will be translated to the
+ GUI language.
+ This is the proper translation for strings that only occur in the dialogs
+ or on buttons, such as this one:
+\end_layout
+
+\begin_layout LyX-Code
+_addtobib Add to bibliography only.
+\end_layout
+
+\begin_layout Standard
+Several of these translatable strings are predefined in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+stdciteformats.inc
+\end_layout
+
+\end_inset
+
+ and the diverse
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+*.citeengine
+\end_layout
+
+\end_inset
+
+ files.
+ Note that these are not macros, in the sense just defined.
+ They will not be expanded.
+\end_layout
+
+\begin_layout Standard
+So here then is an example that uses several of these features:
+\begin_inset VSpace defskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+
+\family sans
+!authoredit {%author%[[%author%, ]][[{%editor%[[%editor%, %B_edtext%, ]]}]]}
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace defskip
+\end_inset
+
+This defines a macro that prints the author, followed by a comma, if the
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+author
+\end_layout
+
+\end_inset
+
+ key is defined, or else prints the name of the editor, followed by the
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+B_edtext
+\end_layout
+
+\end_inset
+
+ 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
+editor
+\end_layout
+
+\end_inset
+
+ key is defined.
+ Note that this is in fact defined in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+stdciteformats.inc
+\end_layout
+
+\end_inset
+
+, 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
+
+Tags for XHTML output
+\end_layout
+
+\begin_layout Standard
+As with \SpecialChar LaTeX
+ or DocBook, the format of \SpecialChar LyX
+'s XHTML output is also controlled by
+ layout information.
+ In general, \SpecialChar LyX
+ provides sensible defaults and, as mentioned earlier, it will
+ even construct default CSS style rules from the other layout tags.
+ For example, \SpecialChar LyX
+ will attempt to use the information provided in the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Font
+\end_layout
+
+\end_inset
+
+ declaration for the Chapter style to write CSS that will appropriately
+ format chapter headings.
+\end_layout
+
+\begin_layout Standard
+In many cases, then, you may not have to do anything at all to get acceptable
+ XHTML output for your own environments, custom insets, and so forth.
+ But in some cases you will, and so \SpecialChar 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
+HTMLPreamble
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+AddToHTMLPreamble
+\end_layout
+
+\end_inset
+
+ that may appear outside style and inset declarations.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:General-text-class"
+
+\end_inset
+
+ for details on these.
+\end_layout
+
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:Paragraph-Style-XHTML"
+
+\end_inset
+
+Paragraph styles
+\end_layout
+
+\begin_layout Standard
+The sort of XHTML \SpecialChar 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
+\SpecialChar LaTeX
+Type
+\end_layout
+
+\end_inset
+
+ tag.
+
+\end_layout
+
+\begin_layout Standard
+For a command or normal paragraph, the output XHTML has the following form:
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>Label</labeltag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+Contents of the paragraph.
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+</tag>
+\end_layout
+
+\begin_layout Standard
+The label tags are of course omitted if the paragraph does not have a label.
+\end_layout
+
+\begin_layout Standard
+For an environment that is not some sort of list, the XHTML takes this form:
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+><labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>Environment Label</labeltag>First paragraph.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<itemtag>Second paragraph.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+</tag>
+\end_layout
+
+\begin_layout Standard
+Note that the label is output only for the first paragraph, as it should
+ be for a theorem, for example.
+
+\end_layout
+
+\begin_layout Standard
+For a list, we have one of these forms:
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+><labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>List Label</labeltag>First item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+><labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>List Label</labeltag>Second item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+</tag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>List Label</labeltag><itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>First item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+<labeltag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>List Label</labeltag><itemtag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>Second item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\family sans
+</tag>
+\end_layout
+
+\begin_layout Standard
+Note the different orders of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+labeltag
+\end_layout
+
+\end_inset
+
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+itemtag
+\end_layout
+
+\end_inset
+
+.
+ Which order we get depends upon the setting of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabelFirst
+\end_layout
+
+\end_inset
+
+: If
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabelFirst
+\end_layout
+
+\end_inset
+
+ is false (the default), you get the first of these, with the label within
+ the item; if true, you get the second, with the label outside the item.
+\end_layout
+
+\begin_layout Standard
+The specific tags and attributes output for each paragraph type can be controlle
+d by means of the layout tags we are about to describe.
+ As mentioned earlier, however, \SpecialChar 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Specifies attribute information to be output with the main tag.
+ For example,
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`mydiv'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ By default, \SpecialChar LyX
+ will output
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`layoutname'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+, where
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+layoutname
+\end_layout
+
+\end_inset
+
+ is the \SpecialChar 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
+HTMLStyle
+\end_layout
+
+\end_inset
+
+ for that purpose.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLForceCSS
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\emph default
+,1
+\end_layout
+
+\end_inset
+
+] Whether to output the default CSS information \SpecialChar LyX
+ generates for this layout,
+ even if additional information is explicitly provided via
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLStyle
+\end_layout
+
+\end_inset
+
+.
+ Setting this to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+ allows you to alter or augment the generated CSS, rather than to override
+ it completely.
+ Default is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+0
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLItem
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The tag to be used for individual paragraphs of environments, replacing
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+itemtag
+\end_layout
+
+\end_inset
+
+ in the examples above.
+ Defaults to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+div
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLItemAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Attributes for the item tag.
+ Defaults to
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`layoutname_item'
+\end_layout
+
+\end_inset
+
+
+\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
+HTMLStyle
+\end_layout
+
+\end_inset
+
+ for that purpose.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabel
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The tag to be used for paragraph and item labels, replacing
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+labeltag
+\end_layout
+
+\end_inset
+
+ in the examples above.
+ Defaults to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+span
+\end_layout
+
+\end_inset
+
+, unless
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+LabelType
+\end_layout
+
+\end_inset
+
+ is either
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Top_Environment
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Centered_Top_Environment
+\end_layout
+
+\end_inset
+
+, in which case it defaults to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+div
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabelAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Attributes for the label tag.
+ Defaults to
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`layoutname_label'
+\end_layout
+
+\end_inset
+
+
+\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
+HTMLStyle
+\end_layout
+
+\end_inset
+
+ for that purpose.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabelFirst
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\emph default
+,1
+\end_layout
+
+\end_inset
+
+] Meaningful only for list-like environments, this tag controls whether
+ the label tag is output before or inside the item tag.
+ This is used, for example, in the description environment, where we want
+ `
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<dt>\SpecialChar ldots
+</dt><dd>\SpecialChar ldots
+</dd>
+\end_layout
+
+\end_inset
+
+.
+ Default is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+0
+\end_layout
+
+\end_inset
+
+: The label tag is output inside the item tag.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLPreamble
+\end_layout
+
+\end_inset
+
+ Information to be output in the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<head>
+\end_layout
+
+\end_inset
+
+ section when this style is used.
+ This might, for example, be used to include a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<script>
+\end_layout
+
+\end_inset
+
+ block defining an
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+onclick
+\end_layout
+
+\end_inset
+
+ handler.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLStyle
+\end_layout
+
+\end_inset
+
+ CSS style information to be included when this style is used.
+ Note that this will automatically be wrapped in a layout-generated
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<style>
+\end_layout
+
+\end_inset
+
+ block, so only the CSS itself need be included.
+ Must end with
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+EndHTMLStyle
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLTag
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The tag to be used for the main label, replacing
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+tag
+\end_layout
+
+\end_inset
+
+ in the examples above.
+ Defaults to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+div
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLTitle
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\emph default
+,1
+\end_layout
+
+\end_inset
+
+] Marks this style as the one to be used to generate the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<title>
+\end_layout
+
+\end_inset
+
+ tag for the XHTML file.
+ By default, it is false.
+ The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+stdtitle.inc
+\end_layout
+
+\end_inset
+
+ file sets it to true for the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+title
+\end_layout
+
+\end_inset
+
+ environment.
+
+\end_layout
+
+\begin_layout Subsection
+InsetLayout XHTML
+\end_layout
+
+\begin_layout Standard
+The XHTML output of insets can also be controlled by information in layout
+ files.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+At present, this is true only for
+\begin_inset Quotes eld
+\end_inset
+
+text
+\begin_inset Quotes erd
+\end_inset
+
+ insets (insets you can type into) and is not true for
+\begin_inset Quotes eld
+\end_inset
+
+command
+\begin_inset Quotes erd
+\end_inset
+
+ insets (insets that are associated with dialog boxes).
+\end_layout
+
+\end_inset
+
+ Here, too, \SpecialChar LyX
+ tries to provide sensible defaults, and it constructs default
+ CSS style rules.
+ But everything can be customized.
+\end_layout
+
+\begin_layout Standard
+The XHTML \SpecialChar LyX
+ outputs for an inset has the following form:
+\end_layout
+
+\begin_layout LyX-Code
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+<labeltag>Label</labeltag>
+\end_layout
+
+\begin_layout LyX-Code
+<innertag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>Contents of the inset.</innertag>
+\end_layout
+
+\begin_layout LyX-Code
+</tag>
+\end_layout
+
+\begin_layout Standard
+If the inset permits multiple paragraphs—that is, if
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
+\end_layout
+
+\end_inset
+
+ is true—then the contents of the inset will itself be output as paragraphs
+ formatted according to the styles used for those paragraphs (standard,
+ quote, and the like).
+ The label tag is of course omitted if the paragraph does not have a label
+ and, at present, is always
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+span
+\end_layout
+
+\end_inset
+
+.
+ The inner tag is optional and, by default, does not appear.
+\end_layout
+
+\begin_layout Standard
+The specific tags and attributes output for each inset can be controlled
+ by means of the following layout tags.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Specifies attribute information to be output with the main tag.
+ For example,
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`myinset' onclick=`\SpecialChar ldots
+'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ By default, \SpecialChar LyX
+ will output
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`insetname'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+, where
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+insetname
+\end_layout
+
+\end_inset
+
+ is the \SpecialChar 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 Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLForceCSS
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\emph default
+,1
+\end_layout
+
+\end_inset
+
+] Whether to output the default CSS information \SpecialChar LyX
+ generates for this layout,
+ even if additional information is explicitly provided via
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLStyle
+\end_layout
+
+\end_inset
+
+.
+ Setting this to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+ allows you to alter or augment the generated CSS, rather than to override
+ it completely.
+ Default is 0.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLInnerAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Attributes for the inner tag.
+ Defaults to
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`insetname_inner'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLInnerTag
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The inner tag, replacing
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+innertag
+\end_layout
+
+\end_inset
+
+ in the examples above.
+ By default, there is none.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLIsBlock
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+0,
+\emph on
+1
+\end_layout
+
+\end_inset
+
+] Whether this inset represents a standalone block of text (such as a footnote)
+ or instead represents material that is included in the surrounding text
+ (such as a branch).
+ Defaults to 1.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLLabel
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] A label for this inset, possibly including a reference to a counter.
+ For example, for footnote, it might be:
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+arabic{footnote}
+\end_layout
+
+\end_inset
+
+.
+ This is optional, and there is no default.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLPreamble
+\end_layout
+
+\end_inset
+
+ Information to be output in the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<head>
+\end_layout
+
+\end_inset
+
+ section when this style is used.
+ This might, for example, be used to include a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<script>
+\end_layout
+
+\end_inset
+
+ block defining an
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+onclick
+\end_layout
+
+\end_inset
+
+ handler.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLStyle
+\end_layout
+
+\end_inset
+
+ CSS style information to be included when this style is used.
+ Note that this will automatically be wrapped in a layout-generated
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<style>
+\end_layout
+
+\end_inset
+
+ block, so only the CSS itself need be included.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLTag
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The tag to be used for the main label, replacing
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+tag
+\end_layout
+
+\end_inset
+
+ in the examples above.
+ The default depends upon the setting of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
+\end_layout
+
+\end_inset
+
+: If
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MultiPar
+\end_layout
+
+\end_inset
+
+ is true, the default is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+div
+\end_layout
+
+\end_inset
+
+; if it is false, the default is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+span
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+Float XHTML
+\end_layout
+
+\begin_layout Standard
+The XHTML output for floats too can be controlled by layout information.
+ The output has the following form:
+\end_layout
+
+\begin_layout LyX-Code
+<tag attr=
+\begin_inset Quotes erd
+\end_inset
+
+value
+\begin_inset Quotes erd
+\end_inset
+
+>
+\end_layout
+
+\begin_layout LyX-Code
+Contents of the float.
+\end_layout
+
+\begin_layout LyX-Code
+</tag>
+\end_layout
+
+\begin_layout Standard
+The caption, if there is one, is a separate inset and will be output as
+ such.
+ Its appearance can be controlled via the InsetLayout for caption insets.
+
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLAttr
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] Specifies attribute information to be output with the main tag.
+ For example,
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`myfloat' onclick=`\SpecialChar ldots
+'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ By default, \SpecialChar LyX
+ will output
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+class=`float float-floattype'
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+, where
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+floattype
+\end_layout
+
+\end_inset
+
+ is \SpecialChar LyX
+'s name for this type of float, as determined by the float declaration
+ (see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec: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
+HTMLStyle
+\end_layout
+
+\end_inset
+
+ CSS style information to be included when this float is used.
+ Note that this will automatically be wrapped in a layout-generated
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<style>
+\end_layout
+
+\end_inset
+
+ block, so only the CSS itself need be included.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLTag
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] 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
+tag
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ in the example above.
+ The default is
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+div
+\end_layout
+
+\end_inset
+
+ and will rarely need changing.
+\end_layout
+
+\begin_layout Subsection
+Bibliography formatting
+\end_layout
+
+\begin_layout Standard
+The bibliography can be formatted using
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+CiteFormat
+\end_layout
+
+\end_inset
+
+ blocks.
+ See
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:Citation-format-description"
+
+\end_inset
+
+ for the details.
+\end_layout
+
+\begin_layout Subsection
+\SpecialChar LyX
+-generated CSS
+\end_layout
+
+\begin_layout Standard
+We have several times mentioned that \SpecialChar 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 \SpecialChar LyX
+ uses
+ and how.
+\end_layout
+
+\begin_layout Standard
+At present, \SpecialChar LyX
+ auto-generates CSS only for font information, making use of
+ the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Family
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Series
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Shape
+\end_layout
+
+\end_inset
+
+, and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Size
+\end_layout
+
+\end_inset
+
+ specified in the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Font
+\end_layout
+
+\end_inset
+
+ declaration (see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:Font-description"
+
+\end_inset
+
+).
+ The translation is mostly straightforward and obvious.
+ For example,
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Family Sans
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ becomes
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+font-family: sans-serif;
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+ The correspondence of \SpecialChar 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
+getSizeCSS()
+\end_layout
+
+\end_inset
+
+ function in
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+src/FontInfo.cpp
+\end_layout
+
+\end_inset
+
+ for the details.
+\change_inserted -970929547 1496610908
+
+\end_layout
+
+\begin_layout Section
+
+\change_inserted -970929547 1496610966
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Tags-for-DocBook"
+
+\end_inset
+
+Tags for DocBook output
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -970929547 1496611615
+As with \SpecialChar LaTeX
+ or XHTML, the format of \SpecialChar LyX
+'s DocBook output is also controlled by
+ layout information.
+ In general, \SpecialChar LyX
+ provides sensible defaults; however, much of the styling is
+ lost during the conversion, as DocBook is strictly semantic and does not
+ allow formatting.
+ When possible, information from \SpecialChar LyX
+ will be rendered in
+\family typewriter
+role
+\family default
+ attributes.
+
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -970929547 1496612080
+In many cases, then, you may not have to do anything at all to get acceptable
+ DocBook output for your own environments, custom insets, and so forth.
+ But in some cases you will, and so \SpecialChar LyX
+ provides a number of layout tags that
+ can be used to customize the DocBook that is generated.
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -970929547 1515109912
+Labels are rarely output, as they are redundant in DocBook: this information
+ is carried by the tags themselves, and whether labels appear in the final
+ documents (after processing of DocBook files) is controlled by the stylesheets.
+ However, sometimes, labels are not redundant content, such as definition
+ lists: in this case, the term being defined will be the label.
+
+\end_layout
+
+\begin_layout Subsection
+
+\change_inserted 1075283030 1597699417
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:Paragraph-Style-DocBook"
+
+\end_inset
+
+
+\change_deleted 1075283030 1597699417
+
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:Paragraph-Style-XHTML-1"
+
+\end_inset
+
+
+\change_inserted -970929547 1496610966
+Paragraph styles
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -970929547 1496612059
+The sort of DocBook \SpecialChar 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
+
+\change_inserted -970929547 1496610966
+\SpecialChar LaTeX
+Type
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+ tag.
+
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -970929547 1496612107
+For a command or normal paragraph, the output DocBook has the following
+ form:
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1515109666
+<tag attr>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1496610966
+Contents of the paragraph.
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1496610966
+</tag>
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -970929547 1515109821
+For an environment that is not some sort of list, the generated DocBook
+ takes this form:
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1515109671
+<tag attr>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1496612114
+<itemtag>First paragraph.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1496610966
+<itemtag>Second paragraph.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1496610966
+</tag>
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -970929547 1515109825
+For a list, the resulting DocBook takes this form:
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1515109672
+<tag attr>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1515109676
+<itemtag attr>First item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1515109678
+<itemtag attr>Second item.</itemtag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted -970929547 1496610966
+</tag>
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -970929547 1496612243
+The specific tags and roles output for each paragraph type can be controlled
+ by means of the layout tags we are about to describe.
+ Please note that, due to the very nature of DocBook, no sensible defaults
+ really exist, and the values must always be carefully chosen.
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted -970929547 1515110057
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -970929547 1515109656
+DocBookAttr
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -970929547 1496610966
+string
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+] Specifies attribute information to be output with the main tag, replacing
+
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -970929547 1515110057
+attr
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ in the example above.
+ This information can be used in further processing of the DocBook files.
+
+\change_unchanged
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted -970929547 1496612296
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -970929547 1496612269
+DocBookTag
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -970929547 1496610966
+string
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+] The tag to be used for this inset, replacing
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -970929547 1496612296
+tag
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+ in the example above.
+ The default is the name of the float and always needs to be changed, as
+ DocBook provides no generic tag.
+\change_inserted 1075283030 1597698868
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 1075283030 1597699399
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597698872
+DocBookTagType
+\change_unchanged
+