]> git.lyx.org Git - lyx.git/blobdiff - lib/doc/Customization.lyx
Correct shortcut
[lyx.git] / lib / doc / Customization.lyx
index 3859d8bb9f7d5bde67f9892721e31b03e937ea3c..abca3e188bc170e3a3c8f6a1fe27b6d9ba9954c7 100644 (file)
@@ -1,5 +1,5 @@
 #LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
-\lyxformat 378
+\lyxformat 381
 \begin_document
 \begin_header
 \textclass scrbook
@@ -124,7 +124,7 @@ End
 \paperpagestyle headings
 \tracking_changes false
 \output_changes false
-\html_use_mathml true
+\html_math_output 0
 \html_be_strict true
 \end_header
 
@@ -6877,7 +6877,7 @@ default
 \end_layout
 
 \begin_layout Subsection
-The Document Class Declaration
+The document class declaration
 \end_layout
 
 \begin_layout Standard
@@ -7271,7 +7271,7 @@ While we're giving advice: make regular backups.
 \end_layout
 
 \begin_layout Subsection
-The Module Declaration
+The Module declaration
 \end_layout
 
 \begin_layout Standard
@@ -7627,6 +7627,46 @@ EndPreamble
 \end_inset
 
 
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+CiteFormat
+\end_layout
+
+\end_inset
+
+ Defines formats for use in the display of bibliographic information.
+ See Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Citation-format-description"
+
+\end_inset
+
+ for details.
+ Must end with 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+End
+\end_layout
+
+\end_inset
+
+
 \begin_inset Quotes erd
 \end_inset
 
@@ -9265,7 +9305,7 @@ End
 \end_layout
 
 \begin_layout Subsection
-Paragraph Styles
+Paragraph styles
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Paragraph-Styles"
@@ -12105,13 +12145,38 @@ EndPreamble
 \begin_inset Flex CharStyle:Code
 status collapsed
 
+\begin_layout Plain Layout
+RefPrefix
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The prefix to use when creating labels referring to paragraphs of this
+ type.
+ This allows the use of formatted references.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
 \begin_layout Plain Layout
 Requires 
 \end_layout
 
 \end_inset
 
