X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fdoc%2FCustomization.lyx;h=baecb3b8f83a2e767d0de8250c23f27eea8589e1;hb=c30d4790803882c6905cbf6e9d8331a1f61166ef;hp=ee6d62440970527b97b67c1a84763713a36eaceb;hpb=c4a27f1d6384ca241e3b8c1a460e4d085c066c87;p=lyx.git diff --git a/lib/doc/Customization.lyx b/lib/doc/Customization.lyx index ee6d624409..baecb3b8f8 100644 --- a/lib/doc/Customization.lyx +++ b/lib/doc/Customization.lyx @@ -1,5 +1,5 @@ #LyX 2.0.0svn created this file. For more info see http://www.lyx.org/ -\lyxformat 371 +\lyxformat 375 \begin_document \begin_header \textclass scrbook @@ -62,6 +62,7 @@ End \end_local_layout \language english \inputencoding auto +\fontencoding global \font_roman default \font_sans default \font_typewriter default @@ -122,6 +123,8 @@ End \paperpagestyle headings \tracking_changes false \output_changes false +\html_use_mathml true +\html_be_strict true \end_header \begin_body @@ -807,7 +810,7 @@ templates/ \begin_inset CommandInset ref LatexCommand ref -reference "sec:Creating-Templates" +reference "sub:Creating-Templates" \end_inset @@ -5253,160 +5256,228 @@ Installing New Document Classes In this chapter, we describe the procedures for creating and installing new LyX layout and template files, as well as offer a refresher on correctly installing new LaTeX document classes. - Some definitions: a document class is a LaTeX file (usually ending in -\begin_inset Flex CharStyle:Code + +\end_layout + +\begin_layout Standard +First, let us a say a few words about how one ought to think about the relation + between LyX and LaTeX. + The thing to understand is that, in a certain sense, LyX doesn't know anything + about LaTeX. + Indeed, from LyX's point of view, LaTeX is just one of several +\begin_inset Quotes eld +\end_inset + +backend formats +\begin_inset Quotes erd +\end_inset + + in which it is capable of producing output. + Other such formats are DocBook, plaintext, and XHTML. + LaTeX is, of course, a particularly important format, but very little of + the information LyX has about LaTeX is actually contained in the program + itself. +\begin_inset Foot status collapsed \begin_layout Plain Layout -.cls +Some commands are sufficiently complex that they are +\begin_inset Quotes eld +\end_inset + +hardcoded +\begin_inset Quotes erd +\end_inset + + into LyX. + But the developers generally regard this as a Bad Thing. \end_layout \end_inset - or + Rather, that information, even for the standard classes like \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -.sty +article.cls \end_layout \end_inset -) that describes the format of a document such as an article, report, journal - preprint, etc, and all the commands needed to realize that format. - A layout file is a LyX file that corresponds to a LaTeX document class - and that tells LyX how to -\begin_inset Quotes eld -\end_inset +, is contained in layout files. + Similarly, LyX itself does not know much about DocBook or XHTML. +\end_layout -draw -\begin_inset Quotes erd -\end_inset +\begin_layout Standard +You can think of the layout file for a given document class as a translation + manual between LyX constructs---paragraphs with their corresponding styles, + certain sorts of insets, etc---and the corresponding LaTeX, DocBook, or + XHTML constructs. + Almost everything LyX knows about +\begin_inset Flex CharStyle:Code +status collapsed - things on the screen to make the display look something like the final - printed page. - More precisely, a layout file describes a -\begin_inset Quotes eld -\end_inset +\begin_layout Plain Layout +article.cls +\end_layout -text class -\begin_inset Quotes erd \end_inset - which is the internal construct LyX uses to render the screen display. - -\begin_inset Quotes eld -\end_inset +, for example, is contained in the file +\begin_inset Flex CharStyle:Code +status collapsed -Layout -\begin_inset Quotes erd -\end_inset +\begin_layout Plain Layout +article.layout +\end_layout - and -\begin_inset Quotes eld \end_inset -text class -\begin_inset Quotes erd + and in various other files it includes. + For this reason, anyone intending to write layout files should plan to + study the existing files. + A good place to start is with +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +stdsections.inc +\end_layout + \end_inset - can be used somewhat interchangeably, but it is better to refer to the - file as the layout, and the thing living in LyX's memory as the text class. - A template file is simply a LyX document that contains a set of predefined - entries for a given document classâentries that are generally required - for that class. - Templates are especially useful for things like journal manuscripts that - are to be submitted electronically. +, which is included in +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +article.layout \end_layout -\begin_layout Section -Installing a new LaTeX package +\end_inset + +, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +book.layout \end_layout -\begin_layout Standard -Some installations may not include a LaTeX package that you would like to - use within LyX. - For example, you might need FoilTeX, a package for preparing slides or - viewgraphs for overhead projectors. - Modern LaTeX distributions like TeXLive (2008 or newer) or MiKTeX provide - a user interface for that. - For example on MiKTeX you start its program -\begin_inset Quotes eld \end_inset -Browse Packages -\begin_inset Quotes erd +, and many of the other layout files for document classes. + This file is where sections and the like are defined: +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +stdsections.inc +\end_layout + \end_inset - to get a list of available packages. - To install one, right click on it or use the installing toolbar button. - When the package you want to install is not in the list, but you have it - in form of a + tells LyX how paragraphs that are marked with the Section, Subsection, + etc, styles can be translated into corresponding LaTeX, DocBook, and XHTML + commands and tags. + The \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -.cls +article.layout \end_layout \end_inset - or + file basically just includes several of these \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -.sty +std*.inc \end_layout \end_inset --file, then copy these files to a subfolder of your LaTeX distribution, - for example to the folder -\family sans -~ -\backslash -tex -\backslash -latex -\family default -. - Then update the file name database of your LaTeX-distribution. - For example on MiKTeX this is done by pressing the button -\family sans -Refresh + files. +\end_layout + +\begin_layout Standard +Defining the LyX--LaTeX correspondence is not the only thing layout files + do, though. + Their other job is to define how the LyX constructs themselves will appear + on-screen. + The fact that layout files have these two jobs is often a source of confusion, + because they are completely separate. + Telling LyX how to translate a certain paragraph style into LaTeX does + not tell LyX how to display it; conversely, telling LyX how to display + a certain paragraph style does not tell LyX how to translate it into LaTeX + (let alone tell LaTeX how to display it). + So, in general, when you define a new LyX construct, you must always do + two quite separate things: (i) \begin_inset space ~ \end_inset -FNDB -\family default - that you find in MiKTeX's -\begin_inset Quotes eld +tell LyX how to translate it into LaTeX and (ii) +\begin_inset space ~ \end_inset -Settings -\begin_inset Quotes erd +tell LyX how to display it. +\end_layout + +\begin_layout Standard +Much the same is true, of course, as regards LyX's other backend formats, + though XHTML is in some ways different, because in that case LyX +\emph on +is +\emph default + able, to some extent, to use information about how it should display a + paragraph on the screen to output information (in the form of CSS) about + how the paragraph should be displayed in a browser. + Even in this case, however, the distinction between what LyX does internally + and how things are rendered externally remains in force, and the two can + be controlled separately. + See +\begin_inset CommandInset ref +LatexCommand prettyref +reference "sec:Tags-for-XHTML" + \end_inset - program. - In both cases you need afterwards to reconfigure LyX using the menu -\begin_inset Flex CharStyle:MenuItem -status collapsed + for the details. +\end_layout -\begin_layout Plain Layout -Tools\SpecialChar \menuseparator -Reconfigure +\begin_layout Section +Installing new LaTeX files \end_layout +\begin_layout Standard +Some installations may not include a LaTeX package or class file that you + would like to use within LyX. + For example, you might need FoilTeX, a package for preparing slides for + overhead projectors. + Modern LaTeX distributions like TeXLive (2008 or newer) or MiKTeX provide + a user interface for installing such packages. + For example, with MiKTeX, you start the program +\begin_inset Quotes eld +\end_inset + +Browse Packages +\begin_inset Quotes erd \end_inset - and then to restart LyX. + to get a list of available packages. + To install one, right click on it or use the toolbar button to install + it. + \end_layout \begin_layout Standard -If your LaTeX distribution doesn't provide a user interface, then you can - follow these steps by using a UNIX/Linux console. +If your LaTeX distribution doesn't provide such a `package manager', or + if the file is not available from your distribution, then you can follow + these steps to install it manually. \end_layout \begin_layout Enumerate @@ -5422,13 +5493,13 @@ target "http://www.ctan.org/" \end_layout \begin_layout Enumerate -You can install this package in several different places. +You can install the package in several different places. If you want it to be available for all users on your system, then you should install it in your `local' TeX tree; if you want (or need) it to be available just for you, then you can install it in your own `user' TeX tree. - Where these should be created, if they do not already exist, depends upon - the details of your system. - To find out, look in the file + Where these trees should be created, if they do not already exist, depends + upon the details of your system. + To find out where they are, look in the file \begin_inset Flex CharStyle:Code status collapsed @@ -5468,7 +5539,7 @@ kpsewhich texmf.cnf \end_inset - The location of the `local' TeX tree is defined by + The location of the `local' TeX tree is defined by the \begin_inset Flex CharStyle:Code status collapsed @@ -5478,18 +5549,19 @@ TEXMFLOCAL \end_inset -; this is usually somewhere like -\begin_inset Flex CharStyle:Code + variable; this is usually somewhere like +\begin_inset Flex URL status collapsed \begin_layout Plain Layout + /usr/local/share/texmf/ \end_layout \end_inset . - The `user' TeX tree is defined by + The location of the `user' TeX tree is defined by \begin_inset Flex CharStyle:Code status collapsed @@ -5499,7 +5571,7 @@ TEXMFHOME \end_inset - and is commonly at + and is commonly \begin_inset Flex CharStyle:Code status collapsed @@ -5511,7 +5583,7 @@ $HOME/texmf/ . (If these variables are not predefined, you can define them.) You'll probably - need root permissions to create or modify the `local' tree; but your `user' + need root permissions to create or modify the `local' tree, but your `user' tree shouldn't have such limitations. \end_layout @@ -5568,31 +5640,15 @@ TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN} \begin_inset Newline newline \end_inset -But, again, most of this will -\begin_inset Quotes eld -\end_inset - -just work -\begin_inset Quotes erd -\end_inset - -. +It probably does. \end_layout \begin_layout Enumerate -Create your local -\begin_inset Foot -status collapsed - -\begin_layout Plain Layout -We'll assume henceforth that you're defining `local' TeX tree. - If you're defining a user tree, just adjust as necessary. -\end_layout - -\end_inset - - TeX tree. - You must follow the directory structure of your existing +Your local and user trees +\emph on +must +\emph default + have the same sort of directory structure as your main existing \begin_inset Flex CharStyle:Code status collapsed @@ -5612,254 +5668,264 @@ TEXMFMAIN \end_inset -. - For example, latex packages should go under + (commonly, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -$TEXMFLOCAL/tex/latex/ +/usr/share/texmf/ \end_layout \end_inset -. -\end_layout - -\begin_layout Enumerate -Install the package. - For example, you would unpack the FoilTeX tarball and copy it to +.) For example, latex packages should go under \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -$TEXMFLOCAL/tex/latex/foiltex +$TEXMFLOCAL/tex/latex/ \end_layout \end_inset -. - The + or \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -foiltex +$TEXMFHOME/tex/latex/ \end_layout \end_inset - directory contains various files. +. + If you do not put them here, they probably will not work. \end_layout \begin_layout Enumerate -Run: +Once your tree is properly set up, you can install the package into an appropria +te location. + If you are lucky, your package will have been provided as a so-called `TDS' + (TeX Directory Structure) zip file. + To install it, you want to unzip it from the top of your tree. + So, for example, you can copy the file \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -texhash +newpkg.zip \end_layout \end_inset -. - This should create + to \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -$TEXMFLOCAL/ls-R +/home/yourname/texmf/ \end_layout \end_inset - amongst others. -\end_layout - -\begin_layout Standard -Your package is now installed and available to LaTeX. - To make it available to LyX, you need to create a Layout file, if one is - not already available. - (See the next section.) Once you have a layout file, you need only reconfigure - ( -\begin_inset Flex CharStyle:MenuItem + and then, from inside that directory, just run: +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Tools\SpecialChar \menuseparator -Reconfigure +unzip newpkg.zip \end_layout \end_inset -) and then restart LyX. - You should then see your new packageâfor example -\begin_inset Flex CharStyle:MenuItem -status collapsed - -\begin_layout Plain Layout -slides (FoilTeX) -\end_layout - +. + This will extract the needed files and copy them where they need to be. +\begin_inset Newline newline \end_inset -âunder -\begin_inset Flex CharStyle:MenuItem +If you do not have a TDS file, then you have to do this manually. + For example, you might install the FoilTeX files into +\begin_inset Flex URL status collapsed \begin_layout Plain Layout -Document\SpecialChar \menuseparator -Settings + +$TEXMFLOCAL/tex/latex/contrib/foiltex \end_layout \end_inset - in the -\begin_inset Flex CharStyle:MenuItem +. + Why there? The CTAN download directories are themselves organized much + like a TeX tree, and it isn't a bad idea to follow its structure when you + install your own files. + FoilTeX, as it happens, is found at +\begin_inset Flex URL status collapsed \begin_layout Plain Layout -Document Class + +http://ctan.org/texarchive/macros/latex/contrib/foiltex/ \end_layout \end_inset - drop box. +. \end_layout -\begin_layout Section -Layouts -\end_layout +\begin_layout Enumerate +Finally, you must update the database TeX uses to find files. + On MiKTeX, this is done by pressing the button +\family sans +Refresh +\begin_inset space ~ +\end_inset -\begin_layout Standard -This section describes how to write and install your own LyX layout files - and walks through the +FNDB +\family default + that you find in MiKTeX's +\begin_inset Quotes eld +\end_inset + +Settings +\begin_inset Quotes erd +\end_inset + + program. + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -article +$TEXMFLOCAL/tex/latex/ \end_layout \end_inset - text class format as an example. - The +. + Under TeXLive and the like, you should run \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -.layout -\end_layout - -\end_inset - - files describe what paragraph and character styles are available for a - given document class and how LyX should display them. - We try to provide a thorough description of the process here; however, - there are so many different types of documents supported by LaTeX classes - that we can't hope to cover every different possibility or problem you - might encounter. - (The LyX users' list is frequented by people with lots of experience with - layout design who are willing to share what they've learned.) +texhash \end_layout -\begin_layout Standard -As you prepare to write a new layout, it is extremely helpful to look at - the example layouts distributed with LyX. - If you use a nice LaTeX document class that might be of interest for others, - too, and have a nice corresponding LyX layout, feel free to contribute - the stuff to us, so we may put it into the distribution. - There is also a -\begin_inset CommandInset href -LatexCommand href -name "section on the LyX wiki" -target "http://wiki.lyx.org/Layouts/Layouts" - \end_inset - for this kind of material. + from a terminal, with root permissions if necessary. + \end_layout \begin_layout Standard -All the tags described in this chapter are case-insensitive; this means - that +Your package is now installed and available to LaTeX. + You can verify this from a terminal by typing ` \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Style +kpsewhich yourfile.ext \end_layout \end_inset -, -\begin_inset Flex CharStyle:Code +'. + To make LyX aware of it, however, you will need to reconfigure ( +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -style +Tools\SpecialChar \menuseparator +Reconfigure \end_layout \end_inset - and -\begin_inset Flex CharStyle:Code +) and then restart LyX. + If the new package was a document class, such as FoilTeX again, you will + now see it available under +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -StYlE +Document\SpecialChar \menuseparator +Settings\SpecialChar \menuseparator +Document Class \end_layout \end_inset - are really the same command. - The possible values are printed in brackets after the feature's name. - The default value if a feature isn't specified inside a text class-description - is typeset -\begin_inset Flex CharStyle:Code +, in this case as +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout - -\emph on -emphasized +slides (FoilTeX) \end_layout \end_inset . - If the argument has a data type like -\begin_inset Quotes eld -\end_inset +\end_layout -string -\begin_inset Quotes erd -\end_inset +\begin_layout Standard +What if there isn't a layout file is available for your new document class? + Then, unfortunately, LyX will know nothing about it until you create a + layout file yourself (or get someone else to do it). + That is the topic of the next section. +\end_layout - or -\begin_inset Quotes eld -\end_inset +\begin_layout Section +Types of layout files +\end_layout + +\begin_layout Standard +This section describes the various sorts of LyX files that contain layout + information. + These files describe various paragraph and character styles, determining + how LyX should display them and how they should be translated into LaTeX, + DocBook, XHTML, or whatever output format is being used. + +\end_layout + +\begin_layout Standard +We shall try to provide a thorough description of the process of writing + layout files here. + However, there are so many different types of documents supported even + by just LaTeX that we can't hope to cover every different possibility or + problem you might encounter. + The LyX users' list is frequented by people with lots of experience with + layout design who are willing to share what they've learned, so please + feel free to ask questions there. +\end_layout + +\begin_layout Standard +As you prepare to write a new layout, it is extremely helpful to look at + the layouts distributed with LyX. + If you write a LyX layout for a LaTeX document class that might also be + used by others, or write a module that might be useful to others, then + you should consider posting your layout to the +\begin_inset CommandInset href +LatexCommand href +name "layout section on the LyX wiki" +target "http://wiki.lyx.org/Layouts/Layouts" -float -\begin_inset Quotes erd \end_inset -, the default is shown like this: -\begin_inset Flex CharStyle:Code + or even to the LyX developers' list, so that it might be included in LyX + itself. +\begin_inset Foot status collapsed \begin_layout Plain Layout -float= -\emph on -default +Note that LyX is licensed under the General Public License, so any material + that is contribued to LyX must be similarly licensed. \end_layout \end_inset -. + \end_layout \begin_layout Subsection @@ -5874,214 +5940,124 @@ name "sub:Layout-modules" \end_layout \begin_layout Standard -Similar to layout files, and new with LyX 1.6, are layout -\emph on -modules -\emph default -. - Modules are to LaTeX packages much as layouts are to LaTeX classes, and - some modulesâsuch as the endnotes moduleâprovide support for just such - a package. - In a sense, layout modules are similar to included filesâfiles like +We have spoken to this point about `layout files'. + But there are different sorts of files that contain layout information. + Layout files, strictly so called, have the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -stdsections.inc +.layout \end_layout \end_inset -âin that modules are not specific to a given document layout but may be - used with many different layouts. - The difference is that using a layout module does not require editing the - layout file. - Rather, modules are selected in the -\begin_inset Flex CharStyle:MenuItem + extension and provide LyX with information about document classes. + As of LyX 1.6, however, layout information can also be contained in layout + +\emph on +modules +\emph default +, which have the +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Document\SpecialChar \menuseparator -Settings +.module \end_layout \end_inset - dialog. -\end_layout - -\begin_layout Standard -Building modules is the easiest way to get started with layout editing, - since it can be as simple as adding a single new paragraph or flex inset. - But modules may, in principle, contain anything a layout file can contain. -\end_layout - -\begin_layout Standard -A module must begin with a line like the following: -\end_layout - -\begin_layout LyX-Code -# -\backslash -DeclareLyXModule[endnotes.sty]{Endnotes} -\end_layout - -\begin_layout Standard -The mandatory argument, in curly brackets, is the name of the module, as - it should appear in -\begin_inset Flex CharStyle:MenuItem + extension. + Modules are to LaTeX packages much as layouts are to LaTeX classes, and + some modulesâsuch as the +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Document\SpecialChar \menuseparator -Settings +endnotes \end_layout \end_inset -. - The argument in square brackets is optional: It declares any LaTeX packages - on which the module depends. - Please note that only packages about which LyX knows should be listed in - the square brackets. + moduleâspecifcally provide support for one package. + In a sense, layout modules are similar to included \begin_inset Foot status collapsed \begin_layout Plain Layout -The list of such packages is documented only in the source code. -\end_layout - -\end_inset - - LyX will not check for arbitrary packages. - It is also possible to use the form -\begin_inset Flex CharStyle:MenuItem +These can have any extension, but by convention have the +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -from->to +.inc \end_layout \end_inset -, which declares that the module can only be used when there exists a conversion - chain between formats `from' and `to'. -\end_layout - -\begin_layout Standard -The module declaration should then be followed by lines like the following: -\end_layout - -\begin_layout LyX-Code -#DescriptionBegin -\end_layout - -\begin_layout LyX-Code -#Adds an endnote command, in addition to footnotes. - -\end_layout - -\begin_layout LyX-Code -#You will need to add -\backslash -theendnotes in TeX code where you -\end_layout - -\begin_layout LyX-Code -#want the endnotes to appear. - -\end_layout - -\begin_layout LyX-Code -#DescriptionEnd -\end_layout - -\begin_layout LyX-Code -#Requires: somemodule | othermodule + extension. \end_layout -\begin_layout LyX-Code -#Excludes: badmodule -\end_layout +\end_inset -\begin_layout Standard -The description is used in -\begin_inset Flex CharStyle:MenuItem + filesâfiles like +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Document\SpecialChar \menuseparator -Settings +stdsections.inc \end_layout \end_inset - to provide the user with information about what the module does. - The +âin that modules are not specific to a given document class but may be used + with many different classes. + The difference is that using an included file with \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Requires +article.cls \end_layout \end_inset - line is used to identify other modules with which this one must be used; - the -\begin_inset Flex CharStyle:Code + requires editing that file. + Modules, by contrast, are selected in the +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -Excludes +Document\SpecialChar \menuseparator +Settings \end_layout \end_inset - line is used to identify modules with which this one may not be used. - Both are optional, and, as shown, multiple modules should be separated - with the pipe symbol: |. - Note that the required modules are treated disjunctively: -\emph on -at least one -\emph default - of the required modules must be used. - Similarly, -\emph on -no -\emph default - excluded module may be used. - Note that modules are identified here by their -\emph on -filenames -\emph default - without the .module extension. - So -\begin_inset Flex CharStyle:Code -status collapsed - -\begin_layout Plain Layout -somemodule + dialog. \end_layout -\end_inset +\begin_layout Standard +Building modules is the easiest way to get started with layout editing, + since it can be as simple as adding a single new paragraph style or flex + inset. + But modules may, in principle, contain anything a layout file can contain. +\end_layout - is really +\begin_layout Standard +After creating a new module and copying it to the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -somemodule.module +layout/ \end_layout \end_inset -. -\end_layout - -\begin_layout Standard -After creating a new module, you will need to reconfigure and then restart - LyX for the module to appear in the menu. + folder, you will need to reconfigure and then restart LyX for the module + to appear in the menu. However, changes you make to the module will be seen immediately, if you open \begin_inset Flex CharStyle:MenuItem @@ -6105,13 +6081,13 @@ OK . \emph on -It is strongly recommended that you save your work before doing so +It is strongly recommended that you save your work before doing this \emph default . In fact, \emph on it is strongly recommended that you not attempt to edit modules while simultaneo -usly working on documents +usly working on actual documents \emph default . Though of course the developers strive to keep LyX stable in such situations, @@ -6119,7 +6095,17 @@ usly working on documents \end_layout \begin_layout Subsection -Supporting new document classes +Layout for +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +.sty +\end_layout + +\end_inset + + files \end_layout \begin_layout Standard @@ -6146,48 +6132,65 @@ status collapsed ) files. Supporting a style file is usually fairly easy. - Supporting a new document class is a bit harder. + Supporting a new class file is a bit harder. + We'll discuss the former in this section and the latter in the next. + Similar remarks apply, of course, if you want to support a new DocBook + DTD. \end_layout -\begin_layout Subsection -A layout for a +\begin_layout Standard +The easier case is the one in which your new document class is provided + as a style file that is to be used in conjunction with an already supported + document class. + For the sake of the example, we'll assume that the style file is called + \begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -sty +myclass.sty \end_layout \end_inset - file -\end_layout - -\begin_layout Standard -If your new document class is provided as a style file that is used in conjuncti -on with an existing, supported document classâfor the sake of the example, - we'll assume that the style file is called + and that it is meant to be used with \begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -myclass.sty +report.cls \end_layout \end_inset - and it is meant to be used with -\begin_inset Flex CharStyle:MenuItem +, which is a standard class. + +\end_layout + +\begin_layout Standard +Start by copying the existing class's layout file into your local directory: +\begin_inset Foot status collapsed \begin_layout Plain Layout -report.cls +Of course, which directory is your local directory will vary by platform, + and LyX allows you to specify your local directory on startup, too, using + the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +-userdir +\end_layout + +\end_inset + + option. \end_layout \end_inset -, which is a standard classâstart by copying the existing class's layout - file into your local directory: + \end_layout \begin_layout LyX-Code @@ -6295,587 +6298,691 @@ report in this exampleâso you can fiddle around with the settings for the different sections if you wish. -\end_layout - -\begin_layout Subsection -Layout for a -\begin_inset Flex CharStyle:MenuItem + The layout information for sections is contained in +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -cls +stdsections.inc \end_layout \end_inset - file +, but you do not need to copy and change this file. + Instead, you can simply add your changes to your layout file, after the + line +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Input stdclass.inc \end_layout -\begin_layout Standard -There are two possibilities here. - One is that the class file is itself based upon an existing document class. - For example, many thesis classes are based upon -\begin_inset Flex CharStyle:MenuItem +\end_inset + +, which itself includes +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -book.cls +stdsections.inc \end_layout \end_inset . - To see whether yours is, look for a line like + For example, you might add these lines: \end_layout \begin_layout LyX-Code +Style Chapter +\end_layout -\backslash -LoadClass{book} +\begin_layout LyX-Code + Font \end_layout -\begin_layout Standard -in the file. - If so, then you may proceed largely as in the previous section, though - the DeclareLaTeXClass line will be different. - If your new class is thesis, and it is based upon book, then the line should - read: -\begin_inset Foot -status collapsed +\begin_layout LyX-Code + Family Sans +\end_layout -\begin_layout Plain Layout -And it will be easiest if you save the file to -\begin_inset Flex CharStyle:Code -status collapsed +\begin_layout LyX-Code + EndFont +\end_layout -\begin_layout Plain Layout -thesis.layout +\begin_layout LyX-Code +End +\end_layout + +\begin_layout Standard +to change the font for chapter headings to sans-serif. + This will override (or, in this case, add to) the existing declaration + for the Chapter style. + \end_layout +\begin_layout Standard +Your new package may also provide commands or environments not present in + the base class. + In this case, you will want to add these to the layout file. + See +\begin_inset CommandInset ref +LatexCommand ref +reference "sec:TextClass" + \end_inset -: LyX assumes that the document class has the same name as the layout file. - + for information on how to do so. +\end_layout + +\begin_layout Standard +If +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +myclass.sty \end_layout \end_inset + can be used with several different document classes, and even if it cannot, + you might find it easiest just to write a module that you can load with + the base class. + The simplest possible such module would be: +\end_layout +\begin_layout LyX-Code +# +\backslash +DeclareLyXModule{My Package} \end_layout \begin_layout LyX-Code +#DescriptionBegin +\end_layout -\backslash -DeclareLaTeXClass[thesis,book]{thesis} +\begin_layout LyX-Code +#Support for mypkg.sty. \end_layout -\begin_layout Standard -If, on the other hand, the new class is not based upon an existing class, - you will probably have to -\begin_inset Quotes eld +\begin_layout LyX-Code +#DescriptionEnd +\begin_inset Newline newline \end_inset -roll your own -\begin_inset Quotes erd -\end_inset - layout. - We strongly suggest copying an existing layout file which uses a similar - LaTeX class and then modifying it, if you can do so. - At least use an existing file as a starting point so you can find out what - items you need to worry about. - Again, the specifics are covered below. \end_layout -\begin_layout Section -Declaring a new text class +\begin_layout LyX-Code +Format 20 +\begin_inset Newline newline +\end_inset + + \end_layout -\begin_layout Standard -When it's finally time to get your hands dirty and create or edit your own - layout file, the following sections describe what you're up against. - Our advice is to go slowly, save and test often, listen to soothing music, - and enjoy one or two of your favorite adult beverages; more if you are - getting particularly stuck. - It's really not that hard, except that the multitude of options can become - overwhelming if you try to do to much in one sitting. - Go have another adult beverage, just for good measure. +\begin_layout LyX-Code +Preamble +\begin_inset Newline newline +\end_inset + + +\backslash +usepackage{mypkg} +\begin_inset Newline newline +\end_inset + +EndPreamble \end_layout \begin_layout Standard -Here we go! +A more complex module might modify the behavior of some existing constructs + or define some new ones. + Again, see +\begin_inset CommandInset ref +LatexCommand ref +reference "sec:TextClass" + +\end_inset + + for discussion. \end_layout -\begin_layout Standard -Lines in a layout file which begin with a -\begin_inset Flex CharStyle:Code +\begin_layout Subsection +Layout for +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -# +.cls \end_layout \end_inset - are comments. - There is one exception to this rule: all layouts should begin with lines - like: + files \end_layout -\begin_layout LyX-Code +\begin_layout Standard +There are two possibilities here. + One is that the class file is itself based upon an existing document class. + For example, many thesis classes are based upon +\begin_inset Flex CharStyle:MenuItem +status collapsed -\size small -#% Do not delete the line below; configure depends on this +\begin_layout Plain Layout +book.cls +\end_layout + +\end_inset + +. + To see whether yours is, look for a line like \end_layout \begin_layout LyX-Code -\size small -# \backslash -DeclareLaTeXClass{article} +LoadClass{book} \end_layout \begin_layout Standard -The second line is used when you configure LyX. - The layout file is read by the LaTeX script +in the file. + If so, then you may proceed largely as in the previous section, though + the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -chkconfig.ltx +DeclareLaTeXClass \end_layout \end_inset -, in a special mode where + line will be different. + If your new class is \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -# +thesis \end_layout \end_inset - is ignored. - The first line is just a LaTeX comment, and the second one contains the - declaration of the text class. - If these lines appear in a file named + and it is based upon \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -article.layout +book \end_layout \end_inset -, then they define a text class of name +, then the line should read: +\begin_inset Foot +status collapsed + +\begin_layout Plain Layout +And it will be easiest if you save the file to \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -article +thesis.layout \end_layout \end_inset - (the name of the layout file) which uses the LaTeX document class -\begin_inset Flex CharStyle:Code -status collapsed - -\begin_layout Plain Layout -article.cls +: LyX assumes that the document class has the same name as the layout file. + \end_layout \end_inset - (the default is to use the same name as the layout). - The string + +\end_layout + +\begin_layout LyX-Code + +\backslash +DeclareLaTeXClass[thesis,book]{thesis} +\end_layout + +\begin_layout Standard +If, on the other hand, the new class is not based upon an existing class, + you will probably have to \begin_inset Quotes eld \end_inset -article +roll your own \begin_inset Quotes erd \end_inset - that appears above is used as a description of the text class in the -\begin_inset Flex CharStyle:MenuItem -status collapsed - -\begin_layout Plain Layout -Document\SpecialChar \menuseparator -Settings + layout. + We strongly suggest copying an existing layout file which uses a similar + LaTeX class and then modifying it, if you can do so. + At least use an existing file as a starting point so you can find out what + items you need to worry about. + Again, the specifics are covered below. \end_layout +\begin_layout Subsection +Creating templates +\begin_inset CommandInset label +LatexCommand label +name "sub:Creating-Templates" + \end_inset - dialog. + \end_layout \begin_layout Standard -Let's assume that you wrote your own text class that uses the +Once you have written a layout file for a new document class, you might + want to consider writing a +\emph on +template +\emph default + for it, too. + A template acts as a kind of tutorial for your layout, showing how it might + be used, though containing dummy content. + You can of course look at the various templates included with LyX for ideas. +\end_layout + +\begin_layout Standard +Templates are created just like usual documents: using LyX. + The only difference is that usual documents contain all possible settings, + including the font scheme and the paper size. + Usually a user doesn't want a template to overwrite his preferred settings + for such parameters. + For that reason, the designer of a template should remove the corresponding + commands like \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -article.cls + +\backslash +font_roman \end_layout \end_inset - document class, but where you changed the appearance of the section headings. - If you put it in a file + or \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -myarticle.layout + +\backslash +papersize \end_layout \end_inset -, the header of this file should be: + from the template LyX file. + This can be done with any simple text-editor, for example +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +vi \end_layout -\begin_layout LyX-Code +\end_inset -\size small -#% Do not delete the line below; configure depends on this + or +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +notepad \end_layout -\begin_layout LyX-Code +\end_inset -\size small -# -\backslash -DeclareLaTeXClass[article]{article (with my own headings)} +. + \end_layout \begin_layout Standard -This declares a text class +Put the edited template files you create in \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -myarticle +UserDir/templates/ \end_layout \end_inset -, associated with the LaTeX document class +, copy the ones you use from the global template directory in \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -article.cls +LyXDir/templates/ \end_layout \end_inset - and described as -\begin_inset Quotes eld -\end_inset + to the same place, and redefine the template path in the +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +Tools\SpecialChar \menuseparator +Preferences\SpecialChar \menuseparator +Paths +\end_layout -article (with my own headings) -\begin_inset Quotes erd \end_inset -. - If your text class depends on several packages, you can declare it as: + dialog. \end_layout -\begin_layout LyX-Code +\begin_layout Standard +Note, by the way, that there is a template which has a particular meaning: + +\begin_inset Flex CharStyle:Code +status collapsed -\size small -#% Do not delete the line below; configure depends on this +\begin_layout Plain Layout +defaults.lyx \end_layout -\begin_layout LyX-Code +\end_inset -\size small -# -\backslash -DeclareLaTeXClass[article,foo.sty]{article (with my own headings)} -\end_layout - -\begin_layout Standard -This indicates that your text class uses the foo.sty package. - Finally, it is also possible to declare classes for DocBook code. - Typical declarations will look like -\end_layout - -\begin_layout LyX-Code +. + This template is loaded every time you create a new document with +\begin_inset Flex CharStyle:MenuItem +status collapsed -\size small -#% Do not delete the line below; configure depends on this +\begin_layout Plain Layout +File\SpecialChar \menuseparator +New \end_layout -\begin_layout LyX-Code - -\size small -# -\backslash -DeclareDocBookClass[article]{SGML (DocBook article)} -\end_layout +\end_inset -\begin_layout Standard -Note that these declarations can also be given an optional parameter declaring - the name of the document class (but not a list). -\end_layout + in order to provide useful defaults. + To create this template from inside LyX, all you have to do is to open + a document with the correct settings, and use the +\begin_inset Flex CharStyle:MenuItem +status collapsed -\begin_layout Standard -So, to be as explicit as possible, the form of the layout declaration is: +\begin_layout Plain Layout +Save as Document Defaults \end_layout -\begin_layout LyX-Code +\end_inset -\size small -# -\backslash -DeclareLaTeXClass[class,package.sty]{layout description} + button. \end_layout -\begin_layout Standard -The class need only be specified if the name of the LaTeX class file and - the name of the layout file are different; if the name of the class file - is not specified, then LyX will simply assume that it is the same as the - name of the layout file. +\begin_layout Subsection +Upgrading old layout files \end_layout \begin_layout Standard -When the text class has been modified to your taste, all you have to do - is to copy it either to +The format of layout files changes with each LyX release, so old layout + files need to be converted to the new format. + This process has been automated since LyX 1.4: If LyX reads a layout file + in an older format, it automatically calls the script \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LyXDir/layouts/ +layout2layout.py \end_layout \end_inset - or to -\begin_inset Flex CharStyle:Code -status collapsed + to convert it to a temporary file in current format. + The original file is left untouched. + If you use the layout file often, then, you may want to convert it permanently, + so that LyX does not have to do so itself every time. + To do this, you can call the converter manually: +\end_layout -\begin_layout Plain Layout -UserDir/layouts +\begin_layout LyX-Code +mv myclass.layout myclass.old \end_layout -\end_inset +\begin_layout LyX-Code +python LyXDir/scripts/layout2layout.py myclass.old myclass.layout +\end_layout -, run -\begin_inset Flex CharStyle:MenuItem +\begin_layout Standard +You need to replace +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Tools\SpecialChar \menuseparator -Reconfigure +LyXDir \end_layout \end_inset -, exit LyX and restart it. - Then your new text class should be available along with the others. + with the name of your LyX system directory, of course. \end_layout \begin_layout Standard -In versions of LyX prior to 1.6, you had to restart LyX to see any changes - you made to your layout files. - As a result, editing layout files could be very time consuming. - Beginning with 1.6, however, you can force a reload of the layout currently - in use by using the LyX function -\begin_inset Flex CharStyle:MenuItem -status collapsed - -\begin_layout Plain Layout -layout-reload +Note that manual conversion does not affect included files, so these will + have to be converted separately. \end_layout -\end_inset +\begin_layout Section +\begin_inset CommandInset label +LatexCommand label +name "sec:TextClass" -. - There is no default binding for this functionâthough, of course, you can - bind it to a key yourself. - If you want to use this function, then, you should simply enter it in the - mini-buffer. - -\emph on -Warning -\emph default -: This is very much an `advanced feature'. - It is -\emph on -strongly -\emph default - recommended that you save your work before using this function. - In fact, it is -\emph on -strongly -\emph default - recommended that you not attempt to edit your layout while simultaneously - working on a document that you care about. - Use a test document. - Syntax errors and the like in your layout file could cause peculiar behavior. - In particular, such errors could cause LyX to regard the current layout - as invalid and to attempt to switch to some other layout. - The LyX team strives to keep LyX stable in such situations, but safe is - better than sorry. -\end_layout +\end_inset -\begin_layout Subsection -File format +The layout file format \end_layout \begin_layout Standard -The first non-comment line must contain the file format number: +When it's finally time to get your hands dirty and create or edit your own + layout file, the following sections describe what you're up against. + Our advice is to go slowly, save and test often, listen to soothing music, + and enjoy one or two of your favorite adult beverages; more if you are + getting particularly stuck. + It's really not that hard, except that the multitude of options can become + overwhelming if you try to do too much in one sitting. + Go have another adult beverage, just for good measure. \end_layout -\begin_layout Description +\begin_layout Standard +Note that all the tags used in layout files are case-insensitive. + This means that \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Format +Style \end_layout \end_inset - [ +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -int +style \end_layout \end_inset -] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier - don't have an explicit file format). - The file format that is documented here is format 14. -\end_layout + and +\begin_inset Flex CharStyle:Code +status collapsed -\begin_layout Subsection -General text class parameters +\begin_layout Plain Layout +StYlE \end_layout -\begin_layout Standard -These are the general parameters which describe the form of the entire document: -\end_layout +\end_inset -\begin_layout Description + are really the same tag. + The possible values are printed in brackets after the feature's name. + The default value if a feature isn't specified inside a text class-description + is typeset \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -AddToPreamble + +\emph on +emphasized \end_layout \end_inset - Adds information to the document preamble. - Must end with +. + If the argument has a data type like +\begin_inset Quotes eld +\end_inset + +string +\begin_inset Quotes erd +\end_inset + + or \begin_inset Quotes eld \end_inset +float +\begin_inset Quotes erd +\end_inset +, the default is shown like this: \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -EndPreamble +float= +\emph on +default \end_layout \end_inset - -\begin_inset Quotes erd -\end_inset - . \end_layout -\begin_layout Description +\begin_layout Subsection +The Document Class Declaration +\end_layout + +\begin_layout Standard +Lines in a layout file which begin with \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -ClassOptions +# \end_layout \end_inset - Describes various global options supported by the document class. - See Section -\begin_inset space ~ + are comments. + There is one exception to this rule. + All +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +*.layout +\end_layout + \end_inset + files should begin with a line like: +\end_layout -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:ClassOptions" +\begin_layout LyX-Code -\end_inset +\size small +#% Do not delete the line below; configure depends on this +\end_layout - for a description. - Must end with -\begin_inset Quotes eld -\end_inset +\begin_layout LyX-Code +\size small +# +\backslash +DeclareLaTeXClass{article} +\end_layout +\begin_layout Standard +The second line is used when you (re)configure LyX. + The layout file is read by the LaTeX script \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -End +chkconfig.ltx \end_layout \end_inset +, in a special mode where +\begin_inset Flex CharStyle:Code +status collapsed -\begin_inset Quotes erd -\end_inset - -. +\begin_layout Plain Layout +# \end_layout -\begin_layout Description +\end_inset + + is ignored. + The first line is just a LaTeX comment, and the second one contains the + declaration of the text class. + If these lines appear in a file named \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Columns +article.layout \end_layout \end_inset - [ +, then they define a text class of name \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -1 +article \end_layout \end_inset -, + (the name of the layout file) which uses the LaTeX document class \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -2 +article.cls \end_layout \end_inset -] Whether the class should default to having one or two columns. - Can be changed in the + (the default is to use the same name as the layout). + The string +\begin_inset Quotes eld +\end_inset + +article +\begin_inset Quotes erd +\end_inset + + that appears above is used as a description of the text class in the \begin_inset Flex CharStyle:MenuItem status collapsed @@ -6889,17 +6996,1700 @@ Settings dialog. \end_layout -\begin_layout Description +\begin_layout Standard +Let's assume that you wrote your own text class that uses the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Counter +article.cls \end_layout \end_inset - [ + document class, but where you changed the appearance of the section headings. + If you put it in a file +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +myarticle.layout +\end_layout + +\end_inset + +, the header of this file should be: +\end_layout + +\begin_layout LyX-Code + +\size small +#% Do not delete the line below; configure depends on this +\end_layout + +\begin_layout LyX-Code + +\size small +# +\backslash +DeclareLaTeXClass[article]{article (with my own headings)} +\end_layout + +\begin_layout Standard +This declares a text class +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +myarticle +\end_layout + +\end_inset + +, associated with the LaTeX document class +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +article.cls +\end_layout + +\end_inset + + and described as +\begin_inset Quotes eld +\end_inset + +article (with my own headings) +\begin_inset Quotes erd +\end_inset + +. + If your text class depends on several packages, you can declare it as: +\end_layout + +\begin_layout LyX-Code + +\size small +#% Do not delete the line below; configure depends on this +\end_layout + +\begin_layout LyX-Code + +\size small +# +\backslash +DeclareLaTeXClass[article,foo.sty]{article (with my own headings)} +\end_layout + +\begin_layout Standard +This indicates that your text class uses the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +foo.sty +\end_layout + +\end_inset + + package. + Finally, it is also possible to declare classes for DocBook code. + Typical declarations will look like: +\end_layout + +\begin_layout LyX-Code + +\size small +#% Do not delete the line below; configure depends on this +\end_layout + +\begin_layout LyX-Code + +\size small +# +\backslash +DeclareDocBookClass[article]{SGML (DocBook article)} +\end_layout + +\begin_layout Standard +Note that these declarations can also be given an optional parameter declaring + the name of the document class (but not a list). +\end_layout + +\begin_layout Standard +So, to be as explicit as possible, the form of the layout declaration is: +\end_layout + +\begin_layout LyX-Code + +\size small +# +\backslash +DeclareLaTeXClass[class,package.sty]{layout description} +\end_layout + +\begin_layout Standard +The class need only be specified if the name of the LaTeX class file and + the name of the layout file are different; if the name of the class file + is not specified, then LyX will simply assume that it is the same as the + name of the layout file. +\end_layout + +\begin_layout Standard +When the text class has been modified to your taste, all you have to do + is to copy it either to +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +LyXDir/layouts/ +\end_layout + +\end_inset + + or to +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +UserDir/layouts +\end_layout + +\end_inset + +, run +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +Tools\SpecialChar \menuseparator +Reconfigure +\end_layout + +\end_inset + +, exit LyX and restart. + Then your new text class should be available along with the others. +\end_layout + +\begin_layout Standard +Once the layout file is installed, you can edit it and see your changes + without having to reconfigure or to restart LyX. + +\begin_inset Foot +status collapsed + +\begin_layout Plain Layout +In versions of LyX prior to 1.6, this was not true. + As a result, editing layout files was very time consuming, since you had + constantly to restart LyX to see changes. +\end_layout + +\end_inset + + You can force a reload of the current layout by using the LyX function + +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +layout-reload +\end_layout + +\end_inset + +. + There is no default binding for this functionâthough, of course, you can + bind it to a key yourself. + But you will normally use this function simply by entering it in the mini-buffe +r. + +\end_layout + +\begin_layout Standard + +\emph on +Warning +\emph default +: +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +layout-reload +\end_layout + +\end_inset + + is very much an `advanced feature'. + It is +\emph on +strongly +\emph default + recommended that you save your work before using this function. + In fact, it is +\emph on +strongly +\emph default + recommended that you not attempt to edit layout information while simultaneousl +y working on a document that you care about. + Use a test document. + Syntax errors and the like in your layout file could cause peculiar behavior. + In particular, such errors could cause LyX to regard the current layout + as invalid and to attempt to switch to some other layout. +\begin_inset Foot +status collapsed + +\begin_layout Plain Layout +Really bad syntax errors may even caused LyX to exit. + This is because certain sorts of errors may make LyX unable to read +\emph on +any +\emph default + layout information. + Please be careful. +\end_layout + +\end_inset + + The LyX team strives to keep LyX stable in such situations, but safe is + better than sorry. +\begin_inset Foot +status collapsed + +\begin_layout Plain Layout +While we're giving advice: make regular backups. + And be nice to your mother. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Subsection +The Module Declaration +\end_layout + +\begin_layout Standard +A module must begin with a line like the following: +\end_layout + +\begin_layout LyX-Code +# +\backslash +DeclareLyXModule[endnotes.sty]{Endnotes} +\end_layout + +\begin_layout Standard +The mandatory argument, in curly brackets, is the name of the module, as + it should appear in +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +Document\SpecialChar \menuseparator +Settings +\end_layout + +\end_inset + +. + The argument in square brackets is optional: It declares any LaTeX packages + on which the module depends. + Please note that only packages about which LyX knows should be listed in + the square brackets. +\begin_inset Foot +status collapsed + +\begin_layout Plain Layout +The list of such packages is documented only in the source code. +\end_layout + +\end_inset + + LyX will not check for arbitrary packages. + It is also possible to use the form +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +from->to +\end_layout + +\end_inset + + as an optional argument, which declares that the module can only be used + when there exists a conversion chain between the formats ` +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +from +\end_layout + +\end_inset + +' and ` +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +to +\end_layout + +\end_inset + +'. +\end_layout + +\begin_layout Standard +The module declaration should then be followed by lines like the following: +\end_layout + +\begin_layout LyX-Code +#DescriptionBegin +\end_layout + +\begin_layout LyX-Code +#Adds an endnote command, in addition to footnotes. + +\end_layout + +\begin_layout LyX-Code +#You will need to add +\backslash +theendnotes in TeX code where you +\end_layout + +\begin_layout LyX-Code +#want the endnotes to appear. + +\end_layout + +\begin_layout LyX-Code +#DescriptionEnd +\end_layout + +\begin_layout LyX-Code +#Requires: somemodule | othermodule +\end_layout + +\begin_layout LyX-Code +#Excludes: badmodule +\end_layout + +\begin_layout Standard +The description is used in +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +Document\SpecialChar \menuseparator +Settings +\end_layout + +\end_inset + + to provide the user with information about what the module does. + The +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Requires +\end_layout + +\end_inset + + line is used to identify other modules with which this one must be used; + the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Excludes +\end_layout + +\end_inset + + line is used to identify modules with which this one may not be used. + Both are optional, and, as shown, multiple modules should be separated + with the pipe symbol: |. + Note that the required modules are treated disjunctively: +\emph on +at least one +\emph default + of the required modules must be used. + Similarly, +\emph on +no +\emph default + excluded module may be used. + Note that modules are identified here by their +\emph on +filenames +\emph default + without the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +.module +\end_layout + +\end_inset + + extension. + So +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +somemodule +\end_layout + +\end_inset + + is really +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +somemodule.module +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Subsection +File format +\end_layout + +\begin_layout Standard +The first non-comment line of any layout file, included file, or module + +\emph on +must +\emph default + contain the file format number: +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Format +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +int +\end_layout + +\end_inset + +] The format of the layout file. +\end_layout + +\begin_layout Standard +This tag was introduced with LyX 1.4.0. + Layout files from LyX 1.3.x and earlier don't have an explicit file format + and are considered to be of format 1. + The format for the present version of LyX is format 20. + But each version of LyX is capable of reading earlier versions' layout + files, just as they are capable of reading files produced by earlier versions + of LyX. + There is, however, no provision for converting to earlier formats. + So LyX 1.6.x will not read layout files in format 20 but only files in format + 11 or earlier. +\end_layout + +\begin_layout Subsection +\begin_inset CommandInset label +LatexCommand label +name "sub:General-text-class" + +\end_inset + +General text class parameters +\end_layout + +\begin_layout Standard +These are general parameters that govern the behavior of an entire document + class. + (This does +\emph on +not +\emph default + mean that they must appear in +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +.layout +\end_layout + +\end_inset + + files rather than in modules. + A module can contain any layout tag.) +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +AddToHTMLPreamble +\end_layout + +\end_inset + + Adds information that will be output in the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +
+\end_layout + +\end_inset + + block when this document class is output to XHTML. + Typically, this would be used to output CSS style information, but it can + be used for anything that can appear in +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\end_layout + +\end_inset + +. + Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +EndPreamble +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +AddToPreamble +\end_layout + +\end_inset + + Adds information to the document preamble. + Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +EndPreamble +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +ClassOptions +\end_layout + +\end_inset + + Describes various global options supported by the document class. + See Section +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:ClassOptions" + +\end_inset + + for a description. + 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 + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Columns +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\emph on +1 +\end_layout + +\end_inset + +, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +2 +\end_layout + +\end_inset + +] Whether the class should +\emph on +default +\emph default + to having one or two columns. + Can be changed in the +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +Document\SpecialChar \menuseparator +Settings +\end_layout + +\end_inset + + dialog. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Counter +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +] This sequence defines the properties for a counter. + If the counter does not yet exist, it is created; if it does exist, it + is modified. + Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +End +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\begin_inset Newline newline +\end_inset + +See Section +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Counters" + +\end_inset + + for details on counters. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +DefaultFont +\end_layout + +\end_inset + + Sets the default font used to display the document. + See Section +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Font-description" + +\end_inset + + for how to declare fonts. + Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +EndFont +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +DefaultModule +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string] +\end_layout + +\end_inset + + Specifies a module to be included by default with this document class. + The module should be specified by filename without the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +.module +\end_layout + +\end_inset + + extension. + The user can still remove the module, but it will be active at the outset. + (This applies only when new files are created, or when this class is chosen + for an existing document.) +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +DefaultStyle +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +] This is the style that will be assigned to new paragraphs, usually +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +Standard +\end_layout + +\end_inset + +. + This will default to the first defined style if not given, but you are + encouraged to use this directive. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +ExcludesModule +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +] This tag indicates that the module in questionâwhich should be specified + by filename without the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +.module +\end_layout + +\end_inset + + extensionâcannot be used with this document class. + This might be used in a journal-specific layout file to prevent, say, the + use of the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +theorems-sec +\end_layout + +\end_inset + + module that numbers theorems by section. + This tag may +\emph on +not +\emph default + be used in a module. + Modules have their own way of excluding other modules (see +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Layout-modules" + +\end_inset + +). +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Float +\end_layout + +\end_inset + + Defines a new float. + See Section +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Floats" + +\end_inset + + for details. + Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +End +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +HTMLPreamble +\end_layout + +\end_inset + + Sets the information that will be output in the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + block when this document class is output to XHTML. + Note that this will completely override any prior +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +HTMLPreamble +\end_layout + +\end_inset + + or +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +AddToHTMLPreamble +\end_layout + +\end_inset + + declarations. + (Use +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +AddToHTMLPreamble +\end_layout + +\end_inset + + if you just want to add material to the preamble.) Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +EndPreamble +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +IfCounter +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +] Modifies the properties of the given counter. + If the counter does not exist, the section is ignored. + Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +End +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\begin_inset Newline newline +\end_inset + +See Section +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Counters" + +\end_inset + + for details on counters. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +IfStyle +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +] Modifies the properties of the given paragraph style. + If the style does not exist, the section is ignored. + Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +End +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Input +\end_layout + +\end_inset + + As its name implies, this command allows you to include another layout + definition file within yours to avoid duplicating commands. + Common examples are the standard layout files, for example, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +stdclass.inc +\end_layout + +\end_inset + +, which contains most of the basic layouts. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +InsetLayout +\end_layout + +\end_inset + + This section (re-)defines the layout of an inset. + It can be applied to an existing inset or to a new, user-defined inset, + e.g., a new character style. + Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +End +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\begin_inset Newline newline +\end_inset + +See Section +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Flex-insets-and" + +\end_inset + + for more information. + +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +LeftMargin +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +] A string that indicates the width of the left margin on the screen, for + example, +\begin_inset Quotes eld +\end_inset + +MMMMM +\begin_inset Quotes erd +\end_inset + +. + (Note that this is not a `length', like +\begin_inset Quotes eld +\end_inset + +2ex +\begin_inset Quotes erd +\end_inset + +.) +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +NoFloat +\end_layout + +\end_inset + + This command deletes an existing float. + This is particularly useful when you want to suppress a float that has + been defined in an input file. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +NoStyle +\end_layout + +\end_inset + + This command deletes an existing style. + This is particularly useful when you want to suppress a style that has + be defined in an input file. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +OutputFormat +\end_layout + +\end_inset + + A string indicating the file format (as defined in the Preferences dialog) + produced by this class. + It is mainly useful when +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +OutputType +\end_layout + +\end_inset + + is `literate' and one wants to define a new type of literate document. + This string is reset to `docbook', `latex', or `literate' when the correspondin +g +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +OutputType +\end_layout + +\end_inset + + parameter is encountered. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +OutputType +\end_layout + +\end_inset + + A string indicating what sort of output documents using this class will + produce. + At present, the options are: `docbook', `latex', and `literate'. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +PageStyle +\end_layout + +\end_inset + + [ +\emph on + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\emph on +plain +\end_layout + +\end_inset + + +\emph default +, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +empty +\end_layout + +\end_inset + +, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +headings +\end_layout + +\end_inset + +] The default pagestyle. + Can be changed in the +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +Document\SpecialChar \menuseparator +Settings +\end_layout + +\end_inset + + dialog. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Preamble +\end_layout + +\end_inset + + Sets the preamble for the LaTeX document. + Note that this will completely override any prior +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Preamble +\end_layout + +\end_inset + + or +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +AddToPreamble +\end_layout + +\end_inset + + declarations. + (Use +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +AddToPreamble +\end_layout + +\end_inset + + if you just want to add material to the preamble.) Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +EndPreamble +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Provides +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +] [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\emph on +0 +\end_layout + +\end_inset + +, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +1 +\end_layout + +\end_inset + +] Whether the class already provides the feature +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +. + A feature is in general the name of a package ( +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +amsmath +\end_layout + +\end_inset + +, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +makeidx +\end_layout + +\end_inset + +, \SpecialChar \ldots{} +) or a macro ( +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +url +\end_layout + +\end_inset + +, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +boldsymbol +\end_layout + +\end_inset + +,\SpecialChar \ldots{} +); the complete list of supported features is unfortunately not documented + outside the LyX source codeâbut see +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +LaTeXFeatures.cpp +\end_layout + +\end_inset + + if you're interested. + +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +Help\SpecialChar \menuseparator +LaTeX Configuration +\end_layout + +\end_inset + + also gives an overview of the supported packages. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +ProvidesModule +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +] Indicates that this layout provides the functionality of the module mentioned, + which should be specified by the filename without the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +.module +\end_layout + +\end_inset + + extension. + This will typically be used if the layout includes the module directly, + rather than using the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +DefaultModule +\end_layout + +\end_inset + + tag to indicate that it ought to be used. + It could also be used in a module that provided an alternate implementation + of the same functionality. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Requires +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string +\end_layout + +\end_inset + +] Whether the class requires the feature \begin_inset Flex CharStyle:Code status collapsed @@ -6909,9 +8699,674 @@ string \end_inset -] This sequence defines the properties for a counter. - If the counter does not yet exist, it is created; if it does exist, it - is modified. +. + Multiple features must be separated by commas. + Note that you can only request supported features. + (Again, see +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +LaTeXFeatures.cpp +\end_layout + +\end_inset + + for a list of these.) +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +RightMargin +\end_layout + +\end_inset + + A string that indicates the width of the right margin on the screen, for + example, +\begin_inset Quotes eld +\end_inset + +MMMMM +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +SecNumDepth +\end_layout + +\end_inset + + Sets which divisions get numbered. + Corresponds to the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +secnumdepth +\end_layout + +\end_inset + + counter in LaTeX. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Sides +\end_layout + +\end_inset + + [ +\emph on + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\emph on +1 +\end_layout + +\end_inset + + +\emph default +, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +2 +\end_layout + +\end_inset + +] Whether the class-default should be printing on one or both sides of the + paper. + Can be changed in the +\begin_inset Flex CharStyle:MenuItem +status collapsed + +\begin_layout Plain Layout +Document\SpecialChar \menuseparator +Settings +\end_layout + +\end_inset + + dialog. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Style +\end_layout + +\end_inset + + This sequence defines a paragraph style. + If the style does not yet exist, it is created; if it does exist, its parameter +s are modified. + Must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +End +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\begin_inset Newline newline +\end_inset + +See Section +\begin_inset space ~ +\end_inset + + +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Paragraph-Styles" + +\end_inset + + for details on paragraph styles. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +TitleLatexName +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string="maketitle" +\end_layout + +\end_inset + +] The name of the command or environment to be used with +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +TitleLatexType +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +TitleLatexType +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\emph on +CommandAfter +\end_layout + +\end_inset + +, +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Environment +\end_layout + +\end_inset + +] Indicates what kind of markup is used to define the title of a document. + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +CommandAfter +\end_layout + +\end_inset + + means that the macro with name +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +TitleLatexName +\end_layout + +\end_inset + + will be inserted after the last layout which has +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +InTitle 1 +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Environment +\end_layout + +\end_inset + + corresponds to the case where the block of paragraphs which have +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +InTitle 1 +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + + should be enclosed into the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +TitleLatexName +\end_layout + +\end_inset + + environment. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +TocDepth +\end_layout + +\end_inset + + Sets which divisions are included in the table of contents. + Corresponds to the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +tocdepth +\end_layout + +\end_inset + + counter in LaTeX. +\end_layout + +\begin_layout Subsection +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +ClassOptions +\end_layout + +\end_inset + + section +\begin_inset CommandInset label +LatexCommand label +name "sub:ClassOptions" + +\end_inset + + +\end_layout + +\begin_layout Standard +The +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +ClassOptions +\end_layout + +\end_inset + + section can contain the following entries: +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +FontSize +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string="10|11|12" +\end_layout + +\end_inset + +] The list of available font sizes for the document's main font, separated + by +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +| +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Header +\end_layout + +\end_inset + + Used to set the DTD line with XML-based output classes. + E. +\begin_inset space \thinspace{} +\end_inset + +g.: PUBLIC +\begin_inset Quotes eld +\end_inset + +-//OASIS//DTD DocBook V4.2//EN +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +PageStyle +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string="empty|plain|headings|fancy" +\end_layout + +\end_inset + +] The list of available page styles, separated by +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +| +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Other +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +string="" +\end_layout + +\end_inset + +] Some document class options, separated by a comma, that will be added + to the optional part of the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\backslash +documentclass +\end_layout + +\end_inset + + command. +\end_layout + +\begin_layout Standard +The +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +ClassOptions +\end_layout + +\end_inset + + section must end with +\begin_inset Quotes eld +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +End +\end_layout + +\end_inset + + +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Subsection +Paragraph Styles +\begin_inset CommandInset label +LatexCommand label +name "sub:Paragraph-Styles" + +\end_inset + + +\end_layout + +\begin_layout Standard +A paragraph style description looks like this: +\begin_inset Foot +status collapsed + +\begin_layout Plain Layout +Note that this will either define a new layout or modify an existing one. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout LyX-Code +Style +\family roman +\emph on +name +\end_layout + +\begin_layout LyX-Code + ... +\end_layout + +\begin_layout LyX-Code +End +\end_layout + +\begin_layout Standard +where the following commands are allowed: +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Align +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\emph on +block +\emph default +, left, right, center +\end_layout + +\end_inset + +] Paragraph alignment. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +AlignPossible +\end_layout + +\end_inset + + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\emph on +block +\emph default +, left, right, center +\end_layout + +\end_inset + +] A comma separated list of permitted alignments. + (Some LaTeX styles prohibit certain alignments, since those wouldn't make + sense. + For example a right-aligned or centered enumeration isn't possible.) +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +BabelPreamble +\end_layout + +\end_inset + + Language dependent information to be included in the LaTeX preamble when + this style is used. + Note that this will completely override any prior +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +BabelPreamble +\end_layout + +\end_inset + + declarations. Must end with \begin_inset Quotes eld \end_inset @@ -6921,7 +9376,7 @@ string status collapsed \begin_layout Plain Layout -End +EndBabelPreamble \end_layout \end_inset @@ -6931,65 +9386,192 @@ End \end_inset . -\begin_inset Newline newline + The contents of this tag will occur once in the LaTeX preamble for each + language used by the document. + Each time, the following substitutions are made: +\end_layout + +\begin_deeper +\begin_layout Itemize +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +$$lang +\end_layout + \end_inset -See Section -\begin_inset space ~ + is replaced by the language name (as used by the babel package). +\end_layout + +\begin_layout Itemize +The +\begin_inset Quotes eld \end_inset +Function +\begin_inset Quotes erd +\end_inset -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:Counters" + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +_() +\end_layout \end_inset - for details on counters. + replaces its argument by the translation of the argument to the current + language. +\end_layout + +\begin_layout Standard +This preamble snippet will only be used if the document contains more than + one language and the babel package is used. \end_layout +\end_deeper \begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -DefaultFont +BottomSep \end_layout \end_inset - Sets the default font used to display the document. - See Section -\begin_inset space ~ + [ +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +float=0 +\end_layout + +\end_inset + +] +\begin_inset Foot +status collapsed + +\begin_layout Plain Layout +Note that a `float' here is a real number, such as: 1.5. +\end_layout + \end_inset + The vertical space with which the last of a chain of paragraphs with this + layout is separated from the following paragraph. + If the next paragraph has another layout, the separations are not simply + added, but the maximum is taken. +\end_layout -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:Font-description" +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Category +\end_layout \end_inset - for how to declare fonts. - Must end with -\begin_inset Quotes eld + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +[string] +\end_layout + +\end_inset + + The category for this style. + This is used to group related styles in the Layout combobox on the toolbar. + Any string can be used, but you may want to use existing categories with + your own styles. + +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +CommandDepth +\end_layout + +\end_inset + + Depth of XML command. + Used only with XML-type formats. +\end_layout + +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +CopyStyle +\end_layout + +\end_inset + + +\begin_inset CommandInset label +LatexCommand label +name "des:CopyStyle" + +\end_inset + + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +[string] +\end_layout + \end_inset + Copies all the features of an existing style into the current one. + +\end_layout +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -EndFont +DependsOn +\end_layout + +\end_inset + + The name of a style whose preamble should be output +\emph on +before +\emph default + this one. + This allows to ensure some ordering of the preamble snippets when macros + definitions depend on one another. +\begin_inset Foot +status collapsed + +\begin_layout Plain Layout +Note that, besides that functionality, there is no way to ensure any ordering + of preambles. + The ordering that you see in a given version of LyX may change without + warning in later versions. \end_layout \end_inset -\begin_inset Quotes erd -\end_inset - -. \end_layout \begin_layout Description @@ -6997,7 +9579,7 @@ EndFont status collapsed \begin_layout Plain Layout -DefaultModule +EndLabeltype \end_layout \end_inset @@ -7007,120 +9589,113 @@ DefaultModule status collapsed \begin_layout Plain Layout -string] + +\emph on +No_Label +\emph default +, Box, Filled_Box, Static \end_layout \end_inset - Specifies a module to be included by default with this document class, - which should be specified by filename without the +] The type of label that stands at the end of the paragraph (or sequence + of paragraphs if \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -.module +LatexType \end_layout \end_inset - extension. - The user can still remove the module, but it will be active at the outset. - (This applies only when new files are created, or when this class is chosen - for an existing document.) -\end_layout - -\begin_layout Description + is \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -DefaultStyle +Environment \end_layout \end_inset - [ +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string +Item_Environment \end_layout \end_inset -] This is the style that will be assigned to new paragraphs, usually -\begin_inset Flex CharStyle:MenuItem + or +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Standard +List_Environment \end_layout \end_inset -. - This will default to the first defined style if not given, but you are - highly encouraged to use this directive. -\end_layout - -\begin_layout Description +). + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -ExcludesModule +No_Label \end_layout \end_inset - [ + means +\begin_inset Quotes eld +\end_inset + +nothing +\begin_inset Quotes erd +\end_inset + +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string +Box \end_layout \end_inset -] Indicates that the module in questionâwhich should be specified by filename - without the + (resp. \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -.module +\begin_inset space ~ +\end_inset + +Filled_Box \end_layout \end_inset - extensionâcannot be used with this document class. - This might be used in a journal-specific layout file to prevent, say, the - use of the +) is a white (resp. +\begin_inset space ~ +\end_inset + +black) square suitable for end of proof markers, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -theorems-sec +Static \end_layout \end_inset - module that numbers theorems by section. - This tag may -\emph on -not -\emph default - be used in a module. - Modules have their own way of excluding other modules (see -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:Layout-modules" - -\end_inset - -). + is an explicit text string. \end_layout \begin_layout Description @@ -7128,43 +9703,43 @@ reference "sub:Layout-modules" status collapsed \begin_layout Plain Layout -Float +EndLabelString \end_layout \end_inset - Defines a new float. - See Section -\begin_inset space ~ -\end_inset - - -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:Floats" + [ +\begin_inset Flex CharStyle:Code +status collapsed -\end_inset +\begin_layout Plain Layout +string="" +\end_layout - for details. - Must end with -\begin_inset Quotes eld \end_inset - +] The string used for a label with a \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -End +Static \end_layout \end_inset + +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +EndLabelType +\end_layout -\begin_inset Quotes erd \end_inset . + \end_layout \begin_layout Description @@ -7172,7 +9747,7 @@ End status collapsed \begin_layout Plain Layout -IfCounter +Fill_Bottom \end_layout \end_inset @@ -7182,31 +9757,25 @@ IfCounter status collapsed \begin_layout Plain Layout -string -\end_layout -\end_inset +\emph on +0 +\emph default +,1 +\end_layout -] Modifies the properties of the given counter. - If the counter does not exist, the section is ignored. - Must end with -\begin_inset Quotes eld \end_inset - +] Similar to \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -End +Fill_Top \end_layout \end_inset - -\begin_inset Quotes erd -\end_inset - . \end_layout @@ -7215,7 +9784,7 @@ End status collapsed \begin_layout Plain Layout -IfStyle +Fill_Top \end_layout \end_inset @@ -7225,57 +9794,64 @@ IfStyle status collapsed \begin_layout Plain Layout -string -\end_layout -\end_inset +\emph on +0 +\emph default +,1 +\end_layout -] Modifies the properties of the given paragraph style. - If the style does not exist, the section is ignored. - Must end with -\begin_inset Quotes eld \end_inset - -\begin_inset Flex CharStyle:Code +] With this parameter the +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -End +Fill \end_layout \end_inset + value of the +\begin_inset Quotes eld +\end_inset +Vertical space above \begin_inset Quotes erd \end_inset -. -\end_layout - -\begin_layout Description -\begin_inset Flex CharStyle:Code + list of the +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -Input +Edit\SpecialChar \menuseparator +Paragraph +\begin_inset space ~ +\end_inset + +Settings \end_layout \end_inset - As its name implies, this command allows you to include another layout - definition file within yours to avoid duplicating commands. - Common examples are the standard layout files, for example, -\begin_inset Flex CharStyle:Code + dialog can be set when initializing a paragraph with this style. +\begin_inset Foot status collapsed \begin_layout Plain Layout -stdclass.inc + +\emph on +Note from Jean-Marc: +\emph default + I'm not sure that this setting has much use, and it should probably be + removed in later versions. \end_layout \end_inset -, which contains most of the basic layouts. + \end_layout \begin_layout Description @@ -7283,50 +9859,47 @@ stdclass.inc status collapsed \begin_layout Plain Layout -InsetLayout +Font \end_layout \end_inset - This section (re-)defines the layout of an inset. - It can be applied to an existing inset of to a new, user-defined inset, - e. -\begin_inset space \thinspace{} -\end_inset - -g. -\begin_inset space \space{} -\end_inset - -a new character style. - See Section + The font used for both the text body +\emph on +and +\emph default + the label. + See section \begin_inset space ~ \end_inset \begin_inset CommandInset ref LatexCommand ref -reference "sub:Flex-insets-and" - -\end_inset +reference "sub:Font-description" - for more information. - Must end with -\begin_inset Quotes eld \end_inset - +. + Note that defining this font automatically defines the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -End +LabelFont \end_layout \end_inset + to the same value. + So you should define this one first if you also want to define +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +LabelFont +\end_layout -\begin_inset Quotes erd \end_inset . @@ -7337,88 +9910,96 @@ End status collapsed \begin_layout Plain Layout -LeftMargin +FreeSpacing \end_layout \end_inset - A string that indicates the width of the left margin on the screen, for - example, -\begin_inset Quotes eld -\end_inset + +\begin_inset CommandInset label +LatexCommand label +name "des:FreeSpacing" -MMMMM -\begin_inset Quotes erd \end_inset -. -\end_layout +[ +\emph on -\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -NoFloat + +\emph on +0 \end_layout \end_inset - This command deletes an existing float. - This is particularly useful when you want to suppress a float that has - be defined in an input file. -\end_layout -\begin_layout Description +\emph default +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -NoStyle +1 \end_layout \end_inset - This command deletes an existing style. - This is particularly useful when you want to suppress a style that has - be defined in an input file. -\end_layout - -\begin_layout Description +] Usually LyX doesn't allow you to insert more than one space between words, + since a space is considered as the separation between two words, not a + character or symbol of its own. + This is a very fine thing but sometimes annoying, for example, when typing + program code or plain LaTeX code. + For this reason, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -OutputFormat +FreeSpacing \end_layout \end_inset - A string indicating the file format (as defined in the Preferences dialog) - produced by this class. - It is mainly useful when + can be enabled. + Note that LyX will create protected blanks for the additional blanks when + in another mode than LaTeX-mode. +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -OutputType +HTML* \end_layout \end_inset - is `literate' and one wants to define a new type of literate document. - This string is reset to `docbook', `latex', or `literate' when the correspondin -g + These tags are used with XHTML output. + See +\begin_inset CommandInset ref +LatexCommand prettyref +reference "sub:Paragraph-Style-XHTML" + +\end_inset + +. +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -OutputType +InnerTag \end_layout \end_inset - parameter is encountered. + [[FIXME]] (Used only with XML-type formats.) \end_layout \begin_layout Description @@ -7426,77 +10007,68 @@ OutputType status collapsed \begin_layout Plain Layout -OutputType +InPreamble \end_layout \end_inset - A string indicating what sort of output documents using this class will - produce. - At present, the options are: `docbook', `latex', and `literate'. -\end_layout - -\begin_layout Description + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\series medium -PageStyle +[1, 0] \end_layout \end_inset - [ -\emph on + If 1, marks the layout as to be included in the document preamble rather + than in the document body. + This is useful for document classes that want such information as the title + and author to appear in the preamble. +\end_layout +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -plain +InTitle \end_layout \end_inset - -\emph default -, + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -empty +[1, 0] \end_layout \end_inset -, + If 1, marks the layout as being part of a title block (see also the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -headings +TitleLatexType \end_layout \end_inset -] The class default pagestyle. - Can be changed in the -\begin_inset Flex CharStyle:MenuItem + and +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Document\SpecialChar \menuseparator -Settings +TitleLatexName \end_layout \end_inset - dialog. + global entries). \end_layout \begin_layout Description @@ -7504,52 +10076,49 @@ Settings status collapsed \begin_layout Plain Layout -Preamble +ItemSep \end_layout \end_inset - Sets the preamble for the LaTeX document. - Note that this will completely override any prior + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Preamble +float=0 \end_layout \end_inset - or +] This provides extra space between paragraphs that have the same layout. + If you put other layouts into an environment, each is separated with the + environment's \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -AddToPreamble +Parsep \end_layout \end_inset - declarations. - Must end with -\begin_inset Quotes eld -\end_inset - - +. + But the whole items of the environment are additionally separated with + this \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -EndPreamble +Itemsep \end_layout \end_inset - -\begin_inset Quotes erd -\end_inset - . + Note that this is a +\emph on + multiplier. \end_layout \begin_layout Description @@ -7557,22 +10126,34 @@ EndPreamble status collapsed \begin_layout Plain Layout -Provides +ItemTag \end_layout \end_inset - [ + [[FIXME]] (Used only with XML-type formats.) +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string +KeepEmpty \end_layout \end_inset -] [ + +\begin_inset CommandInset label +LatexCommand label +name "des:KeepEmpty" + +\end_inset + +[ +\emph on + \begin_inset Flex CharStyle:Code status collapsed @@ -7584,6 +10165,8 @@ status collapsed \end_inset + +\emph default , \begin_inset Flex CharStyle:Code status collapsed @@ -7594,23 +10177,31 @@ status collapsed \end_inset -] Whether the class already provides the feature +] Usually LyX does not allow you to leave a paragraph empty, since it would + lead to empty LaTeX output. + There are some cases where this could be desirable however: in a letter + template, the required fields can be provided as empty fields, so that + people do not forget them; in some special classes, a layout can be used + as some kind of break, which does not contain actual text. +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string +LabelBottomsep \end_layout \end_inset -. - A feature is in general the name of a package ( + [float=0] The vertical space between the label and the text body. + Only used for labels that are above the text body ( \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -amsmath +Top_Environment \end_layout \end_inset @@ -7620,140 +10211,170 @@ amsmath status collapsed \begin_layout Plain Layout -makeidx +Centered_Top_Environment \end_layout \end_inset -, \SpecialChar \ldots{} -) or a macro ( +). +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -url +LabelCounter \end_layout \end_inset -, + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -boldsymbol +string="" \end_layout \end_inset -,\SpecialChar \ldots{} -); the complete list of supported features is unfortunately not documented - outside the LyX source codeâbut see +] +\begin_inset Newline newline +\end_inset + +The name of the counter for automatic numbering. + +\begin_inset Newline newline +\end_inset + +This +\emph on +must +\emph default + be given if \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LaTeXFeatures.cpp +LabelType \end_layout \end_inset - if you're interested. - -\begin_inset Flex CharStyle:MenuItem + is +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Help\SpecialChar \menuseparator -LaTeX Configuration +Counter \end_layout \end_inset - also gives an overview of the supported packages. -\end_layout +. + In that case, the counter will be stepped each time the layout appears. + +\begin_inset Newline newline +\end_inset -\begin_layout Description +This +\emph on +may +\emph default + also be given if \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -ProvidesModule +LabelType \end_layout \end_inset - [ + is \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string +Enumerate \end_layout \end_inset -] Indicates that this layout provides the functionality of the module mentioned, - which should be specified by the filename without the +, though this case is a bit complicated. + Suppose you declare +\begin_inset Quotes eld +\end_inset + + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -.module +LabelCounter myenum \end_layout \end_inset - extension. - This will typically be used if the layout includes the module directly, - rather than using the + +\begin_inset Quotes erd +\end_inset + +. + Then the actual counters used are \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -DefaultModule +myenumi \end_layout \end_inset - tag to indicate that it ought to be used. - It could be used in a module that provided an alternate implementation - of the same functionality. -\end_layout - -\begin_layout Description +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Requires +myenumii \end_layout \end_inset - [ +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string +myenumiii \end_layout \end_inset -] Whether the class requires the feature +, and \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string +myenumiv \end_layout \end_inset -. - Multiple features must be separated by commas. - Note that you can only request supported features. +, much as in LaTeX. + These counters must all be declared separately. +\begin_inset Newline newline +\end_inset + +See Section +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Counters" + +\end_inset + + for details on counters. \end_layout \begin_layout Description @@ -7761,18 +10382,21 @@ string status collapsed \begin_layout Plain Layout -RightMargin +LabelFont \end_layout \end_inset - A string that indicates the width of the right margin on the screen, for - example, -\begin_inset Quotes eld + The font used for the label. + See section +\begin_inset space ~ \end_inset -MMMMM -\begin_inset Quotes erd + +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Font-description" + \end_inset . @@ -7783,123 +10407,143 @@ MMMMM status collapsed \begin_layout Plain Layout -SecNumDepth +LabelIndent \end_layout \end_inset - Sets which divisions get numbered. - Corresponds to the + Text that indicates how far a label should be indented. +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -secnumdepth +Labelsep \end_layout \end_inset - counter in LaTeX. -\end_layout - -\begin_layout Description + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Sides +string="" \end_layout \end_inset - [ -\emph on +] The horizontal space between the label and the text body. + Only used for labels that are not above the text body. +\end_layout +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -1 +LabelString \end_layout \end_inset - -\emph default -, + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -2 +string="" \end_layout \end_inset -] Whether the class-default should be printing on one or both sides of the - paper. - Can be changed in the -\begin_inset Flex CharStyle:MenuItem +] The string used for a label with a +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Document\SpecialChar \menuseparator -Settings +Static \end_layout \end_inset - dialog. -\end_layout - -\begin_layout Description + labeltype. + When \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Style +LabelCounter \end_layout \end_inset - This sequence defines a paragraph style. - If the style does not yet exist, it is created; if it does exist, its parameter -s are redefined Must end with -\begin_inset Quotes eld + is set, this string can be contain the special formatting commands described + in Section +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Counters" + \end_inset +. +\begin_inset Foot +status collapsed +\begin_layout Plain Layout +For the sake of backwards compatibility, the string \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -End +@ +\emph on +style-name +\emph default +@ \end_layout \end_inset + will be replaced by the expanded +\begin_inset Flex CharStyle:Code +status collapsed -\begin_inset Quotes erd -\end_inset +\begin_layout Plain Layout +LabelString +\end_layout -. -\begin_inset Newline newline \end_inset -See Section -\begin_inset space ~ -\end_inset + of style +\begin_inset Flex CharStyle:Code +status collapsed +\begin_layout Plain Layout + +\emph on +style-name +\end_layout + +\end_inset +. + This feature is now obsolete and should be replaced by the mechanisms of + Section \begin_inset CommandInset ref LatexCommand ref -reference "sub:Paragraph-Styles" +reference "sub:Counters" \end_inset - for details on paragraph styles. +. +\end_layout + +\end_inset + + \end_layout \begin_layout Description @@ -7907,7 +10551,7 @@ reference "sub:Paragraph-Styles" status collapsed \begin_layout Plain Layout -TitleLatexName +LabelStringAppendix \end_layout \end_inset @@ -7917,217 +10561,242 @@ TitleLatexName status collapsed \begin_layout Plain Layout -string="maketitle" +string="" \end_layout \end_inset -] The name of the command or environment to be used with +] This is used inside the appendix instead of \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -TitleLatexType +LabelString \end_layout \end_inset . -\end_layout - -\begin_layout Description + Note that every \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -TitleLatexType +LabelString \end_layout \end_inset - [ + statement resets \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -CommandAfter +LabelStringAppendix \end_layout \end_inset -, + too. +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Environment +LabelTag \end_layout \end_inset -] Indicates what kind of markup is used to define the title of a document. - + [FIXME] (Used only with XML-type formats.) +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -CommandAfter +LabelType \end_layout \end_inset - means that the macro with name + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -TitleLatexName -\end_layout -\end_inset +\emph on +No_Label +\emph default +, Manual, Static, Top_Environment, Centered_Top_Environment, Counter, Sensitive, + Enumerate, Itemize, Bibliography +\end_layout - will be inserted after the last layout which has -\begin_inset Quotes eld \end_inset +] +\end_layout +\begin_deeper +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -InTitle 1 +Manual \end_layout \end_inset - -\begin_inset Quotes erd + means the label is the very first word (up to the first real blank). + Use protected spaces (like +\begin_inset space ~ \end_inset -. +that one) if you want more than one word as the label. +\end_layout + +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Environment +Static \end_layout \end_inset - corresponds to the case where the block of paragraphs which have -\begin_inset Quotes eld -\end_inset - - + means the label is simply whatever \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -InTitle 1 +LabelString \end_layout \end_inset + declares it to be. + Note that this really is `static'. +\end_layout -\begin_inset Quotes erd -\end_inset - - should be enclosed into the +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -TitleLatexName +Top_Environment \end_layout \end_inset - environment. + and +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +Centered_Top_Environment \end_layout -\begin_layout Description +\end_inset + + are special cases of \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -TocDepth +Static \end_layout \end_inset - Sets which divisions are included in the table of contents. - Corresponds to the -\begin_inset Flex CharStyle:Code +. + The label will be printed above the paragraph, but only at the top of an + environment or the top of a chain of paragraphs with this layout. + This might be used with the +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -tocdepth +Abstract \end_layout \end_inset - counter in LaTeX. + layout, for example. \end_layout -\begin_layout Subsection +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -ClassOptions +Sensitive \end_layout \end_inset - section -\begin_inset CommandInset label -LatexCommand label -name "sub:ClassOptions" + is a special case for the caption-labels +\begin_inset Quotes eld +\end_inset +Figure +\begin_inset Quotes erd \end_inset + and +\begin_inset Quotes eld +\end_inset -\end_layout +Table +\begin_inset Quotes erd +\end_inset -\begin_layout Standard -The +. + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -ClassOptions +Sensitive \end_layout \end_inset - section can contain the following entries: + means the (hardcoded) label string depends on the kind of float: It is + hardcoded to be `FloatType N', where N is the value of the counter associated + with the float. \end_layout -\begin_layout Description +\begin_layout Itemize +The \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -FontSize +Counter \end_layout \end_inset - [ + label type defines automatically numbered labels. + The \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string="10|11|12" +LabelString \end_layout \end_inset -] The list of available font sizes for the document's main font, separated - by + will be expanded to resolve any counter references it contains: For example, + it might be \begin_inset Quotes eld \end_inset @@ -8136,7 +10805,11 @@ string="10|11|12" status collapsed \begin_layout Plain Layout -| +Section +\backslash +thechapter. +\backslash +thesection \end_layout \end_inset @@ -8146,212 +10819,267 @@ status collapsed \end_inset . + See Section +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Counters" + +\end_inset + + for more information on counters. \end_layout -\begin_layout Description +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Header +Enumerate \end_layout \end_inset - Used to set the DTD line with XML-based output classes. - E. -\begin_inset space \thinspace{} -\end_inset - -g.: PUBLIC -\begin_inset Quotes eld -\end_inset - --//OASIS//DTD DocBook V4.2//EN -\begin_inset Quotes erd -\end_inset - -. + produces the usual sort of enumeration labels. + At present, it is hardcoded to use Arabic numerals, lowercase letters, + small Roman numerals, and uppercase letters for the four possible depths. \end_layout -\begin_layout Description +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -PageStyle +Itemize \end_layout \end_inset - [ + produces various bullets at the different levels. + It is also hardcoded. +\end_layout + +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string="empty|plain|headings|fancy" +Bibliography \end_layout \end_inset -] The list of available page styles, separated by -\begin_inset Quotes eld -\end_inset - - + is used internally by LyX and should be used only with \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -| +LatexType BibEnvironment \end_layout \end_inset - -\begin_inset Quotes erd -\end_inset - . \end_layout +\end_deeper \begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Other +LangPreamble \end_layout \end_inset - [ + Like \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string="" +BabelPreamble \end_layout \end_inset -] Some document class options, separated by a comma, that will be added - to the optional part of the +, but this preamble snippet occurs independently from the babel package, + and only for the document language. + Must end with +\begin_inset Quotes eld +\end_inset + + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\backslash -documentclass +EndLangPreamble \end_layout \end_inset - command. + +\begin_inset Quotes erd +\end_inset + +. \end_layout +\begin_deeper \begin_layout Standard -The +If the style defines text that appears in the typeset document, it may use + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -ClassOptions +LangPreamble \end_layout \end_inset - section must end with -\begin_inset Quotes eld -\end_inset - - + and \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -End +BabelPreamble \end_layout \end_inset + to support non-english and even multilanguage documents correctly. + The following excerpt (from the +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +theorems-ams.inc +\end_layout -\begin_inset Quotes erd \end_inset -. + file) shows how this works: \end_layout -\begin_layout Subsection -Paragraph Styles -\begin_inset CommandInset label -LatexCommand label -name "sub:Paragraph-Styles" +\begin_layout LyX-Code +Preamble +\end_layout -\end_inset +\begin_layout LyX-Code + +\backslash +theoremstyle{remark} +\end_layout +\begin_layout LyX-Code + +\backslash +newtheorem{claim}[thm]{ +\backslash +protect +\backslash +claimname} +\end_layout +\begin_layout LyX-Code +EndPreamble \end_layout -\begin_layout Standard -A paragraph style description looks like this: -\begin_inset Foot -status collapsed +\begin_layout LyX-Code +LangPreamble +\end_layout -\begin_layout Plain Layout -Note that this will either define a new layout or modify an existing one. +\begin_layout LyX-Code + +\backslash +providecommand{ +\backslash +claimname}{_(Claim)} \end_layout -\end_inset +\begin_layout LyX-Code +\end_layout +\begin_layout LyX-Code +EndLangPreamble \end_layout \begin_layout LyX-Code -Style -\family roman -\emph on -name +BabelPreamble \end_layout \begin_layout LyX-Code - ... + +\backslash +addto +\backslash +captions$$lang{ +\backslash +renewcommand{ +\backslash +claimname}{_(Claim)}} \end_layout \begin_layout LyX-Code -End +EndBabelPreamble \end_layout \begin_layout Standard -where the following commands are allowed: +The key to correct translation of the user visible text is the definition + of the command +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout + +\backslash +claimname \end_layout -\begin_layout Description +\end_inset + + in the language preamble. + This command holds the name of the theorem that will appear in the output. + The \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Align +BabelPreamble \end_layout \end_inset - [ + then uses the commands offered by the babel package to redefine \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -\emph on -block -\emph default -, left, right, center +\backslash +claimname +\end_layout + +\end_inset + + for each used language in multilanguage documents. +\end_layout + +\end_deeper +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed + +\begin_layout Plain Layout +LatexName \end_layout \end_inset -] Paragraph alignment. + The name of the corresponding LaTeX stuff. + Either the environment or command name. \end_layout \begin_layout Description @@ -8359,29 +11087,23 @@ block status collapsed \begin_layout Plain Layout -AlignPossible +LatexParam \end_layout \end_inset - [ + An optional parameter for the corresponding \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -block -\emph default -, left, right, center +LatexName \end_layout \end_inset -] A comma separated list of permitted alignments. - (Some LaTeX styles prohibit certain alignments, since those wouldn't make - sense. - For example a right-aligned or centered enumeration isn't possible.) + stuff. + This parameter cannot be changed from within LyX. \end_layout \begin_layout Description @@ -8389,396 +11111,387 @@ block status collapsed \begin_layout Plain Layout -BabelPreamble +LatexType \end_layout \end_inset - Language dependent information to be included in the LaTeX preamble when - this style is used. - Note that this will completely override any prior + +\begin_inset CommandInset label +LatexCommand label +name "des:LatexType" + +\end_inset + +[ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -BabelPreamble -\end_layout -\end_inset +\emph on +Paragraph +\emph default +, Command, Environment, Item_Environment, +\end_layout - declarations. - Must end with -\begin_inset Quotes eld \end_inset - + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -EndBabelPreamble +List_Environment, Bib_Environment \end_layout \end_inset +] How the layout should be translated into LaTeX. +\begin_inset Foot +status collapsed -\begin_inset Quotes erd -\end_inset - -. - The contents of this tag will occur once in the LaTeX preamble for each - language used by the document. - Each time, the following substitutions are made: -\end_layout - -\begin_deeper -\begin_layout Itemize +\begin_layout Plain Layout \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -$$lang +LatexType \end_layout \end_inset - is replaced by the language name (as used by the babel package). + is perhaps a bit misleading, since these rules apply to SGML classes, too. + Visit the SGML class files for specific examples. \end_layout -\begin_layout Itemize -The -\begin_inset Quotes eld \end_inset -Function -\begin_inset Quotes erd -\end_inset - +\end_layout + +\begin_deeper +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -_() +Paragraph \end_layout \end_inset - replaces its argument by the translation of the argument to the current - language. -\end_layout - -\begin_layout Standard -This preamble snippet will only be used if the document contains more than - one language and the babel package is used. + means nothing special. + \end_layout -\end_deeper -\begin_layout Description +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -BottomSep +Command \end_layout \end_inset - [ + means \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -float=0 -\end_layout - -\end_inset -] -\begin_inset Foot -status collapsed +\backslash -\begin_layout Plain Layout -Note that a `float' here is a real number, such as: 1.5. +\emph on +LatexName +\emph default +{\SpecialChar \ldots{} +} \end_layout \end_inset - The vertical space with which the last of a chain of paragraphs with this - layout is separated from the following paragraph. - If the next paragraph has another layout, the separations are not simply - added, but the maximum is taken. +. \end_layout -\begin_layout Description +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Category +Environment \end_layout \end_inset - + means \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -[string] + +\backslash +begin{ +\emph on +LatexName +\emph default +}\SpecialChar \ldots{} + +\backslash +end{ +\emph on +LatexName +\emph default +} \end_layout \end_inset - The category for this style. - This is used to group related styles in the Layout combobox on the toolbar. - Any string can be used, but you may want to use existing categories with - your own styles. +. \end_layout -\begin_layout Description +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -CommandDepth +Item_Environment \end_layout \end_inset - Depth of XML command. - Used only with XML-type formats. -\end_layout - -\begin_layout Description + is the same as \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -CopyStyle +Environment \end_layout \end_inset - -\begin_inset CommandInset label -LatexCommand label -name "des:CopyStyle" - -\end_inset - - +, except that an \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -[string] + +\backslash +item \end_layout \end_inset - Copies all the features of an existing style into the current one. + is generated for each paragraph of this environment. \end_layout -\begin_layout Description +\begin_layout Itemize \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -DependsOn +List_Environment \end_layout \end_inset - The name of a style whose preamble should be output -\emph on -before -\emph default - this one. - This allows to ensure some ordering of the preamble snippets when macros - definitions depend on one another. -\begin_inset Foot + is the same as +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Note that, besides that functionality, there is no way to ensure any ordering - of preambles. - The ordering that you see in a given version of LyX may change without - warning in later versions. +Item_Environment \end_layout \end_inset - -\end_layout - -\begin_layout Description +, except that \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -EndLabeltype +LabelWidthString \end_layout \end_inset - [ + is passed as an argument to the environment. + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -No_Label -\emph default -, Box, Filled_Box, Static +LabelWidthString \end_layout \end_inset -] The type of label that stands at the end of the paragraph (or sequence - of paragraphs if -\begin_inset Flex CharStyle:Code + can be defined in the +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -LatexType + +\bar under +L +\bar default +ayout\SpecialChar \menuseparator + +\bar under +P +\bar default +aragraph \end_layout \end_inset - is -\begin_inset Flex CharStyle:Code -status collapsed + dialog. + +\end_layout -\begin_layout Plain Layout -Environment +\begin_layout Standard +Putting the last few things together, the LaTeX output will be either: \end_layout -\end_inset +\begin_layout LyX-Code -, -\begin_inset Flex CharStyle:Code -status collapsed +\backslash +latexname[latexparam]{\SpecialChar \ldots{} +} +\end_layout -\begin_layout Plain Layout -Item_Environment +\begin_layout Standard +or: \end_layout -\end_inset +\begin_layout LyX-Code + +\backslash +begin{latexname}[latexparam] \SpecialChar \ldots{} + +\backslash +end{latexname}. +\end_layout + +\begin_layout Standard +depending upon the LaTeX type. +\end_layout - or +\end_deeper +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -List_Environment +LeftMargin \end_layout \end_inset -). - + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -No_Label +string="" \end_layout \end_inset - means -\begin_inset Quotes eld -\end_inset - -nothing -\begin_inset Quotes erd +] If you put layouts into environments, the leftmargins are not simply added, + but added with a factor +\begin_inset Formula $\frac{4}{depth+4}$ \end_inset -, +. + Note that this parameter is also used when the margin is defined as \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Box +Manual \end_layout \end_inset - (resp. + or \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -\begin_inset space ~ -\end_inset - -Filled_Box +Dynamic \end_layout \end_inset -) is a white (resp. -\begin_inset space ~ +. + Then it is added to the manual or dynamic margin. + +\begin_inset Newline newline \end_inset -black) square suitable for end of proof markers, +The argument is passed as a string. + For example +\begin_inset Quotes eld +\end_inset + + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Static +MM \end_layout \end_inset - is an explicit text string. -\end_layout - -\begin_layout Description -\begin_inset Flex CharStyle:Code -status collapsed -\begin_layout Plain Layout -EndLabelString -\end_layout +\begin_inset Quotes erd +\end_inset + means that the paragraph is indented with the width of +\begin_inset Quotes eld \end_inset - [ + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string="" +MM \end_layout \end_inset -] The string used for a label with a -\begin_inset Flex CharStyle:Code -status collapsed -\begin_layout Plain Layout -Static -\end_layout +\begin_inset Quotes erd +\end_inset + in the normal font. + You can get a negative width by prefixing the string with +\begin_inset Quotes eld \end_inset - + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -EndLabelType +- \end_layout \end_inset + +\begin_inset Quotes erd +\end_inset + . + This way was chosen so that the look is the same with each used screen + font. \end_layout @@ -8787,7 +11500,7 @@ EndLabelType status collapsed \begin_layout Plain Layout -Fill_Bottom +Margin \end_layout \end_inset @@ -8799,69 +11512,40 @@ status collapsed \begin_layout Plain Layout \emph on -0 +Static \emph default -,1 +, Manual, Dynamic, First_Dynamic, Right_Address_Box \end_layout \end_inset -] Similar to -\begin_inset Flex CharStyle:Code -status collapsed - -\begin_layout Plain Layout -Fill_Top -\end_layout - +] +\begin_inset Newline newline \end_inset -. -\end_layout - -\begin_layout Description +The kind of margin that the layout has on the left side. + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Fill_Top +Static \end_layout \end_inset - [ + just means a fixed margin. + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -0 -\emph default -,1 -\end_layout - -\end_inset - -] With this parameter the -\begin_inset Flex CharStyle:MenuItem -status collapsed - -\begin_layout Plain Layout -Fill +Manual \end_layout \end_inset - value of the -\begin_inset Quotes eld -\end_inset - -Vertical space above -\begin_inset Quotes erd -\end_inset - - list of the + means that the left margin depends on the string entered in the \begin_inset Flex CharStyle:MenuItem status collapsed @@ -8876,73 +11560,78 @@ Settings \end_inset - dialog can be set when initializing a paragraph with this style. -\begin_inset Foot + dialog. + This is used to typeset nice lists without tabulators. + +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -Note from Jean-Marc: -\emph default - I'm not sure that this setting has much use, and it should probably be - removed in later versions. +Dynamic \end_layout \end_inset - -\end_layout + means that the margin depends on the size of the label. + This is used for automatic enumerated headlines. + It is obvious that the headline +\begin_inset Quotes eld +\end_inset -\begin_layout Description -\begin_inset Flex CharStyle:Code -status collapsed +5.4.3.2.1 Very long headline +\begin_inset Quotes erd +\end_inset -\begin_layout Plain Layout -Font -\end_layout + must have a wider left margin (as wide as +\begin_inset Quotes eld +\end_inset +5.4.3.2.1 +\begin_inset Quotes erd \end_inset - The font used for both the text body -\emph on -and -\emph default - the label. - See section -\begin_inset space ~ + plus the space) than +\begin_inset Quotes eld \end_inset +3.2 Very long headline +\begin_inset Quotes erd +\end_inset -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:Font-description" +, even if standard +\begin_inset Quotes eld +\end_inset +word processors +\begin_inset Quotes erd \end_inset -. - Note that defining this font automatically defines the + are not able to do this. + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelFont +First_Dynamic \end_layout \end_inset - to the same value. - So you should define this one first if you also want to define + is similar, but only the very first row of the paragraph is dynamic, while + the others are static; this is used, for example, for descriptions. + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelFont +Right_Address_Box \end_layout \end_inset -. + means the margin is chosen in a way that the longest row of this paragraph + fits to the right margin. + This is used to typeset an address on the right edge of the page. \end_layout \begin_layout Description @@ -8950,21 +11639,12 @@ LabelFont status collapsed \begin_layout Plain Layout -FreeSpacing +NeedProtect \end_layout \end_inset - -\begin_inset CommandInset label -LatexCommand label -name "des:FreeSpacing" - -\end_inset - -[ -\emph on - + [ \begin_inset Flex CharStyle:Code status collapsed @@ -8976,9 +11656,7 @@ status collapsed \end_inset - -\emph default -, +, \begin_inset Flex CharStyle:Code status collapsed @@ -8988,37 +11666,24 @@ status collapsed \end_inset -] Usually LyX doesn't allow you to insert more than one space between words, - since a space is considered as the separation between two words, not a - character or symbol of its own. - This is a very fine thing but sometimes annoying, for example, when typing - program code or plain LaTeX code. - For this reason, +] Whether fragile commands in this layout should be \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -FreeSpacing -\end_layout - -\end_inset - - can be enabled. - Note that LyX will create protected blanks for the additional blanks when - in another mode than LaTeX-mode. -\end_layout - -\begin_layout Description -\begin_inset Flex CharStyle:Code -status collapsed -\begin_layout Plain Layout -InnerTag +\backslash +protect \end_layout \end_inset - [[FIXME]] (Used only with XML-type formats.) +'ed. + (Note: This is +\emph on +not +\emph default + whether this command should itself be protected.) \end_layout \begin_layout Description @@ -9026,42 +11691,50 @@ InnerTag status collapsed \begin_layout Plain Layout -InTitle +Newline \end_layout \end_inset - + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -[1, 0] +0 \end_layout \end_inset - If 1, marks the layout as being part of a title block (see also the +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -TitleLatexType + +\emph on +1 \end_layout \end_inset - and +] Whether newlines are translated into LaTeX newlines ( \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -TitleLatexName + +\backslash + +\backslash + \end_layout \end_inset - global entries). +) or not. + The translation can be switched off to allow more comfortable LaTeX editing + inside LyX. \end_layout \begin_layout Description @@ -9069,7 +11742,7 @@ TitleLatexName status collapsed \begin_layout Plain Layout -ItemSep +NextNoIndent \end_layout \end_inset @@ -9079,52 +11752,45 @@ ItemSep status collapsed \begin_layout Plain Layout -float=0 +1 \end_layout \end_inset -] This provides extra space between paragraphs that have the same layout. - If you put other layouts into an environment, each is separated with the - environment's +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Parsep + +\emph on +0 \end_layout \end_inset -. - But the whole items of the environment are additionally separated with - this +] Whether the following Paragraph is allowed to indent its very first row. + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Itemsep +1 \end_layout \end_inset -. - Note that this is a -\emph on - multiplier. -\end_layout - -\begin_layout Description + means that it is not allowed to do so; \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -ItemTag +0 \end_layout \end_inset - [[FIXME]] (Used only with XML-type formats.) + means it could do so if it wants to. \end_layout \begin_layout Description @@ -9132,50 +11798,38 @@ ItemTag status collapsed \begin_layout Plain Layout -KeepEmpty +ObsoletedBy \end_layout \end_inset - -\begin_inset CommandInset label -LatexCommand label -name "des:KeepEmpty" - -\end_inset - -[ -\emph on + Name of a layout that has replaced this layout. + This is used to rename a layout, while keeping backward compatibility. +\end_layout +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -0 +OptionalArgs \end_layout \end_inset - -\emph default -, + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -1 +int=0 \end_layout \end_inset -] Usually LyX does not allow you to leave a paragraph empty, since it would - lead to empty LaTeX output. - There are some cases where this could be desirable however: in a letter - template, the required fields can be provided as empty fields, so that - people do not forget them; in some special classes, a layout can be used - as some kind of break, which does not contain actual text. +] The number of optional arguments that can be used with this layout. + This is useful for things like section headings, and only makes sense with + LaTeX. \end_layout \begin_layout Description @@ -9183,229 +11837,218 @@ status collapsed status collapsed \begin_layout Plain Layout -LabelBottomsep +ParIndent \end_layout \end_inset - [float=0] The vertical space between the label and the text body. - Only used for labels that are above the text body ( + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Top_Environment +string="" \end_layout \end_inset -, +] The indent of the very first line of a paragraph. + The \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Centered_Top_Environment +Parindent \end_layout \end_inset -). -\end_layout - -\begin_layout Description + will be fixed for a certain layout. + The exception is Standard layout, since the indentation of a Standard layout + paragraph can be prohibited with \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelCounter +NextNoIndent \end_layout \end_inset - [ +. + Also, Standard layout paragraphs inside environments use the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string="" +Parindent \end_layout \end_inset -] -\begin_inset Newline newline -\end_inset - -The name of the counter for automatic numbering. - -\begin_inset Newline newline -\end_inset + of the environment, not their native one. + For example, Standard paragraphs inside an enumeration are not indented. +\end_layout -This -\emph on -must -\emph default - be given if +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelType +Parsep \end_layout \end_inset - is + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Counter +float=0 \end_layout \end_inset -. - In that case, the counter will be stepped each time the layout appears. - -\begin_inset Newline newline -\end_inset +] The vertical space between two paragraphs of this layout. +\end_layout -This -\emph on -may -\emph default - also be given if +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelType +Parskip \end_layout \end_inset - is + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Enumerate +float=0 \end_layout \end_inset -, though this case is a bit complicated. - Suppose you declare +] LyX allows the user to choose either \begin_inset Quotes eld \end_inset +indent +\begin_inset Quotes erd +\end_inset -\begin_inset Flex CharStyle:Code -status collapsed - -\begin_layout Plain Layout -LabelCounter myenum -\end_layout + or +\begin_inset Quotes eld +\end_inset +skip +\begin_inset Quotes erd \end_inset + to typeset a document. + When +\begin_inset Quotes eld +\end_inset +indent \begin_inset Quotes erd \end_inset -. - Then the actual counters used are -\begin_inset Flex CharStyle:Code -status collapsed + is chosen, this value is completely ignored. + When +\begin_inset Quotes eld +\end_inset -\begin_layout Plain Layout -myenumi -\end_layout +skip +\begin_inset Quotes erd +\end_inset + is chosen, the parindent of a LaTeXtype +\begin_inset Quotes eld \end_inset -, +Paragraph +\begin_inset Quotes erd +\end_inset + + layout is ignored and all paragraphs are separated by this parskip argument. + The vertical space is calculated with \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -myenumii +value +\begin_inset space ~ +\end_inset + +* DefaultHeight \end_layout \end_inset -, + where \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -myenumiii +DefaultHeight \end_layout \end_inset -, and + is the height of a row with the normal font. + This way, the look stays the same with different screen fonts. +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -myenumiv +PassThru \end_layout \end_inset -, much as in LaTeX. - These counters must all be declared separately. -\begin_inset Newline newline -\end_inset - -See Section -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:Counters" + +\begin_inset CommandInset label +LatexCommand label +name "des:PathThru" \end_inset - for details on counters. -\end_layout +[ +\emph on -\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelFont -\end_layout -\end_inset - - The font used for the label. - See section -\begin_inset space ~ -\end_inset - - -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:Font-description" +\emph on +0 +\end_layout \end_inset -. -\end_layout -\begin_layout Description +\emph default +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelIndent +1 \end_layout \end_inset - Text that indicates how far a label should be indented. +] Whether the contents of this paragraph should be output in raw form, meaning + without special translations that LaTeX would require. \end_layout \begin_layout Description @@ -9413,23 +12056,40 @@ LabelIndent status collapsed \begin_layout Plain Layout -Labelsep +Preamble \end_layout \end_inset - [ + +\begin_inset CommandInset label +LatexCommand label +name "des:Preamble" + +\end_inset + +Information to be included in the LaTeX preamble when this style is used. + Used to define macros, load packages, etc., required by this particular + style. + Must end with +\begin_inset Quotes eld +\end_inset + + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string="" +EndPreamble \end_layout \end_inset -] The horizontal space between the label and the text body. - Only used for labels that are not above the text body. + +\begin_inset Quotes erd +\end_inset + +. \end_layout \begin_layout Description @@ -9437,106 +12097,91 @@ string="" status collapsed \begin_layout Plain Layout -LabelString +Requires \end_layout \end_inset - [ +[ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string="" +string \end_layout \end_inset -] The string used for a label with a +] +\begin_inset CommandInset label +LatexCommand label +name "des:Requires" + +\end_inset + +Whether the layout requires the feature \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Static +string \end_layout \end_inset - labeltype. - When +. + See the description of \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelCounter +Provides \end_layout \end_inset - is set, this string can be contain the special formatting commands described - in Section + above (page \begin_inset CommandInset ref -LatexCommand ref -reference "sub:Counters" +LatexCommand pageref +reference "des:FreeSpacing" \end_inset -. -\begin_inset Foot -status collapsed +) for information on `features'. + +\end_layout -\begin_layout Plain Layout -For the sake of backwards compatibility, the string +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -@ -\emph on -style-name -\emph default -@ +RightMargin \end_layout \end_inset - will be replaced by the expanded + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelString +string="" \end_layout \end_inset - of style +] Similar to \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -style-name +LeftMargin \end_layout \end_inset . - This feature is now obsolete and should be replaced by the mechanisms of - Section -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:Counters" - -\end_inset - -. -\end_layout - -\end_inset - - \end_layout \begin_layout Description @@ -9544,7 +12189,7 @@ reference "sub:Counters" status collapsed \begin_layout Plain Layout -LabelStringAppendix +Spacing \end_layout \end_inset @@ -9554,1147 +12199,988 @@ LabelStringAppendix status collapsed \begin_layout Plain Layout -string="" + +\emph on +single +\emph default +, onehalf, double, other \end_layout \end_inset -] This is used inside the appendix instead of + +\emph on +value +\emph default +] This defines what the default spacing should be in the layout. + The arguments \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelString +single \end_layout \end_inset -. - Note that every +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelString +onehalf \end_layout \end_inset - statement resets + and \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelStringAppendix +double \end_layout \end_inset - too. -\end_layout - -\begin_layout Description + correspond respectively to a multiplier value of 1, 1.25 and 1.667. + If you specify the argument \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelTag +other \end_layout \end_inset - [FIXME] (Used only with XML-type formats.) -\end_layout - -\begin_layout Description +, then you should also provide a numerical argument which will be the actual + multiplier value. + Note that, contrary to other parameters, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelType +Spacing \end_layout \end_inset - [ + implies the generation of specific LaTeX code, using the package +\family roman + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -No_Label -\emph default -, Manual, Static, Top_Environment, Centered_Top_Environment, Counter, Sensitive, - Enumerate, Itemize, Bibliography +setspace.sty \end_layout \end_inset -] +. \end_layout -\begin_deeper -\begin_layout Itemize +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Manual +TextFont \end_layout \end_inset - means the label is the very first word (up to the first real blank). - Use protected spaces (like -\begin_inset space ~ + The font used for the text body . + See section +\begin_inset CommandInset ref +LatexCommand ref +reference "sub:Font-description" + \end_inset -that one) if you want more than one word as the label. - +. \end_layout -\begin_layout Itemize +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Static +TocLevel \end_layout \end_inset - means the label is simply whatever + +\series medium + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelString + +\series medium +[int] \end_layout \end_inset - declares it to be. - Note that this really is `static'. + +\series default + The level of the style in the table of contents. + This is used for automatic numbering of section headings. \end_layout -\begin_layout Itemize +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Top_Environment +TopSep \end_layout \end_inset - and + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Centered_Top_Environment +float=0 \end_layout \end_inset - are special cases of -\begin_inset Flex CharStyle:Code -status collapsed - -\begin_layout Plain Layout -Static +] The vertical space with which the very first of a chain of paragraphs + with this layout is separated from the previous paragraph. + If the previous paragraph has another layout, the separations are not simply + added, but the maximum is taken. \end_layout +\begin_layout Subsection +Floats +\begin_inset CommandInset label +LatexCommand label +name "sub:Floats" + \end_inset -. - The label will be printed above the paragraph, but only at the top of an - environment or the top of a chain of paragraphs with this layout. - This might be used with the + +\end_layout + +\begin_layout Standard +Since version 1.3.0 of LyX, it is has been both possible and necessary to + define the floats ( \begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -Abstract +figure \end_layout \end_inset - layout, for example. -\end_layout - -\begin_layout Itemize -\begin_inset Flex CharStyle:Code +, +\begin_inset Flex CharStyle:MenuItem status collapsed \begin_layout Plain Layout -Sensitive +table \end_layout \end_inset - is a special case for the caption-labels -\begin_inset Quotes eld -\end_inset - -Figure -\begin_inset Quotes erd -\end_inset - - and -\begin_inset Quotes eld -\end_inset - -Table -\begin_inset Quotes erd -\end_inset - -. - +, \SpecialChar \ldots{} +) in the text class itself. + Standard floats are included in the file \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Sensitive +stdfloats.inc \end_layout \end_inset - means the (hardcoded) label string depends on the kind of float: It is - hardcoded to be `FloatType N', where N is the value of the counter associated - with the float. +, so you may have to do no more than add \end_layout -\begin_layout Itemize -The -\begin_inset Flex CharStyle:Code -status collapsed - -\begin_layout Plain Layout -Counter +\begin_layout LyX-Code +Input stdfloats.inc \end_layout -\end_inset +\begin_layout Standard +to your layout file. + If you want to implement a text class that proposes some other float types + (like the AGU class bundled with LyX), the information below will hopefully + help you: +\end_layout - label type defines automatically numbered labels. - The +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelString +Extension \end_layout \end_inset - will be expanded to resolve any counter references it contains: For example, - it might be -\begin_inset Quotes eld -\end_inset - - + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Section -\backslash -thechapter. -\backslash -thesection +string \end_layout \end_inset - += \begin_inset Quotes erd \end_inset -. - See Section -\begin_inset CommandInset ref -LatexCommand ref -reference "sub:Counters" +\begin_inset Quotes erd \end_inset - for more information on counters. +] The file name extension of an auxiliary file for the list of figures (or + whatever). + LaTeX writes the captions to this file. \end_layout -\begin_layout Itemize +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Enumerate +GuiName \end_layout \end_inset - produces the usual sort of enumeration labels. - At present, it is hardcoded to use Arabic numerals, lowercase letters, - small Roman numerals, and uppercase letters for the four possible depths. -\end_layout - -\begin_layout Itemize + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Itemize +string \end_layout \end_inset - produces various bullets at the different levels. - It is also hardcoded. -\end_layout - -\begin_layout Itemize -\begin_inset Flex CharStyle:Code -status collapsed += +\begin_inset Quotes erd +\end_inset -\begin_layout Plain Layout -Bibliography -\end_layout +\begin_inset Quotes erd \end_inset - is used internally by LyX and should be used only with +] The string that will be used in the menus and also for the caption. + This is translated to the current language if babel is used. +\end_layout + +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LatexType BibEnvironment +HTML* \end_layout \end_inset -. + These are used for XHTML output. + See \end_layout -\end_deeper \begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LangPreamble +LaTeXBuiltin \end_layout \end_inset - Like + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -BabelPreamble -\end_layout -\end_inset +\emph on +0 +\end_layout -, but this preamble snippet occurs independently from the babel package, - and only for the document language. - Must end with -\begin_inset Quotes eld \end_inset - +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -EndLangPreamble +1 \end_layout \end_inset - -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_deeper -\begin_layout Standard -If the style defines text that appears in the typeset document, it may use - +] Set to \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LangPreamble +1 \end_layout \end_inset - and + if the float is already defined by the LaTeX document class. + If this is set to \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -BabelPreamble +0 \end_layout \end_inset - to support non-english and even multilanguage documents correctly. - The following excerpt (from the +, the float will be defined using the LaTeX package \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -theorems-ams.inc +float \end_layout \end_inset - file) shows how this works: -\end_layout - -\begin_layout LyX-Code -Preamble +. \end_layout -\begin_layout LyX-Code - -\backslash -theoremstyle{remark} -\end_layout +\begin_layout Description +\begin_inset Flex CharStyle:Code +status collapsed -\begin_layout LyX-Code - -\backslash -newtheorem{claim}[thm]{ -\backslash -protect -\backslash -claimname} +\begin_layout Plain Layout +ListName \end_layout -\begin_layout LyX-Code -EndPreamble -\end_layout +\end_inset -\begin_layout LyX-Code -LangPreamble -\end_layout + [ +\begin_inset Flex CharStyle:Code +status collapsed -\begin_layout LyX-Code - -\backslash -providecommand{ -\backslash -claimname}{_(Claim)} +\begin_layout Plain Layout +string \end_layout -\begin_layout LyX-Code - -\end_layout +\end_inset -\begin_layout LyX-Code -EndLangPreamble -\end_layout += +\begin_inset Quotes erd +\end_inset -\begin_layout LyX-Code -BabelPreamble -\end_layout -\begin_layout LyX-Code - -\backslash -addto -\backslash -captions$$lang{ -\backslash -renewcommand{ -\backslash -claimname}{_(Claim)}} -\end_layout +\begin_inset Quotes erd +\end_inset -\begin_layout LyX-Code -EndBabelPreamble +] The heading used for the list of floats. + This is translated to the document language. \end_layout -\begin_layout Standard -The key to correct translation of the user visible text is the definition - of the command +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\backslash -claimname +NumberWithin \end_layout \end_inset - in the language preamble. - This command holds the name of the theorem that will appear in the output. - The + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -BabelPreamble +string \end_layout \end_inset - then uses the commands offered by the babel package to redefine -\begin_inset Flex CharStyle:Code -status collapsed - -\begin_layout Plain Layout += +\begin_inset Quotes erd +\end_inset -\backslash -claimname -\end_layout +\begin_inset Quotes erd \end_inset - for each used language in multilanguage documents. -\end_layout - -\end_deeper -\begin_layout Description +] This (optional) argument determines whether floats of this class will + be numbered within some sectional unit of the document. + For example, if within is equal to \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LatexName +chapter \end_layout \end_inset - The name of the corresponding LaTeX stuff. - Either the environment or command name. -\end_layout - -\begin_layout Description -\begin_inset Flex CharStyle:Code -status collapsed - -\begin_layout Plain Layout -LatexParam +, the floats will be numbered within chapters. + \end_layout -\end_inset - - An optional parameter for the corresponding +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LatexName +Placement \end_layout \end_inset - stuff. - This parameter cannot be changed from within LyX. -\end_layout - -\begin_layout Description + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LatexType +string \end_layout \end_inset - -\begin_inset CommandInset label -LatexCommand label -name "des:LatexType" += +\begin_inset Quotes erd +\end_inset + +\begin_inset Quotes erd \end_inset -[ +] The default placement for the given class of floats. + The string should be as in standard LaTeX: \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -Paragraph -\emph default -, Command, Environment, Item_Environment, +t \end_layout \end_inset - +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -List_Environment, Bib_Environment +b \end_layout \end_inset -] How the layout should be translated into LaTeX. -\begin_inset Foot -status collapsed - -\begin_layout Plain Layout +, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LatexType -\end_layout - -\end_inset - - is perhaps a bit misleading, since these rules apply to SGML classes, too. - Visit the SGML class files for specific examples. +p \end_layout \end_inset - -\end_layout - -\begin_deeper -\begin_layout Itemize + and \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Paragraph +h \end_layout \end_inset - means nothing special. - -\end_layout - -\begin_layout Itemize -\begin_inset Flex CharStyle:Code + for top, bottom, page, and here, respectively. +\begin_inset Foot status collapsed \begin_layout Plain Layout -Command +Note that the order of these letters in the string is irrelevant, like in + LaTeX. \end_layout \end_inset - means + On top of that there is a new type, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\backslash - -\emph on -LatexName -\emph default -{\SpecialChar \ldots{} -} +H \end_layout \end_inset -. -\end_layout +, which does not really correspond to a float, since it means: put it +\begin_inset Quotes eld +\end_inset -\begin_layout Itemize +here +\begin_inset Quotes erd +\end_inset + + and nowhere else. + Note however that the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Environment +H \end_layout \end_inset - means + specifier is special and, because of implementation details, cannot be + used in non-built in float types. + If you do not understand what this means, just use +\begin_inset Quotes eld +\end_inset + + \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout +tbp +\end_layout -\backslash -begin{ -\emph on -LatexName -\emph default -}\SpecialChar \ldots{} +\end_inset -\backslash -end{ -\emph on -LatexName -\emph default -} -\end_layout +\begin_inset Quotes erd \end_inset . - \end_layout -\begin_layout Itemize +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Item_Environment +Style \end_layout \end_inset - is the same as + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Environment +string \end_layout \end_inset -, except that an += +\begin_inset Quotes erd +\end_inset + + +\begin_inset Quotes erd +\end_inset + +] The style used when defining the float using \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout \backslash -item +newfloat \end_layout \end_inset - is generated for each paragraph of this environment. - +. \end_layout -\begin_layout Itemize +\begin_layout Description \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -List_Environment +Type \end_layout \end_inset - is the same as + [ \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Item_Environment +string \end_layout \end_inset -, except that -\begin_inset Flex CharStyle:Code -status collapsed += +\begin_inset Quotes erd +\end_inset -\begin_layout Plain Layout -LabelWidthString -\end_layout +\begin_inset Quotes erd \end_inset - is passed as an argument to the environment. - +] The +\begin_inset Quotes eld +\end_inset + +type +\begin_inset Quotes erd +\end_inset + + of the new class of floats, like program or algorithm. + After the appropriate \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LabelWidthString + +\backslash +newfloat \end_layout \end_inset - can be defined in the -\begin_inset Flex CharStyle:MenuItem +, commands such as +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -\bar under -L -\bar default -ayout\SpecialChar \menuseparator - -\bar under -P -\bar default -aragraph +\backslash +begin{program} \end_layout \end_inset - dialog. - -\end_layout - -\begin_layout Standard -Putting the last few things together, the LaTeX output will be either: -\end_layout + or +\begin_inset Flex CharStyle:Code +status collapsed -\begin_layout LyX-Code +\begin_layout Plain Layout \backslash -latexname[latexparam]{\SpecialChar \ldots{} -} -\end_layout - -\begin_layout Standard -or: +end{algorithm*} \end_layout -\begin_layout LyX-Code +\end_inset -\backslash -begin{latexname}[latexparam] \SpecialChar \ldots{} - -\backslash -end{latexname}. + will be available. \end_layout \begin_layout Standard -depending upon the LaTeX type. -\end_layout - -\end_deeper -\begin_layout Description +Note that defining a float with type \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -LeftMargin + +\emph on +type \end_layout \end_inset - [ + automatically defines the corresponding counter with name \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -string="" + +\emph on +type \end_layout \end_inset -] If you put layouts into environments, the leftmargins are not simply added, - but added with a factor -\begin_inset Formula $\frac{4}{depth+4}$ +. +\end_layout + +\begin_layout Subsection +Flex insets and InsetLayout +\begin_inset CommandInset label +LatexCommand label +name "sub:Flex-insets-and" + \end_inset -. - Note that this parameter is also used when the margin is defined as -\begin_inset Flex CharStyle:Code -status collapsed -\begin_layout Plain Layout -Manual \end_layout -\end_inset +\begin_layout Standard +LyX has supported character styles since version 1.4.0; as of version 1.6.0, + these are called Flex insets. + +\end_layout + +\begin_layout Standard +Flex insets come in three different kinds: +\end_layout - or +\begin_layout Itemize +character style ( \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Dynamic +CharStyle \end_layout \end_inset -. - Then it is added to the manual or dynamic margin. +): These define semantic markup corresponding to such LaTeX commands as -\begin_inset Newline newline -\end_inset - -The argument is passed as a string. - For example -\begin_inset Quotes eld -\end_inset - - \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -MM + +\backslash +noun \end_layout \end_inset + and +\begin_inset Flex CharStyle:Code +status collapsed -\begin_inset Quotes erd -\end_inset +\begin_layout Plain Layout + +\backslash +code +\end_layout - means that the paragraph is indented with the width of -\begin_inset Quotes eld \end_inset +. +\end_layout +\begin_layout Itemize +user custom ( \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -MM +Custom \end_layout \end_inset - -\begin_inset Quotes erd -\end_inset - - in the normal font. - You can get a negative width by prefixing the string with -\begin_inset Quotes eld -\end_inset - - +): These can be used to define custom collapsible insets, similar to TeX + code, footnote, and the like. + An obvious example is an endnote inset, which is defined in the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -- +endnote \end_layout \end_inset - -\begin_inset Quotes erd -\end_inset - -. - This way was chosen so that the look is the same with each used screen - font. - + module. \end_layout -\begin_layout Description +\begin_layout Itemize +XML elements ( \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Margin +Element \end_layout \end_inset - [ +): For use with DocBook classes. +\end_layout + +\begin_layout Standard +Flex insets are defined using the \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout - -\emph on -Static -\emph default -, Manual, Dynamic, First_Dynamic, Right_Address_Box +InsetLayout \end_layout \end_inset -] -\begin_inset Newline newline -\end_inset + tag, which shall be explained in a moment. +\end_layout -The kind of margin that the layout has on the left side. - +\begin_layout Standard +The \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Static +InsetLayout \end_layout \end_inset - just means a fixed margin. - + tag also serves another function: It can be used to customize the general + layout of many different types of insets. + Currently, \begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Manual +InsetLayout \end_layout \end_inset - means that the left margin depends on the string entered in the -\begin_inset Flex CharStyle:MenuItem + can be used to customize the layout parameters for footnotes, marginal + notes, note insets, TeX code (ERT) insets, branches, listings, indexes, + boxes, tables, algorithms, URLs, and optional arguments, as well as to + define Flex insets. +\end_layout + +\begin_layout Standard +The +\begin_inset Flex CharStyle:Code status collapsed \begin_layout Plain Layout -Edit\SpecialChar \menuseparator -Paragraph -\begin_inset space ~ +InsetLayout +\end_layout + \end_inset -Settings + definition must begin with a line of the form: \end_layout -\end_inset +\begin_layout LyX-Code +InsetLayout