+\end_inset
+
+).
+
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+By default,
+ the starred version means:
+ Output all authors even if it should be shortened with
+\begin_inset Quotes eld
+\end_inset
+
+et al.
+\begin_inset Quotes erd
+\end_inset
+
+ due to the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+MaxCiteNames
+\end_layout
+
+\end_inset
+
+ threshold.
+\end_layout
+
+\begin_layout Standard
+If the star has a different meaning for a given command,
+ it can be specified in angle brackets:
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<!_stardesc!_stardesctooltip>
+\end_layout
+
+\end_inset
+
+.
+ Maximal two translatable macro keywords,
+ marked by the prefix
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+!_
+\end_layout
+
+\end_inset
+
+,
+ can be given.
+ The first points to the string that replaces the
+\begin_inset Quotes eld
+\end_inset
+
+Full aut&hor list
+\begin_inset Quotes erd
+\end_inset
+
+ checkbox label in the citation dialog,
+ the second one to an optional tool tip for this checkbox.
+
+\end_layout
+
+\begin_layout Standard
+Note that these two macros have to be defined in a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+CiteFormat
+\end_layout
+
+\end_inset
+
+ (see next section),
+ dropping the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+!
+\end_layout
+
+\end_inset
+
+ from the prefix,
+ like this:
+
+\end_layout
+
+\begin_layout LyX-Code
+_stardesc Sta&rred command label
+\end_layout
+
+\begin_layout LyX-Code
+_stardesctooltip Tooltip for the starred command checkbox.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+A dollar sign
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+$
+\end_layout
+
+\end_inset
+
+ indicates that this command features
+\begin_inset Quotes eld
+\end_inset
+
+qualified citation lists
+\begin_inset Quotes erd
+\end_inset
+
+.
+ This is a
+\family sans
+Biblatex
+\family default
+-specific feature for multi-reference citations where an individual pre- and postnote can be given to each reference in the list.
+ Please refer to the
+\family sans
+Biblatex
+\family default
+ manual for details.
+\change_inserted -712698321 1526898670
+
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -712698321 1526899524
+If you want to add a cite command to a cite engine (e.
+\begin_inset space \thinspace{}
+\end_inset
+
+g.,
+ add a specific command provided by a class),
+ you can use
+\begin_inset Flex Code
+status collapsed
+
+\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"
+nolink "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-year 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"
+nolink "false"
+
+\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 controlled 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.
+\change_inserted -584632292 1670182206
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted -584632292 1670182369
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -584632292 1670182222
+HTMLClass
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -584632292 1670182217
+string
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+] The CSS class to use for this paragraph.
+ Note that,
+ if the paragarph is of enumerate or itemize type,
+ then the default will be
+\begin_inset Quotes eld
+\end_inset
+
+lyxenum
+\begin_inset Quotes erd
+\end_inset
+
+ or
+\begin_inset Quotes eld
+\end_inset
+
+lyxitem
+\begin_inset Quotes erd
+\end_inset
+
+,
+ plus
+\begin_inset Quotes eld
+\end_inset
+
+i
+\begin_inset Quotes erd
+\end_inset
+
+,
+
+\begin_inset Quotes eld
+\end_inset
+
+ii
+\begin_inset Quotes erd
+\end_inset
+
+,
+
+\begin_inset Quotes eld
+\end_inset
+
+iii
+\begin_inset Quotes erd
+\end_inset
+
+,
+ or
+\begin_inset Quotes eld
+\end_inset
+
+iv
+\begin_inset Quotes erd
+\end_inset
+
+,
+ depending upon the depth.
+ That can be over-ridden here.
+ However,
+ the suffix will not be added in that case.
+ I.e.,
+ the CSS class will always be exactly what it is declared to be here.
+\change_unchanged
+
+\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
+
+.
+\change_inserted -584632292 1670132213
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted -584632292 1670132277
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -584632292 1670132221
+HTMLInToc
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status open
+
+\begin_layout Plain Layout
+
+\change_inserted -584632292 1670132214
+0,
+\emph on
+1
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+] Whether to include this paragraph (usually,
+ a section or something of the sort) in the TOC.
+ By default,
+ true,
+ so it should be set to false e.g.
+\begin_inset space ~
+\end_inset
+
+for starred sections.
+\change_unchanged
+
+\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