-[
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -12539,6 +12604,13 @@ HTML*
 
  These are used for XHTML output.
  See 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Tags-for-XHTML"
+
+\end_inset
+
+.
 \end_layout
 
 \begin_layout Description
@@ -12546,7 +12618,7 @@ HTML*
 status collapsed
 
 \begin_layout Plain Layout
-LaTeXBuiltin
+ListCommand
 \end_layout
 
 \end_inset
@@ -12556,55 +12628,84 @@ LaTeXBuiltin
 status collapsed
 
 \begin_layout Plain Layout
-
-\emph on
-0
+string
 \end_layout
 
 \end_inset
 
-, 
+=
+\begin_inset Quotes erd
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+] The command used to generate a list of floats of this type; the leading
+ `
+\backslash
+' should be omitted.
+ This 
+\emph on
+must
+\emph default
+ be given if 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+NeedsFloatPkg
 \end_layout
 
 \end_inset
 
-] Set to 
+ is false, since there is no standard way to generate this command.
+ It is ignored if 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-1
+NeedsFloatPkg
 \end_layout
 
 \end_inset
 
- if the float is already defined by the LaTeX document class.
- If this is set to 
+ is true, since in that case there is a standard way.
+\end_layout
+
+\begin_layout Description
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-0
+ListName
 \end_layout
 
 \end_inset
 
-, the float will be defined using the LaTeX package 
+ [
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-float
+string
 \end_layout
 
 \end_inset
 
-.
+=
+\begin_inset Quotes erd
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+] A title for a list of floats of this kind (list of figures, tables, or
+ whatever).
+ It is used for the screen label within LyX; it is passed to LaTeX for use
+ as the title there; and it is used as the title in XHTML output.
+ It will be translated to the document language.
 \end_layout
 
 \begin_layout Description
@@ -12612,34 +12713,77 @@ float
 status collapsed
 
 \begin_layout Plain Layout
-ListName
+NeedsFloatPkg
 \end_layout
 
 \end_inset
 
  [
 \begin_inset Flex CharStyle:Code
+status open
+
+\begin_layout Plain Layout
+0
+\end_layout
+
+\end_inset
+
+, 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-string
+
+\emph on
+1
 \end_layout
 
 \end_inset
 
-=
-\begin_inset Quotes erd
+] Indicates whether the float is already defined in the document class or
+ if we instead need to load 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+float.sty
+\end_layout
+
 \end_inset
 
+ and use what it provides.
+ The default is 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
 
-\begin_inset Quotes erd
 \end_inset
 
-] A title for a list of floats of this kind (list of figures, tables, or
- whatever).
- It is used for the screen label within LyX; it is passed to LaTeX for use
- as the title there; and it is used as the title in XHTML output.
- It will be translated to the document language.
+, which means: use 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+float.sty
+\end_layout
+
+\end_inset
+
+.
+ It should be set to 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+0
+\end_layout
+
+\end_inset
+
+ if the float is already defined by the LaTeX document class.
 \end_layout
 
 \begin_layout Description
@@ -12822,6 +12966,30 @@ tbp
 \begin_inset Flex CharStyle:Code
 status collapsed
 
+\begin_layout Plain Layout
+RefPrefix
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The prefix to use when creating labels referring to floats of this type.
+ This allows the use of formatted references.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
 \begin_layout Plain Layout
 Style
 \end_layout
@@ -14237,6 +14405,30 @@ reference "des:Preamble"
 \begin_inset Flex CharStyle:Code
 status collapsed
 
+\begin_layout Plain Layout
+RefPrefix
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+string
+\end_layout
+
+\end_inset
+
+] The prefix to use when creating labels referring to insets of this type.
+ This allows the use of formatted references.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
 \begin_layout Plain Layout
 Requires
 \end_layout
@@ -15318,73 +15510,479 @@ giant
 ]
 \end_layout
 
-\begin_layout Section
+\begin_layout Subsection
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:Tags-for-XHTML"
+name "sub:Citation-format-description"
 
 \end_inset
 
-Tags for XHTML output
+Citation format description
 \end_layout
 
 \begin_layout Standard
-As with LaTeX or DocBook, the format of LyX's XHTML output is also controlled
- by layout information.
- In general, LyX provides sensible defaults and, as mentioned earlier, it
- will even construct default CSS style rules from the other layout tags.
- For example, LyX will attempt to use the information provided in the 
+The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Font
+CiteFormat
 \end_layout
 
 \end_inset
 
- declaration for the Chapter style to write CSS that will appropriately
- format chapter headings.
+ blocks are used to describe how bibliographic information should be displayed,
+ both within LyX itself (in the citation dialog and in tooltips, for example)
+ and in XHTML output.
+ Such a block might look like this:
 \end_layout
 
-\begin_layout Standard
-In many cases, then, you may not have to do anything at all to get acceptable
- XHTML output for your own environments, custom insets, and so forth.
- But in some cases you will, and so LyX provides a number of layout tags
- that can be used to customize the XHTML and CSS that are generated.
+\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
-Note that there are two tags, 
+The individual lines define how the bibliographic information associated
+ with an article or book, respectively, is to be displayed, and such a definitio
+n can be given for any `entry type' that might be present in a BibTeX file.
+ LyX defines a default format in the source code that will be used if no
+ specific definition has been given.
+ LyX predefines several formats in the file 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-HTMLPreamble
+stdciteformats.inc
 \end_layout
 
 \end_inset
 
- and 
+, which is included in most of LyX's document classes.
+\end_layout
+
+\begin_layout Standard
+The definitions use a simple language that allows BibTeX keys to be replaced
+ with their values.
+ Keys should be enclosed in % signs, e.g.: 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-AddToHTMLPreamble
+%author%
 \end_layout
 
 \end_inset
 
- that may appear outside style and inset declarations.
- See 
-\begin_inset CommandInset ref
-LatexCommand prettyref
-reference "sub:General-text-class"
+.
+ So a simple definition might look like this:
+\end_layout
 
+\begin_layout LyX-Code
+misc %author%, 
+\begin_inset Quotes eld
 \end_inset
 
- for details on these.
-\end_layout
+%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 CharStyle: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 CharStyle: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 Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+{%author%[[%author%]][[%editor%, ed.]]}
+\end_layout
+
+\end_inset
+
+.
+ Here, the 
+\begin_inset Flex CharStyle: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 % 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 Quotes eld
+\end_inset
+
+ and 
+\begin_inset Quotes eld
+\end_inset
+
+]]
+\begin_inset Quotes erd
+\end_inset
+
+.
+ There must be no space between any of these.
+\end_layout
+
+\begin_layout Standard
+There is one other piece of syntax available in definitions, which looks
+ like this: 
+\begin_inset Flex CharStyle: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 CharStyle: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 CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+%!quotetitle%
+\end_layout
+
+\end_inset
+
+.
+ LyX will treat 
+\begin_inset Flex CharStyle: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.
+ 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
+_pptext pp.
+\end_layout
+
+\begin_layout Standard
+This defines a translatable piece of text, which allows relevant parts of
+ the bibliography to be translated.
+ It can be included in a definition by treating it as a key: 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+%_pptext%
+\end_layout
+
+\end_inset
+
+.
+ Several of these are predefined in 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+stdciteformats.inc
+\end_layout
+
+\end_inset
+
+.
+ Note that these are not macros, in the sense just defined.
+ They will not be expanded.
+\end_layout
+
+\begin_layout Standard
+So here then is an example that use all these features:
+\end_layout
+
+\begin_layout LyX-Code
+!authoredit {%author%[[%author%, ]][[{%editor%[[%editor%, %_edtext%, ]]}]]}
+\end_layout
+
+\begin_layout Standard
+The defines a macro that prints the author, followed by a comma, if the
+\begin_inset Flex CharStyle: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 CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+_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 CharStyle: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 CharStyle: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 LaTeX or DocBook, the format of LyX's XHTML output is also controlled
+ by layout information.
+ In general, LyX provides sensible defaults and, as mentioned earlier, it
+ will even construct default CSS style rules from the other layout tags.
+ For example, LyX will attempt to use the information provided in the 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Font
+\end_layout
+
+\end_inset
+
+ declaration for the Chapter style to write CSS that will appropriately
+ format chapter headings.
+\end_layout
+
+\begin_layout Standard
+In many cases, then, you may not have to do anything at all to get acceptable
+ XHTML output for your own environments, custom insets, and so forth.
+ But in some cases you will, and so LyX provides a number of layout tags
+ that can be used to customize the XHTML and CSS that are generated.
+\end_layout
+
+\begin_layout Standard
+Note that there are two tags, 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+HTMLPreamble
+\end_layout
+
+\end_inset
+
+ and 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+AddToHTMLPreamble
+\end_layout
+
+\end_inset
+
+ that may appear outside style and inset declarations.
+ See 
+\begin_inset CommandInset ref
+LatexCommand prettyref
+reference "sub:General-text-class"
+
+\end_inset
+
+ for details on these.
+\end_layout
 
 \begin_layout Subsection
 \begin_inset CommandInset label
@@ -16914,6 +17512,32 @@ div
  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 CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+CiteFormat
+\end_layout
+
+\end_inset
+
+ blocks.
+ See Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Citation-format-description"
+
+\end_inset
+
+ for the details.
+\end_layout
+
 \begin_layout Subsection
 LyX-generated CSS
 \end_layout