1 #LyX 2.4 created this file. For more info see https://www.lyx.org/
5 \save_transient_properties true
6 \origin /systemlyxdir/doc/
9 % DO NOT ALTER THIS PREAMBLE!!!
11 % This preamble is designed to ensure that this document prints
12 % out as advertised. If you mess with this preamble,
13 % parts of this document may not print out as expected. If you
14 % have problems LaTeXing this file, please contact
15 % the documentation team
16 % email: lyx-docs@lists.lyx.org
18 % the pages of the TOC is numbered roman
19 % and a pdf-bookmark for the TOC is added
20 \let\myTOC\tableofcontents
21 \renewcommand\tableofcontents{%
23 \pdfbookmark[1]{\contentsname}{}
27 % increase link area for cross-references and autoname them,
28 \AtBeginDocument{\renewcommand{\ref}[1]{\mbox{\autoref{#1}}}}
29 \@ifundefined{extrasenglish}{\usepackage[english]{babel}}{}
30 \@ifpackageloaded{babel}{
31 \addto\extrasenglish{%
32 \renewcommand*{\equationautorefname}[1]{}%
33 \renewcommand{\sectionautorefname}{sec.\negthinspace}%
34 \renewcommand{\subsectionautorefname}{sec.\negthinspace}%
35 \renewcommand{\subsubsectionautorefname}{sec.\negthinspace}%
39 \options bibliography=totoc,index=totoc,BCOR7.5mm,titlepage,captions=tableheading
40 \use_default_options false
44 \maintain_unincluded_children false
46 \language_package default
47 \inputencoding auto-legacy
49 \font_roman "lmodern" "default"
50 \font_sans "lmss" "default"
51 \font_typewriter "lmtt" "default"
52 \font_math "auto" "auto"
53 \font_default_family default
54 \use_non_tex_fonts false
57 \font_sf_scale 100 100
58 \font_tt_scale 100 100
60 \use_dash_ligatures true
62 \default_output_format pdf2
64 \bibtex_command default
65 \index_command default
69 \pdf_title "LyX Configuration Manual"
70 \pdf_author "LyX Team"
71 \pdf_subject "LyX-documentation Customization"
72 \pdf_keywords "LyX, documentation, customization"
74 \pdf_bookmarksnumbered true
75 \pdf_bookmarksopen true
76 \pdf_bookmarksopenlevel 1
81 \pdf_pdfusetitle false
82 \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
85 \use_package amsmath 1
86 \use_package amssymb 1
89 \use_package mathdots 1
90 \use_package mathtools 1
92 \use_package stackrel 1
93 \use_package stmaryrd 1
94 \use_package undertilde 1
96 \cite_engine_type default
100 \paperorientation portrait
105 \notefontcolor #0000ff
117 \paragraph_separation indent
118 \paragraph_indentation default
120 \math_indentation default
121 \math_numbering_side default
122 \quotes_style english
126 \paperpagestyle headings
128 \tracking_changes true
129 \output_changes false
133 \author -712698321 "Jürgen Spitzmüller"
134 \author -495245474 "Jean-Marc Lasgouttes"
135 \author 731793113 "Richard Kimberly Heck" rikiheck@lyx.org
141 Customizing \SpecialChar LyX
142 : Features for the Advanced User
146 by the \SpecialChar LyX
151 \begin_layout Plain Layout
153 If you have comments or error corrections, please send them to the \SpecialChar LyX
156 \begin_inset CommandInset href
158 target "lyx-docs@lists.lyx.org"
166 \begin_inset Quotes eld
170 \begin_inset Quotes erd
173 in the subject header, and please cc the current maintainer of this file,
174 Richard Heck <rgheck@comcast.net>.
180 \begin_inset Newline newline
184 \begin_inset Newline newline
190 \begin_layout Standard
191 \begin_inset CommandInset toc
192 LatexCommand tableofcontents
199 \begin_layout Standard
200 \begin_inset Note Note
203 \begin_layout Plain Layout
204 Please use change tracking when modifying this document.
205 This makes it easier for our translators to recognize things that have
206 been changed, and it helps the maintainer keep up-to-date with what's been
215 \begin_layout Chapter
219 \begin_layout Standard
220 This manual covers the customization features present in \SpecialChar LyX
222 In it, we discuss issues like keyboard shortcuts, screen previewing options,
223 printer options, sending commands to \SpecialChar LyX
224 via the \SpecialChar LyX
225 Server, internationalization,
226 installing new \SpecialChar LaTeX
227 classes and \SpecialChar LyX
229 We can't possibly hope to touch on everything you can change—our developers
230 add new features faster than we can document them—but we will explain the
231 most common customizations and hopefully point you in the right direction
232 for some of the more obscure ones.
235 \begin_layout Standard
236 \begin_inset Branch OutDated
240 \begin_layout Standard
241 Information from previous versions of this document that now seems to be
242 outdated is contained in the OutDated branch of this document.
243 By default, this information will not appear in the \SpecialChar LaTeX
252 \begin_layout Chapter
257 \begin_layout Standard
258 This chapter aims to help you to find your way through the \SpecialChar LyX
261 Before continuing to read this chapter, you should find out where your
263 library and user directories are by using
264 \begin_inset Flex Noun
267 \begin_layout Plain Layout
268 Help\SpecialChar menuseparator
279 The library directory is the place where \SpecialChar LyX
280 places its system-wide configuration
281 files; the user directory is where you can place your modified versions.
282 We will call the former
283 \begin_inset Flex Code
286 \begin_layout Plain Layout
293 \begin_inset Flex Noun
296 \begin_layout Plain Layout
302 in the remainder of this document.
306 \begin_layout Section
308 \begin_inset Flex Code
311 \begin_layout Plain Layout
320 \begin_layout Standard
321 \begin_inset Flex Code
324 \begin_layout Plain Layout
330 and its sub-directories contain a number of files and that can be used
331 to customize \SpecialChar LyX
333 You can change many of these files from within \SpecialChar LyX
335 \begin_inset Flex Noun
338 \begin_layout Plain Layout
339 Tools\SpecialChar menuseparator
346 Most customization that you will want to do in \SpecialChar LyX
347 is possible through this
349 However, many other inner aspects of \SpecialChar LyX
350 can be customized by modifying the
352 \begin_inset Flex Code
355 \begin_layout Plain Layout
362 These files fall in different categories, described in the following subsection
366 \begin_layout Subsection
367 Automatically generated files
370 \begin_layout Standard
371 The files, which are to be found in
372 \begin_inset Flex Noun
375 \begin_layout Plain Layout
381 , are generated when you configure \SpecialChar LyX
383 They contain various default values that are guessed by inspection.
384 In general, it is not a good idea to modify them, since they might be overwritt
388 \begin_layout Labeling
389 \labelwidthstring 00.00.0000
390 \begin_inset Flex Code
393 \begin_layout Plain Layout
399 contains defaults for various commands.
402 \begin_layout Labeling
403 \labelwidthstring 00.00.0000
404 \begin_inset Flex Code
407 \begin_layout Plain Layout
413 contains the list of packages that have been recognized by \SpecialChar LyX
415 It is currently unused by the \SpecialChar LyX
416 program itself, but the information extracted,
417 and more, is made available with
418 \begin_inset Flex Noun
421 \begin_layout Plain Layout
422 Help\SpecialChar menuseparator
436 \begin_layout Labeling
437 \labelwidthstring 00.00.0000
438 \begin_inset Flex Code
441 \begin_layout Plain Layout
447 the list of text classes that have been found in your
448 \begin_inset Flex Code
451 \begin_layout Plain Layout
457 directories, along with the associated \SpecialChar LaTeX
458 document class and their description.
461 \begin_layout Labeling
462 \labelwidthstring 00.00.0000
463 \begin_inset Flex Code
466 \begin_layout Plain Layout
472 the list of layout modules found in your
473 \begin_inset Flex Code
476 \begin_layout Plain Layout
485 \begin_layout Labeling
486 \labelwidthstring 00.00.0000
487 \begin_inset Flex Code
490 \begin_layout Plain Layout
496 lists of various sorts of \SpecialChar LaTeX
497 -related files found on your system
500 \begin_layout Labeling
501 \labelwidthstring 00.00.0000
502 \begin_inset Flex Code
505 \begin_layout Plain Layout
506 doc/\SpecialChar LaTeX
512 is automatically generated during configuration from the file
513 \begin_inset Flex Code
516 \begin_layout Plain Layout
524 It contains information on your \SpecialChar LaTeX
528 \begin_layout Subsection
532 \begin_layout Standard
533 These directories are duplicated between
534 \begin_inset Flex Code
537 \begin_layout Plain Layout
544 \begin_inset Flex Code
547 \begin_layout Plain Layout
554 If a particular files exists in both places, the one in
555 \begin_inset Flex Code
558 \begin_layout Plain Layout
567 \begin_layout Labeling
568 \labelwidthstring 00.00.0000
569 \begin_inset Flex Code
572 \begin_layout Plain Layout
578 this directory contains files with the extension
579 \begin_inset Flex Code
582 \begin_layout Plain Layout
588 that define the keybindings used in \SpecialChar LyX
590 If there exists an internationalized version of the bind file named
591 \begin_inset Flex Code
594 \begin_layout Plain Layout
600 , that will be used first.
603 \begin_layout Labeling
604 \labelwidthstring 00.00.0000
605 \begin_inset Flex Code
608 \begin_layout Plain Layout
614 contains files with the extension
615 \begin_inset Flex Code
618 \begin_layout Plain Layout
624 which define the diverse citation possibilities (natbib, biblatex etc.).
626 \begin_inset CommandInset ref
628 reference "subsec:Cite-Engine-Files"
638 \begin_layout Labeling
639 \labelwidthstring 00.00.0000
640 \begin_inset Flex Code
643 \begin_layout Plain Layout
649 contains graphics files that can be included in documents.
653 \begin_layout Labeling
654 \labelwidthstring 00.00.0000
655 \begin_inset Flex Code
658 \begin_layout Plain Layout
664 contains \SpecialChar LyX
665 documentation files (including the one you are currently reading).
667 \begin_inset Flex Code
670 \begin_layout Plain Layout
677 deserves special attention, as noted above.
678 The internationalized help docs are in subdirectories
679 \begin_inset Flex Code
682 \begin_layout Plain Layout
689 \begin_inset Quotes eld
693 \begin_inset Quotes erd
696 is the ISO language code.
698 \begin_inset CommandInset ref
700 reference "cha:Internationalizing-LyX"
707 \begin_layout Labeling
708 \labelwidthstring 00.00.0000
709 \begin_inset Flex Code
712 \begin_layout Plain Layout
718 contains example files that explain how to use some features.
719 In the file browser, press the
720 \begin_inset Flex Noun
723 \begin_layout Plain Layout
732 \begin_layout Labeling
733 \labelwidthstring 00.00.0000
734 \begin_inset Flex Code
737 \begin_layout Plain Layout
743 contains image files that are used by the
744 \begin_inset Flex Noun
747 \begin_layout Plain Layout
754 In addition, it also contains the individual icons used in the toolbar
755 and the banners that can be shown when \SpecialChar LyX
759 \begin_layout Labeling
760 \labelwidthstring 00.00.0000
761 \begin_inset Flex Code
764 \begin_layout Plain Layout
770 contains keyboard keymapping files.
772 \begin_inset CommandInset ref
774 reference "sec:International-Keymap-Stuff"
781 \begin_layout Labeling
782 \labelwidthstring 00.00.0000
783 \begin_inset Flex Code
786 \begin_layout Plain Layout
792 contains the text class and module files described in
793 \begin_inset CommandInset ref
795 reference "cha:Installing-New-Document"
802 \begin_layout Labeling
803 \labelwidthstring 00.00.0000
804 \begin_inset Flex Code
807 \begin_layout Plain Layout
814 \begin_inset Flex Code
817 \begin_layout Plain Layout
823 Python scripts used to convert between \SpecialChar LyX
825 These can be run from the command line if, say, you want to batch-convert
829 \begin_layout Labeling
830 \labelwidthstring 00.00.0000
831 \begin_inset Flex Code
834 \begin_layout Plain Layout
840 contains some files that demonstrate the capabilities of the
841 \begin_inset Flex Noun
844 \begin_layout Plain Layout
855 Also contains some scripts used by \SpecialChar LyX
859 \begin_layout Labeling
860 \labelwidthstring 00.00.0000
861 \begin_inset Flex Code
864 \begin_layout Plain Layout
870 contains the standard \SpecialChar LyX
871 template files described in
872 \begin_inset CommandInset ref
874 reference "subsec:Creating-Templates"
881 \begin_layout Labeling
882 \labelwidthstring 00.00.0000
883 \begin_inset Flex Code
886 \begin_layout Plain Layout
892 contains files with the extension
893 \begin_inset Flex Code
896 \begin_layout Plain Layout
902 that define the user interface to \SpecialChar LyX
904 That is, the files define which items appear in which menus and the items
905 appearing on the toolbar.
908 \begin_layout Labeling
909 \labelwidthstring 00.00.0000
910 \begin_inset Flex Code
913 \begin_layout Plain Layout
919 contains files with the extension
920 \begin_inset Flex Code
923 \begin_layout Plain Layout
929 which define the templates for the insertion of external material to a
932 \begin_inset CommandInset ref
934 reference "chap:Including-External-Material"
941 \begin_layout Subsection
942 Files you don't want to modify
945 \begin_layout Standard
946 These files are used internally by \SpecialChar LyX
947 and you generally do not need to modify
948 them unless you are a developer.
951 \begin_layout Labeling
952 \labelwidthstring 00.00.0000
953 \begin_inset Flex Code
956 \begin_layout Plain Layout
962 this file contains the list of \SpecialChar LyX
964 The contents are displayed with the menu entry
965 \begin_inset Flex Noun
968 \begin_layout Plain Layout
969 Help\SpecialChar menuseparator
982 \begin_layout Labeling
983 \labelwidthstring 00.00.0000
984 \begin_inset Flex Code
987 \begin_layout Plain Layout
993 this is a \SpecialChar LaTeX
994 script used during the configuration process.
998 \begin_layout Labeling
999 \labelwidthstring 00.00.0000
1000 \begin_inset Flex Code
1003 \begin_layout Plain Layout
1009 this is a Python script that is used to re-configure \SpecialChar LyX
1011 It creates configuration files in the directory it was run from.
1014 \begin_layout Subsection
1015 Other files needing a line or two
1018 \begin_layout Labeling
1019 \labelwidthstring 00.00.0000
1020 \begin_inset Flex Code
1023 \begin_layout Plain Layout
1029 this contains tables describing how different character encodings can be
1033 \begin_layout Labeling
1034 \labelwidthstring 00.00.0000
1035 \begin_inset Flex Code
1038 \begin_layout Plain Layout
1044 this file contains a list of all the languages currently supported by \SpecialChar LyX
1048 \begin_layout Labeling
1049 \labelwidthstring 00.00.0000
1050 \begin_inset Flex Code
1053 \begin_layout Plain Layout
1059 contains information about the supported fonts.
1062 \begin_layout Labeling
1063 \labelwidthstring 00.00.0000
1064 \begin_inset Flex Code
1067 \begin_layout Plain Layout
1073 this file contains translations for internationalized paragraph styles
1075 \begin_inset CommandInset ref
1077 reference "subsec:I18n"
1084 \begin_layout Labeling
1085 \labelwidthstring 00.00.0000
1086 \begin_inset Flex Code
1089 \begin_layout Plain Layout
1095 this file contains information about Unicode-encoded glyphs and the way
1096 they are supported by \SpecialChar LyX
1097 via \SpecialChar LaTeX
1101 \begin_layout Section
1102 Your local configuration directory
1105 \begin_layout Standard
1106 Even if you are using \SpecialChar LyX
1107 as an unprivileged user, you might want to change
1109 configuration for your own use.
1111 \begin_inset Flex Code
1114 \begin_layout Plain Layout
1120 directory contains all your personal configuration files.
1121 This is the directory described as
1122 \begin_inset Quotes eld
1126 \begin_inset Quotes erd
1130 \begin_inset Flex Noun
1133 \begin_layout Plain Layout
1134 Help\SpecialChar menuseparator
1136 \begin_inset space ~
1145 This directory is used as a mirror of
1146 \begin_inset Flex Code
1149 \begin_layout Plain Layout
1155 , which means that every file in
1156 \begin_inset Flex Code
1159 \begin_layout Plain Layout
1165 is a replacement for the corresponding file in
1166 \begin_inset Flex Code
1169 \begin_layout Plain Layout
1176 Any configuration file described in the above sections can be placed either
1177 in the system-wide directory, in which case it will affect all users, or
1178 in your local directory for your own use.
1181 \begin_layout Standard
1182 To make things clearer, let's provide a few examples:
1185 \begin_layout Itemize
1186 The preferences set in the
1187 \begin_inset Flex Noun
1190 \begin_layout Plain Layout
1191 Tools\SpecialChar menuseparator
1197 dialog are saved to a file
1198 \begin_inset Flex Code
1201 \begin_layout Plain Layout
1208 \begin_inset Flex Code
1211 \begin_layout Plain Layout
1220 \begin_layout Itemize
1221 When you reconfigure using
1222 \begin_inset Flex Noun
1225 \begin_layout Plain Layout
1226 Tools\SpecialChar menuseparator
1234 \begin_inset Flex Code
1237 \begin_layout Plain Layout
1243 script, and the resulting files are written in your local configuration
1245 This means that any additional text class file that you might have added
1247 \begin_inset Flex Code
1250 \begin_layout Plain Layout
1256 will be added to the list of classes in the
1257 \begin_inset Flex Noun
1260 \begin_layout Plain Layout
1261 Document\SpecialChar menuseparator
1270 \begin_layout Itemize
1271 If you get some updated documentation from \SpecialChar LyX
1272 ftp site and cannot install
1273 it because you do not have sysadmin rights on your system, you can just
1275 \begin_inset Flex Code
1278 \begin_layout Plain Layout
1284 and the items in the
1285 \begin_inset Flex Noun
1288 \begin_layout Plain Layout
1294 menu will open them!
1297 \begin_layout Section
1298 Running \SpecialChar LyX
1299 with multiple configurations
1302 \begin_layout Standard
1303 The configuration freedom of the local configuration directory may not suffice
1304 if you want to have more than one configuration at your disposal.
1305 For example, you may want to be use different key bindings or printer settings
1307 You can achieve this by having several such directories.
1308 You then specify which directory to use at run-time.
1311 \begin_layout Standard
1312 Invoking \SpecialChar LyX
1313 with the command line switch
1314 \begin_inset Flex Code
1317 \begin_layout Plain Layout
1327 instructs the program to read the configuration from that directory, and
1328 not from the default directory.
1329 (You can determine the default directory by running \SpecialChar LyX
1331 \begin_inset Flex Code
1334 \begin_layout Plain Layout
1340 switch.) If the specified directory does not exist, \SpecialChar LyX
1342 for you, just like it does for the default directory on the first time
1343 you run the program.
1344 You can modify the configuration options in this additional user directory
1345 exactly as you would for the default directory.
1346 These directories are completely independent (but read on).
1347 Note that setting the environment variable
1348 \begin_inset Flex Code
1351 \begin_layout Plain Layout
1357 to some value has exactly the same effect.
1360 \begin_layout Standard
1361 Having several configurations also requires more maintenance: if you want
1362 to add a new layout to
1363 \begin_inset Flex Code
1366 \begin_layout Plain Layout
1372 which you want available from all your configurations, you must add it
1373 to each directory separately.
1374 You can avoid this with the following trick: after \SpecialChar LyX
1375 creates the additional
1376 directory, most of the subdirectories (see above) are empty.
1377 If you want the new configuration to mirror an existing one, replace the
1378 empty subdirectory with a symbolic link to the matching subdirectory in
1379 the existing configuration.
1381 \begin_inset Flex Code
1384 \begin_layout Plain Layout
1390 subdirectory, however, since it contains a file written by the configuration
1391 script (also accessible through
1392 \begin_inset Flex Noun
1395 \begin_layout Plain Layout
1396 Tools\SpecialChar menuseparator
1402 ) which is configuration-specific.
1405 \begin_layout Chapter
1406 The Preferences dialog
1409 \begin_layout Standard
1410 All options of the preferences dialog are described in the Appendix
1412 The Preferences Dialog
1419 For some options you might find here more details.
1422 \begin_layout Section
1424 \begin_inset CommandInset label
1433 \begin_layout Standard
1434 The first step is to define your file formats if they are not already defined.
1436 \begin_inset Flex Noun
1439 \begin_layout Plain Layout
1440 Tools\SpecialChar menuseparator
1448 \begin_inset Flex Noun
1451 \begin_layout Plain Layout
1452 File Handling\SpecialChar menuseparator
1459 \begin_inset Flex Noun
1462 \begin_layout Plain Layout
1468 button to define your new format.
1470 \begin_inset Flex Noun
1473 \begin_layout Plain Layout
1479 field contains the name used to identify the format in the GUI.
1481 \begin_inset Flex Noun
1484 \begin_layout Plain Layout
1490 is used to identify the format internally.
1491 You will also need to enter a file extension.
1492 These are all required.
1494 \begin_inset Flex Noun
1497 \begin_layout Plain Layout
1503 field is used to provide a keyboard shortcut on the menus.
1504 (For example, pressing
1505 \begin_inset Flex Noun
1508 \begin_layout Plain Layout
1515 \begin_inset Flex Noun
1518 \begin_layout Plain Layout
1519 Document\SpecialChar menuseparator
1520 View (Other Formats)\SpecialChar menuseparator
1529 \begin_layout Standard
1531 \begin_inset Flex Noun
1534 \begin_layout Plain Layout
1541 \begin_inset Flex Noun
1544 \begin_layout Plain Layout
1551 For example, you might want to use
1552 \begin_inset Flex Noun
1555 \begin_layout Plain Layout
1561 to view PostScript files.
1562 You can enter the command needed to start the program in the corresponding
1564 In defining this command, you can use the four variables listed in the
1566 The viewer is launched when you view an image in \SpecialChar LyX
1568 \begin_inset Flex Noun
1571 \begin_layout Plain Layout
1572 Document\SpecialChar menuseparator
1579 The editor is for example launched when you right-click on an image and
1581 \begin_inset Flex Noun
1584 \begin_layout Plain Layout
1590 in the appearing context menu.
1593 \begin_layout Standard
1595 \begin_inset Flex Noun
1598 \begin_layout Plain Layout
1604 type of a format is optional, but if it is specified, it must be unique
1606 It is used to detect files of this format from the file contents.
1607 For some important file formats there is no MIME type officially registered
1609 \begin_inset CommandInset href
1612 target "http://www.iana.org/assignments/media-types/"
1618 Therefore \SpecialChar LyX
1619 uses the extended list of MIME types as specified by
1620 \begin_inset CommandInset href
1622 name "freedesktop.org"
1623 target "http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec"
1631 \begin_layout Standard
1633 \begin_inset Flex Noun
1636 \begin_layout Plain Layout
1642 option tells \SpecialChar LyX
1643 that a format is suitable for document export.
1644 If this is set and if a suitable conversion route exists (see
1645 \begin_inset CommandInset ref
1647 reference "sec:Converters"
1651 ), the format will appear in the
1652 \begin_inset Flex Noun
1655 \begin_layout Plain Layout
1656 File\SpecialChar menuseparator
1663 The format will also appear in the
1664 \begin_inset Flex Noun
1667 \begin_layout Plain Layout
1668 Document\SpecialChar menuseparator
1674 menu if a viewer is specified for the format.
1675 Pure image formats, such as
1676 \begin_inset Flex Code
1679 \begin_layout Plain Layout
1685 , should not use this option.
1686 Formats that can both represent vector graphics and documents like
1687 \begin_inset Flex Code
1690 \begin_layout Plain Layout
1699 \begin_layout Standard
1701 \begin_inset Flex Noun
1704 \begin_layout Plain Layout
1705 Vector graphics format
1710 tells \SpecialChar LyX
1711 that a format can contain vector graphics.
1712 This information is used to determine the target format of included graphics
1714 \begin_inset Flex Noun
1717 \begin_layout Plain Layout
1724 Included graphics may need to be converted to either
1725 \begin_inset Flex Noun
1728 \begin_layout Plain Layout
1735 \begin_inset Flex Noun
1738 \begin_layout Plain Layout
1745 \begin_inset Flex Noun
1748 \begin_layout Plain Layout
1755 \begin_inset Flex Noun
1758 \begin_layout Plain Layout
1764 cannot handle other image formats.
1765 If an included graphic is not already in
1766 \begin_inset Flex Noun
1769 \begin_layout Plain Layout
1776 \begin_inset Flex Noun
1779 \begin_layout Plain Layout
1786 \begin_inset Flex Noun
1789 \begin_layout Plain Layout
1795 format, it is converted to
1796 \begin_inset Flex Noun
1799 \begin_layout Plain Layout
1805 if the vector format option is set, and otherwise to
1806 \begin_inset Flex Noun
1809 \begin_layout Plain Layout
1818 \begin_layout Section
1822 \begin_layout Standard
1823 Since all conversions from one format to another take place in \SpecialChar LyX
1825 directory, it is sometimes necessary to modify a file before copying it
1826 to the temporary directory in order that the conversion may be performed.
1830 \begin_layout Plain Layout
1831 For example, the file may refer to other files—images, for example—using
1832 relative file names, and these may become invalid when the file is copied
1833 to the temporary directory.
1838 This is done by a Copier: It copies a file to (or from) the temporary directory
1839 and may modify it in the process.
1842 \begin_layout Standard
1843 The definitions of the copiers may use eight variables:
1846 \begin_layout Labeling
1847 \labelwidthstring 00.00.0000
1848 \begin_inset Flex Code
1851 \begin_layout Plain Layout
1857 The \SpecialChar LyX
1858 system directory (e.
1859 \begin_inset space \thinspace{}
1863 \begin_inset space \space{}
1867 \begin_inset Flex Noun
1870 \begin_layout Plain Layout
1879 \begin_layout Labeling
1880 \labelwidthstring 00.00.0000
1881 \begin_inset Flex Code
1884 \begin_layout Plain Layout
1893 \begin_layout Labeling
1894 \labelwidthstring 00.00.0000
1895 \begin_inset Flex Code
1898 \begin_layout Plain Layout
1907 \begin_layout Labeling
1908 \labelwidthstring 00.00.0000
1909 \begin_inset Flex Code
1912 \begin_layout Plain Layout
1918 The base name (without filename extension) in the \SpecialChar LyX
1922 \begin_layout Labeling
1923 \labelwidthstring 00.00.0000
1924 \begin_inset Flex Code
1927 \begin_layout Plain Layout
1933 The full directory path of the \SpecialChar LyX
1937 \begin_layout Labeling
1938 \labelwidthstring 00.00.0000
1939 \begin_inset Flex Code
1942 \begin_layout Plain Layout
1948 The full pathname to the original \SpecialChar LyX
1949 file being processed
1952 \begin_layout Labeling
1953 \labelwidthstring 00.00.0000
1954 \begin_inset Flex Code
1957 \begin_layout Plain Layout
1963 The filename (without any directory path) of the \SpecialChar LyX
1967 \begin_layout Labeling
1968 \labelwidthstring 00.00.0000
1969 \begin_inset Flex Code
1972 \begin_layout Plain Layout
1978 The `\SpecialChar LaTeX
1982 \begin_layout Standard
1983 The latter should be the filename as it would be used in a \SpecialChar LaTeX
1991 It is relevant only when exporting files suitable for such inclusion.
1994 \begin_layout Standard
1995 Copiers can be used to do almost anything with output files.
1996 For example, suppose you want generated pdf files to be copied to a special
1998 \begin_inset Flex Code
2001 \begin_layout Plain Layout
2008 Then you could write a shell script such as this one:
2011 \begin_layout Standard
2012 \begin_inset listings
2016 \begin_layout Plain Layout
2021 \begin_layout Plain Layout
2026 \begin_layout Plain Layout
2028 TOFILE=`basename $2`
2031 \begin_layout Plain Layout
2033 cp $FROMFILE /home/you/pdf/$TOFILE
2038 Save it in your local \SpecialChar LyX
2040 \begin_inset Flex Code
2043 \begin_layout Plain Layout
2044 /home/you/.lyx/scripts/pdfcopier.sh
2049 —and make it executable, if you need to do so on your platform.
2051 \begin_inset Flex Noun
2054 \begin_layout Plain Layout
2055 Tools\SpecialChar menuseparator
2061 dialog, select under
2062 \begin_inset Flex Noun
2065 \begin_layout Plain Layout
2066 File Handling\SpecialChar menuseparator
2073 \begin_inset Flex Noun
2076 \begin_layout Plain Layout
2082 format—or one of the other pdf formats—and enter
2083 \begin_inset Flex Code
2086 \begin_layout Plain Layout
2087 pdfcopier.sh $$i $$o
2093 \begin_inset Flex Noun
2096 \begin_layout Plain Layout
2106 \begin_layout Standard
2107 Copiers are used by \SpecialChar LyX
2108 in various of its own conversions.
2109 For example, if appropriate programs are found, \SpecialChar LyX
2110 will automatically install
2112 \begin_inset Flex Noun
2115 \begin_layout Plain Layout
2122 \begin_inset Flex Noun
2125 \begin_layout Plain Layout
2127 \begin_inset space ~
2136 When these formats are exported, the copier sees that not just the main
2137 HTML file but various associated files (style files, images, etc.) are also
2139 All these files are written to a subdirectory of the directory in which
2140 the original \SpecialChar LyX
2145 \begin_layout Plain Layout
2146 This copier can be customized.
2148 \begin_inset Quotes eld
2152 \begin_inset Quotes erd
2155 argument takes a comma-separated list of extensions to be copied; if it
2156 is omitted, all files will be copied.
2158 \begin_inset Quotes eld
2162 \begin_inset Quotes erd
2165 argument determines the extension added to the generated directory.
2167 \begin_inset Quotes eld
2171 \begin_inset Flex Noun
2174 \begin_layout Plain Layout
2181 \begin_inset Quotes erd
2184 , so HTML generated from
2185 \begin_inset Flex Noun
2188 \begin_layout Plain Layout
2189 /path/to/filename.lyx
2195 \begin_inset Flex Noun
2198 \begin_layout Plain Layout
2199 /path/to/filename.html.LyXconv
2213 \begin_layout Section
2215 \begin_inset CommandInset label
2217 name "sec:Converters"
2224 \begin_layout Standard
2225 You can define your own Converters to convert files between different formats.
2227 \begin_inset Flex Noun
2230 \begin_layout Plain Layout
2231 Tools\SpecialChar menuseparator
2232 Preferences\SpecialChar menuseparator
2233 File Handling\SpecialChar menuseparator
2242 \begin_layout Standard
2243 To define a new converter, select the
2244 \begin_inset Flex Noun
2247 \begin_layout Plain Layout
2249 \begin_inset space ~
2258 \begin_inset Flex Noun
2261 \begin_layout Plain Layout
2263 \begin_inset space ~
2271 from the drop-down lists, enter the command needed for the conversion,
2273 \begin_inset Flex Noun
2276 \begin_layout Plain Layout
2283 Several variables can be used in the definition of converters:
2286 \begin_layout Labeling
2287 \labelwidthstring 00.00.0000
2288 \begin_inset Flex Code
2291 \begin_layout Plain Layout
2297 The \SpecialChar LyX
2301 \begin_layout Labeling
2302 \labelwidthstring 00.00.0000
2303 \begin_inset Flex Code
2306 \begin_layout Plain Layout
2315 \begin_layout Labeling
2316 \labelwidthstring 00.00.0000
2317 \begin_inset Flex Code
2320 \begin_layout Plain Layout
2329 \begin_layout Labeling
2330 \labelwidthstring 00.00.0000
2331 \begin_inset Flex Code
2334 \begin_layout Plain Layout
2340 The base filename of the input file (i.
2341 \begin_inset space \thinspace{}
2344 g., without the extension)
2347 \begin_layout Labeling
2348 \labelwidthstring 00.00.0000
2349 \begin_inset Flex Code
2352 \begin_layout Plain Layout
2358 The path to the input file
2361 \begin_layout Labeling
2362 \labelwidthstring 00.00.0000
2363 \begin_inset Flex Code
2366 \begin_layout Plain Layout
2372 The path to the original input file (this is different from $$p when a
2373 chain of converters is called)
2376 \begin_layout Labeling
2377 \labelwidthstring 00.00.0000
2378 \begin_inset Flex Code
2381 \begin_layout Plain Layout
2387 The iconv name for the encoding of the document.
2390 \begin_layout Standard
2392 \begin_inset Flex Noun
2395 \begin_layout Plain Layout
2397 \begin_inset space ~
2405 field you can enter the following flags, separated by commas:
2408 \begin_layout Labeling
2409 \labelwidthstring 00.00.0000
2410 \begin_inset Flex Code
2413 \begin_layout Plain Layout
2415 \change_inserted -712698321 1524656940
2423 This converter runs some form of \SpecialChar LaTeX
2425 This will make \SpecialChar LyX
2426 's \SpecialChar LaTeX
2427 error logs available.
2429 \change_inserted -712698321 1524657018
2431 \begin_inset Flex Code
2434 \begin_layout Plain Layout
2436 \change_inserted -712698321 1524657012
2444 value specifies the form of \SpecialChar LaTeX
2446 \begin_inset Flex Code
2449 \begin_layout Plain Layout
2451 \change_inserted -712698321 1524657005
2452 latex, pdflatex, platex, xetex, luatex
2460 If no value is specified,
2461 \begin_inset Flex Code
2464 \begin_layout Plain Layout
2466 \change_inserted -712698321 1524657018
2479 \begin_layout Labeling
2480 \labelwidthstring 00.00.0000
2481 \begin_inset Flex Code
2484 \begin_layout Plain Layout
2486 \change_inserted -712698321 1524656935
2494 Needs the \SpecialChar LaTeX
2496 \begin_inset Flex Noun
2499 \begin_layout Plain Layout
2505 file for the conversion.
2507 \change_inserted -712698321 1524657047
2509 \begin_inset Flex Code
2512 \begin_layout Plain Layout
2514 \change_inserted -712698321 1524657030
2520 value specifies the form of \SpecialChar LaTeX
2521 that is run in order to generate the
2522 \begin_inset Flex Noun
2525 \begin_layout Plain Layout
2527 \change_inserted -712698321 1524657047
2534 \begin_inset Flex Code
2537 \begin_layout Plain Layout
2539 \change_inserted -712698321 1524657030
2540 latex, pdflatex, platex, xetex, luatex
2546 If no value is specified,
2547 \begin_inset Flex Code
2550 \begin_layout Plain Layout
2552 \change_inserted -712698321 1524657030
2563 \begin_layout Labeling
2564 \labelwidthstring 00.00.0000
2565 \begin_inset Flex Code
2568 \begin_layout Plain Layout
2575 \begin_inset Quotes eld
2579 \begin_inset Quotes erd
2582 file from the backend, which in practice means a \SpecialChar LaTeX
2583 file like the one we
2584 would export, without
2585 \begin_inset Flex Code
2588 \begin_layout Plain Layout
2597 \begin_layout Labeling
2598 \labelwidthstring 00.00.0000
2599 \begin_inset Flex Code
2602 \begin_layout Plain Layout
2611 \begin_layout Standard
2612 The following three flags are not really flags at all because they take
2614 \begin_inset Flex Noun
2617 \begin_layout Plain Layout
2619 \begin_inset space ~
2623 \begin_inset space ~
2634 \begin_layout Labeling
2635 \labelwidthstring 00.00.0000
2637 \change_inserted -712698321 1523206314
2638 \begin_inset Flex Code
2641 \begin_layout Plain Layout
2643 \change_inserted -712698321 1523206193
2649 The name of the driver that needs to be loaded with the
2653 package for this converter.
2654 The loading of the correct driver is necessary to get some PDF-specific
2663 \begin_layout Labeling
2664 \labelwidthstring 00.00.0000
2665 \begin_inset Flex Code
2668 \begin_layout Plain Layout
2674 If set, the converter's standard error will be redirected to a file
2675 \begin_inset Flex Code
2678 \begin_layout Plain Layout
2684 , and the script given as argument will be run as:
2685 \begin_inset Flex Code
2688 \begin_layout Plain Layout
2689 script < infile.out > infile.log
2695 The argument may contain
2696 \begin_inset Flex Code
2699 \begin_layout Plain Layout
2708 \begin_layout Labeling
2709 \labelwidthstring 00.00.0000
2710 \begin_inset Flex Code
2713 \begin_layout Plain Layout
2719 The name of the directory in which the converter will dump the generated
2722 will not create this directory, and it does not copy anything into it,
2723 though it will copy this directory to the destination.
2724 The argument may contain
2725 \begin_inset Flex Code
2728 \begin_layout Plain Layout
2734 , which will be replaced by the base name of the input and output files,
2735 respectively, when the directory is copied.
2736 \begin_inset Newline newline
2739 Note that resultdir and usetempdir make no sense together.
2740 The latter will be ignored if the former is given.
2743 \begin_layout Labeling
2744 \labelwidthstring 00.00.0000
2745 \begin_inset Flex Code
2748 \begin_layout Plain Layout
2754 Determines the output file name and may, contain
2755 \begin_inset Flex Code
2758 \begin_layout Plain Layout
2765 Sensible only with resultdir and optional even then; if not given, it defaults
2769 \begin_layout Standard
2771 \change_inserted -712698321 1523206384
2772 A suitable hyperref-driver is set for some converters that are installed
2773 with \SpecialChar LyX
2776 \change_deleted -712698321 1523206388
2778 \change_inserted -712698321 1523206389
2782 \change_inserted -712698321 1523206400
2786 \change_inserted -712698321 1523206407
2790 \change_inserted -712698321 1523206437
2794 \change_deleted -712698321 1523206442
2795 that are installed with \SpecialChar LyX
2802 \begin_layout Standard
2803 You do not have to define converters for all formats between which you want
2805 For example, you will note that there is no `\SpecialChar LyX
2806 to PostScript' converter,
2807 but \SpecialChar LyX
2808 will export PostScript.
2809 It does so by first creating a \SpecialChar LaTeX
2810 file (no converter needs to be defined
2811 for this) which is then converted to DVI using the `\SpecialChar LaTeX
2813 and finally converting the resulting DVI file to PostScript.
2815 finds such `chains' of converters automatically, and it will always choose
2816 the shortest possible chain.
2817 You can, though, still define multiple conversion methods between file
2819 For example, the standard \SpecialChar LyX
2820 configuration provides five ways to convert
2825 \begin_layout Enumerate
2827 \begin_inset Flex Noun
2830 \begin_layout Plain Layout
2839 \begin_layout Enumerate
2840 via (DVI and) PostScript, using
2841 \begin_inset Flex Noun
2844 \begin_layout Plain Layout
2853 \begin_layout Enumerate
2855 \begin_inset Flex Noun
2858 \begin_layout Plain Layout
2867 \begin_layout Enumerate
2869 \begin_inset Flex Noun
2872 \begin_layout Plain Layout
2882 \begin_layout Enumerate
2884 \begin_inset Flex Noun
2887 \begin_layout Plain Layout
2897 \begin_layout Standard
2898 To define such alternate chains, you must define multiple target `file formats',
2900 \begin_inset CommandInset ref
2902 reference "sec:Formats"
2907 For example, in the standard configuration, the formats named
2908 \begin_inset Flex Noun
2911 \begin_layout Plain Layout
2918 \begin_inset Flex Noun
2921 \begin_layout Plain Layout
2928 \begin_inset Flex Noun
2931 \begin_layout Plain Layout
2938 \begin_inset Flex Noun
2941 \begin_layout Plain Layout
2948 \begin_inset Flex Noun
2951 \begin_layout Plain Layout
2958 \begin_inset Flex Noun
2961 \begin_layout Plain Layout
2968 \begin_inset Flex Noun
2971 \begin_layout Plain Layout
2978 \begin_inset Flex Noun
2981 \begin_layout Plain Layout
2989 \begin_inset Flex Noun
2992 \begin_layout Plain Layout
2999 \begin_inset Flex Noun
3002 \begin_layout Plain Layout
3009 ) are defined, all of which share the extension
3010 \begin_inset Flex Noun
3013 \begin_layout Plain Layout
3019 , and which correspond to the conversion methods just mentioned.
3022 \begin_layout Chapter
3023 Internationalizing \SpecialChar LyX
3025 \begin_inset CommandInset label
3027 name "cha:Internationalizing-LyX"
3034 \begin_layout Standard
3036 supports using a translated interface.
3037 Last time we checked, \SpecialChar LyX
3038 provided text in thirty languages.
3039 The language of choice is called your
3044 (For further reading on locale settings, see also the documentation for
3045 locale that comes with your operating system.
3046 For Linux, the manual page for
3047 \begin_inset Flex Code
3050 \begin_layout Plain Layout
3056 could be a good place to start).
3059 \begin_layout Standard
3060 Notice that these translations will work, but do contain a few flaws.
3061 In particular, all dialogs have been designed with the English text in
3062 mind, which means that some of the translated text will be too large to
3063 fit within the space allocated.
3064 This is only a display problem and will not cause any harm.
3065 Also, you will find that some of the translations do not define shortcut
3066 keys for everything.
3067 Sometimes, there are simply not enough free letters to do it.
3068 Other times, the translator just hasn't got around to doing it yet.
3069 Our localization team, which you may wish to join,
3073 \begin_layout Plain Layout
3074 If you are a fluent speaker of a language other than English, joining these
3075 teams is a great way to give back to the \SpecialChar LyX
3081 will of course try to fix these shortcomings in future versions of \SpecialChar LyX
3085 \begin_layout Section
3086 Translating \SpecialChar LyX
3090 \begin_layout Subsection
3091 Translating the graphical user interface (text messages).
3094 \begin_layout Standard
3097 \begin_inset Flex Code
3100 \begin_layout Plain Layout
3106 library to handle the internationalization of the interface.
3107 To have \SpecialChar LyX
3108 speak your favorite language in all menus and dialogs, you need
3110 \begin_inset Flex Code
3113 \begin_layout Plain Layout
3119 -file for that language.
3120 When this is available, you'll have to generate a
3121 \begin_inset Flex Code
3124 \begin_layout Plain Layout
3130 -file from it and install the
3131 \begin_inset Flex Code
3134 \begin_layout Plain Layout
3141 The process of doing all of this is explained in the documentation for
3143 \begin_inset Flex Code
3146 \begin_layout Plain Layout
3153 It is possible to do this just for yourself, but if you're going to do
3154 it, you might as well share the results of your labors with the rest of
3155 the \SpecialChar LyX
3157 Send a message to the \SpecialChar LyX
3158 developers' list for more information about how
3162 \begin_layout Standard
3163 In short, this is what you should do (xx denotes the language code):
3166 \begin_layout Itemize
3167 Check out the \SpecialChar LyX
3170 \begin_inset CommandInset href
3172 name "information on the web"
3173 target "https://www.lyx.org/HowToUseGIT"
3181 \begin_layout Itemize
3183 \begin_inset Flex Code
3186 \begin_layout Plain Layout
3192 to the folder of the
3193 \begin_inset Flex Code
3196 \begin_layout Plain Layout
3204 \begin_inset Flex Code
3207 \begin_layout Plain Layout
3215 \begin_inset Flex Code
3218 \begin_layout Plain Layout
3224 doesn't exist anywhere, it can be remade with the console command
3225 \begin_inset Flex Code
3228 \begin_layout Plain Layout
3234 in that directory, or you can use an existing po-file for some other language
3238 \begin_layout Itemize
3240 \begin_inset Flex Code
3243 \begin_layout Plain Layout
3253 \begin_layout Plain Layout
3254 This is just a text file, so it can be edited in any text editor.
3255 But there are also specialized programs that support such editing, such
3260 (for all platforms) or
3269 contains a `mode' for editing
3270 \begin_inset Flex Code
3273 \begin_layout Plain Layout
3280 \begin_inset Flex URL
3283 \begin_layout Plain Layout
3285 https://www.gnu.org/software/gettext/manual/html_node/PO-Mode.html#PO-Mode
3295 For some menu- and widget-labels, there are also shortcut keys that should
3297 Those keys are marked after a `|', and should be translated according to
3298 the words and phrases of the language.
3299 You should also fill also out the information at the beginning of the new
3301 \begin_inset Flex Code
3304 \begin_layout Plain Layout
3310 -file with your email-address, etc., so people know where to reach you with
3311 suggestions and entertaining flames.
3314 \begin_layout Standard
3315 If you are just doing this on your own, then:
3318 \begin_layout Itemize
3320 \begin_inset Flex Code
3323 \begin_layout Plain Layout
3330 This can be done with
3331 \begin_inset Flex Code
3334 \begin_layout Plain Layout
3335 msgfmt -o xx.mo < xx.po
3343 \begin_layout Itemize
3345 \begin_inset Flex Code
3348 \begin_layout Plain Layout
3354 -file to your locale-tree, at the correct directory for application messages
3359 xx, and under the name
3360 \begin_inset Flex Code
3363 \begin_layout Plain Layout
3370 \begin_inset space \thinspace{}
3374 \begin_inset space \space{}
3378 \begin_inset Flex Code
3381 \begin_layout Plain Layout
3382 /usr/local/share/locale/xx/LC_MESSAGES/lyx.mo
3392 \begin_layout Standard
3393 As said, however, it would be best if the new
3394 \begin_inset Flex Code
3397 \begin_layout Plain Layout
3403 file could be added to the \SpecialChar LyX
3404 distribution, so others can use it.
3405 Adding it involves making additional changes to \SpecialChar LyX
3407 So send an email to the developers' mailing list if you're interested in
3411 \begin_layout Subsubsection
3415 \begin_layout Standard
3416 Sometimes it turns out that one English message needs to be translated into
3417 different messages in the target language.
3418 One example is the message
3419 \begin_inset Flex Code
3422 \begin_layout Plain Layout
3428 which has the German translation
3436 , depending upon exactly what the English
3437 \begin_inset Quotes eld
3441 \begin_inset Quotes erd
3446 \begin_inset Flex Code
3449 \begin_layout Plain Layout
3455 does not handle such ambiguous translations.
3456 Therefore you have to add some context information to the message: Instead
3458 \begin_inset Flex Code
3461 \begin_layout Plain Layout
3468 \begin_inset Flex Code
3471 \begin_layout Plain Layout
3472 To[[as in 'From format x to format y']]
3478 \begin_inset Flex Code
3481 \begin_layout Plain Layout
3482 To[[as in 'From page x to page y']].
3487 Now the two occurrences of
3488 \begin_inset Flex Code
3491 \begin_layout Plain Layout
3498 \begin_inset Flex Code
3501 \begin_layout Plain Layout
3507 and can be translated correctly to
3518 \begin_layout Standard
3519 Of course the context information needs to be stripped off the original
3520 message when no translation is used.
3521 Therefore you have to put it in double square brackets at the end of the
3522 message (see the example above).
3523 The translation mechanism of \SpecialChar LyX
3524 ensures that everything in double square
3525 brackets at the end of messages is removed before displaying the message.
3528 \begin_layout Subsection
3529 Translating the documentation.
3532 \begin_layout Standard
3533 The online documentation (in the
3534 \begin_inset Flex Noun
3537 \begin_layout Plain Layout
3543 -menu) can (and should!) be translated.
3544 If there are translated versions of the documentation available
3548 \begin_layout Plain Layout
3549 As of March 2008, at least some of the documents have been translated into
3550 fourteen languages, with the Tutorial available in a few more.
3555 and the locale is set accordingly, these will be used automagically by
3559 looks for translated versions as
3560 \begin_inset Flex Code
3563 \begin_layout Plain Layout
3564 LyXDir/doc/xx/DocName.lyx
3570 \begin_inset Flex Code
3573 \begin_layout Plain Layout
3579 is the code for the language currently in use.
3580 If there are no translated documents, the default English versions will
3582 Note that the translated versions must have the same filenames (
3583 \begin_inset Flex Code
3586 \begin_layout Plain Layout
3592 above) as the original.
3593 If you feel up to translating the documentation (an excellent way to proof-read
3594 the original documentation by the way!), there are a few things you should
3598 \begin_layout Itemize
3599 Check out the documentation translation web page at
3600 \begin_inset CommandInset href
3602 name "https://www.lyx.org/Translation"
3603 target "https://www.lyx.org/Translation"
3609 That way, you can find out which (if any) documents have already been translate
3610 d into your language.
3611 You can also find out who (if anyone) is organizing the effort to translate
3612 the documentation into your language.
3613 If no one is organizing the effort, please let us know that you're interested.
3616 \begin_layout Standard
3617 Once you get to actually translating, here's a few hints for you that may
3621 \begin_layout Itemize
3622 Join the documentation team! There is information on how to do that in
3623 \begin_inset Flex Code
3626 \begin_layout Plain Layout
3633 \begin_inset Flex Noun
3636 \begin_layout Plain Layout
3637 Help\SpecialChar menuseparator
3643 ), which by the way is the first document you should translate.
3646 \begin_layout Itemize
3647 Learn the typographic conventions for the language you are translating to.
3648 Typography is an ancient art and over the centuries, a great variety of
3649 conventions have developed throughout different parts of the world.
3650 Also study the professional terminology amongst typographers in your country.
3651 Inventing your own terminology will only confuse the users.
3654 (Warning! Typography is addictive!)
3657 \begin_layout Itemize
3658 Make a copy of the document.
3659 This will be your working copy.
3660 You can use this as your personal translated help-file by placing it in
3662 \begin_inset Flex Code
3665 \begin_layout Plain Layout
3672 \begin_inset Note Greyedout
3675 \begin_layout Plain Layout
3680 For a complex document with external material (images, etc.), if you make
3682 \begin_inset space \thinspace{}
3686 \begin_inset space \space{}
3689 in a temp dir, beware that the links to external material may be broken
3690 when the document is moved to a different place.
3691 The best way is to retrieve the \SpecialChar LyX
3693 \begin_inset Flex URL
3696 \begin_layout Plain Layout
3698 https://www.lyx.org/HowToUseGIT
3703 ) and to edit the doc file in place.
3711 \begin_layout Itemize
3712 Sometimes the original document (from the \SpecialChar LyX
3713 team) will be updated.
3714 Use the source viewer at
3715 \begin_inset CommandInset href
3717 name "https://www.lyx.org/trac/timeline"
3718 target "https://www.lyx.org/trac/timeline"
3723 to see what has been changed.
3724 That way you can easily see which parts of the translated document need
3728 \begin_layout Standard
3729 If you ever find an error in the original document, fix it and notify the
3730 rest of the documentation team of the changes! (You didn't forget to join
3731 the documentation team, did you?)
3734 \begin_layout Standard
3735 \begin_inset Branch OutDated
3739 \begin_layout Section
3740 International Keyboard Support
3743 \begin_layout Standard
3746 [Editor's Note: The following section is by
3754 It needs to be fixed to conform to the new Documentation Style sheet and
3755 to make use of the new v1.0 features.
3756 The whole thing also needs to be merged with the section following it.-jw
3757 It may also be badly out of date.-rh (2008)]
3760 \begin_layout Subsection
3761 Defining Own Keymaps: Keymap File Format
3764 \begin_layout Standard
3765 Let's look at a keyboard definition file a little closer.
3766 It is a plain text file defining
3769 \begin_layout Itemize
3770 key-to-key or key-to-string translations
3773 \begin_layout Itemize
3777 \begin_layout Itemize
3778 dead keys exceptions
3781 \begin_layout Standard
3782 To define key-to-key or key-to-string translation, use this command:
3785 \begin_layout Quotation
3786 \begin_inset Flex Code
3789 \begin_layout Plain Layout
3798 \begin_inset Flex Code
3801 \begin_layout Plain Layout
3810 \begin_layout Standard
3812 \begin_inset Flex Code
3815 \begin_layout Plain Layout
3821 is the key to be translated and
3822 \begin_inset Flex Code
3825 \begin_layout Plain Layout
3831 is the string to be inserted into the document.
3832 To define dead keys, use:
3835 \begin_layout Quotation
3836 \begin_inset Flex Code
3839 \begin_layout Plain Layout
3848 \begin_inset Flex Code
3851 \begin_layout Plain Layout
3860 \begin_layout Standard
3862 \begin_inset Flex Code
3865 \begin_layout Plain Layout
3871 is a keyboard key and
3872 \begin_inset Flex Code
3875 \begin_layout Plain Layout
3882 The following dead keys are supported (shortcut name is in parentheses):
3885 \begin_layout Quotation
3889 \begin_inset space \hfill{}
3895 \begin_layout Quotation
3897 \begin_inset space \hfill{}
3903 \begin_layout Quotation
3905 \begin_inset space \hfill{}
3911 \begin_layout Quotation
3913 \begin_inset space \hfill{}
3919 \begin_layout Quotation
3921 \begin_inset space \hfill{}
3927 \begin_layout Quotation
3929 \begin_inset space \hfill{}
3936 \begin_layout Plain Layout
3948 \begin_layout Quotation
3950 \begin_inset space \hfill{}
3956 \begin_layout Quotation
3958 \begin_inset space \hfill{}
3965 \begin_layout Plain Layout
3977 \begin_layout Quotation
3979 \begin_inset space \hfill{}
3985 \begin_layout Quotation
3987 \begin_inset space \hfill{}
3993 \begin_layout Quotation
3995 \begin_inset space \hfill{}
4002 \begin_layout Plain Layout
4014 \begin_layout Quotation
4016 \begin_inset space \hfill{}
4023 \begin_layout Plain Layout
4035 \begin_layout Quotation
4037 \begin_inset space \hfill{}
4043 \begin_layout Quotation
4044 hungarian umlaut (hug)
4045 \begin_inset space \hfill{}
4051 \begin_layout Quotation
4053 \begin_inset space \hfill{}
4059 \begin_layout Quotation
4061 \begin_inset space \hfill{}
4068 \begin_layout Plain Layout
4080 \begin_layout Standard
4081 Since in many international keyboards there are exceptions to what some
4082 dead keys should do, you can define them using
4085 \begin_layout Quotation
4086 \begin_inset Flex Code
4089 \begin_layout Plain Layout
4097 deadkey key outstring
4100 \begin_layout Standard
4101 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
4105 \begin_layout Quotation
4106 \begin_inset Flex Code
4109 \begin_layout Plain Layout
4122 \begin_layout Standard
4123 to make it work correctly.
4124 Also, you have to define as exceptions dead keys over i and j, to remove
4125 the dot from them before inserting an accent mark.
4126 I will change this when the time comes, but so far I haven't had time.
4129 \begin_layout Standard
4130 Oh, and about characters: backslash is escaped, so to enter it, you'll need
4133 \begin_inset Flex Code
4136 \begin_layout Plain Layout
4142 have different meaning.
4144 \begin_inset Flex Code
4147 \begin_layout Plain Layout
4153 marks comments, quotes start and end \SpecialChar LaTeX
4155 To enter quote, you'll need to use
4156 \begin_inset Flex Code
4159 \begin_layout Plain Layout
4168 \begin_inset Flex Code
4171 \begin_layout Plain Layout
4178 \begin_inset Flex Code
4181 \begin_layout Plain Layout
4192 \begin_layout Standard
4193 If you make a keyboard description file that works for your language, please
4194 mail it to me, so I can include it in the next keymap distribution.
4197 \begin_layout Standard
4198 More keywords will be supported in keymap configuration file in future,
4202 \begin_layout Itemize
4203 \begin_inset Flex Code
4206 \begin_layout Plain Layout
4217 \begin_inset space \hfill{}
4221 \begin_inset Flex Code
4224 \begin_layout Plain Layout
4233 \begin_layout Itemize
4234 \begin_inset Flex Code
4237 \begin_layout Plain Layout
4248 \begin_inset space \hfill{}
4252 \begin_inset Flex Code
4255 \begin_layout Plain Layout
4261 an external keymap translation program
4264 \begin_layout Standard
4265 Also, it should look into
4266 \begin_inset Flex Code
4269 \begin_layout Plain Layout
4275 file for defaults, too (for example, a
4276 \begin_inset Flex Code
4279 \begin_layout Plain Layout
4287 option to include default keyboard).
4295 \begin_layout Section
4296 International Keymap Stuff
4297 \begin_inset CommandInset label
4299 name "sec:International-Keymap-Stuff"
4306 \begin_layout Standard
4307 \begin_inset Note Note
4310 \begin_layout Plain Layout
4311 In doing the revisions on this document in March 2008, I did not look over
4312 this stuff, as I do not understand it.
4313 It would be good if someone else could do so.
4322 \begin_layout Standard
4323 The next two sections describe the
4324 \begin_inset Flex Code
4327 \begin_layout Plain Layout
4336 \begin_inset Flex Code
4339 \begin_layout Plain Layout
4347 file syntax in detail.
4348 These sections should help you design your own key map if the ones provided
4349 do not meet your needs.
4352 \begin_layout Subsection
4356 \begin_layout Standard
4360 \begin_inset Flex Code
4363 \begin_layout Plain Layout
4369 file maps keystrokes to characters or strings.
4370 As the name suggests, it sets a keyboard mapping.
4372 \begin_inset Flex Code
4375 \begin_layout Plain Layout
4386 \begin_inset Flex Code
4389 \begin_layout Plain Layout
4404 \begin_inset Flex Code
4407 \begin_layout Plain Layout
4420 \begin_inset Flex Code
4423 \begin_layout Plain Layout
4432 \begin_inset Flex Code
4435 \begin_layout Plain Layout
4443 are described in this section.
4446 \begin_layout Labeling
4447 \labelwidthstring 00.00.0000
4448 \begin_inset Flex Code
4451 \begin_layout Plain Layout
4459 Map a character to a string
4462 \begin_layout LyX-Code
4477 \begin_layout Standard
4510 the double-quote (")
4527 must be escaped with a preceding backslash (
4538 \begin_layout Standard
4540 \begin_inset Flex Noun
4543 \begin_layout Plain Layout
4551 statement to cause the symbol
4552 \begin_inset Flex Noun
4555 \begin_layout Plain Layout
4563 to be output for the keystroke
4564 \begin_inset Flex Noun
4567 \begin_layout Plain Layout
4578 \begin_layout LyX-Code
4584 \begin_layout Labeling
4585 \labelwidthstring 00.00.0000
4586 \begin_inset Flex Code
4589 \begin_layout Plain Layout
4597 Specify an accent character
4600 \begin_layout LyX-Code
4609 \begin_layout Standard
4610 This will make the cha
4648 This is the dead key
4652 \begin_layout Plain Layout
4659 refers to a key that does not produce a character by itself, but when followed
4660 with another key, produces the desired accent character.
4661 For example, a German characte
4663 r with an umlaut like
4673 can be produced in this manner.
4682 \begin_layout Standard
4695 and then another key not in
4712 followed by the other, not allowed key, as output.
4716 \begin_inset Flex Noun
4719 \begin_layout Plain Layout
4727 cancels a dead key, so if
4738 \begin_inset Flex Noun
4741 \begin_layout Plain Layout
4750 , the cursor will not go one position backwards but will instead cancel
4766 might have had on the next keystroke.
4770 \begin_layout Standard
4771 The following example specifies that the character ' is to be an acute accent,
4772 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4775 \begin_layout LyX-Code
4778 kmod ' acute aeiouAEIOU
4781 \begin_layout Labeling
4782 \labelwidthstring 00.00.0000
4783 \begin_inset Flex Code
4786 \begin_layout Plain Layout
4792 Specify an exception to the accent character
4795 \begin_layout LyX-Code
4804 \begin_layout Standard
4805 This defines an exce
4846 have been assigned a keystroke with a previous
4849 \begin_inset Flex Code
4852 \begin_layout Plain Layout
4876 must not belong in the
4923 If such a declaration does not exist in
4931 \begin_inset Flex Code
4934 \begin_layout Plain Layout
4968 \begin_inset Flex Code
4971 \begin_layout Plain Layout
4985 \begin_layout Standard
4986 The following command produces causes äi to be produced when you enter acute-i
4990 \begin_layout LyX-Code
5004 \begin_layout Labeling
5005 \labelwidthstring 00.00.0000
5006 \begin_inset Flex Code
5009 \begin_layout Plain Layout
5015 Combine two accent characters
5018 \begin_layout LyX-Code
5024 accent1 accent2 allowed
5027 \begin_layout Standard
5028 This one is getting pretty esoteric.
5029 It allows you to combine the effect
5085 \begin_inset Flex Code
5088 \begin_layout Plain Layout
5116 \begin_layout Standard
5117 Consider this example from the
5118 \begin_inset Flex Code
5121 \begin_layout Plain Layout
5132 \begin_layout LyX-Code
5135 kmod ; acute aeioyvhAEIOYVH
5139 kcomb acute umlaut iyIY
5142 \begin_layout Standard
5143 This allows you to press
5144 \begin_inset Flex Noun
5147 \begin_layout Plain Layout
5155 and get the effect of
5156 \begin_inset Flex Code
5159 \begin_layout Plain Layout
5178 in this case cancels the last dead key, so if you press
5179 \begin_inset Flex Noun
5182 \begin_layout Plain Layout
5191 \begin_inset Flex Code
5194 \begin_layout Plain Layout
5207 \begin_layout Subsection
5211 \begin_layout Standard
5213 \begin_inset Flex Code
5216 \begin_layout Plain Layout
5224 mapping is performed, a
5225 \begin_inset Flex Code
5228 \begin_layout Plain Layout
5238 file maps the strings that the symbols generate to characters in the current
5240 The \SpecialChar LyX
5241 distribution currently includes at least the
5242 \begin_inset Flex Code
5245 \begin_layout Plain Layout
5254 \begin_inset Flex Code
5257 \begin_layout Plain Layout
5268 \begin_layout Standard
5270 \begin_inset Flex Code
5273 \begin_layout Plain Layout
5281 file is a sequence of declarations of the form
5284 \begin_layout LyX-Code
5297 \begin_layout Standard
5298 For example, in order to map
5299 \begin_inset Flex Noun
5302 \begin_layout Plain Layout
5312 to the corresponding character in the iso-8859-1 set (233), the following
5316 \begin_layout LyX-Code
5324 \begin_layout Standard
5326 \begin_inset Flex Code
5329 \begin_layout Plain Layout
5338 \begin_inset Flex Code
5341 \begin_layout Plain Layout
5359 the same character can apply to more than one string.
5361 \begin_inset Flex Code
5364 \begin_layout Plain Layout
5375 \begin_layout LyX-Code
5387 \begin_inset Newline newline
5403 \begin_layout Standard
5405 cannot find a mapping for the string produced by the keystroke or a
5406 deadkey sequence, it will check if it looks like an accented char and try
5407 to draw an accent over the character on screen.
5410 \begin_layout Subsection
5414 \begin_layout Standard
5415 There is a second way to add support for international characters through
5416 so-called dead-keys.
5417 A dead-key works in combination with a letter to produce an accented character.
5418 Here, we'll explain how to create a really simple dead-key to illustrate
5422 \begin_layout Standard
5423 Suppose you happen to need the circumflex character,
5424 \begin_inset Quotes eld
5428 \begin_inset Quotes erd
5433 \begin_inset Flex Noun
5436 \begin_layout Plain Layout
5443 \begin_inset space ~
5447 \begin_inset Flex Noun
5450 \begin_layout Plain Layout
5456 ] to the \SpecialChar LyX
5458 \begin_inset Flex Code
5461 \begin_layout Plain Layout
5468 \begin_inset Flex Code
5471 \begin_layout Plain Layout
5478 Now, whenever you type the
5479 \begin_inset Flex Noun
5482 \begin_layout Plain Layout
5488 -key followed by a letter, that letter will have a circumflex accent on
5490 For example, the sequence
5491 \begin_inset Quotes eld
5495 \begin_inset Flex Noun
5498 \begin_layout Plain Layout
5505 \begin_inset Quotes erd
5508 produces the letter:
5509 \begin_inset Quotes eld
5513 \begin_inset Quotes erd
5517 If you tried to type
5518 \begin_inset Quotes eld
5522 \begin_inset Flex Noun
5525 \begin_layout Plain Layout
5532 \begin_inset Quotes erd
5535 , however, \SpecialChar LyX
5536 will complain with a beep, since a
5537 \begin_inset Quotes eld
5541 \begin_inset Flex Noun
5544 \begin_layout Plain Layout
5551 \begin_inset Quotes erd
5554 never takes a circumflex accent.
5556 \begin_inset Flex Noun
5559 \begin_layout Plain Layout
5565 after a dead-key produces the bare-accent.
5566 Please note this last point! If you bind a key to a dead-key, you'll need
5567 to rebind the character on that key to yet another key.
5569 \begin_inset Flex Noun
5572 \begin_layout Plain Layout
5578 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
5581 \begin_layout Standard
5582 One common way to bind dead-keys is to use
5583 \begin_inset Flex Noun
5586 \begin_layout Plain Layout
5593 \begin_inset Flex Noun
5596 \begin_layout Plain Layout
5603 \begin_inset Flex Noun
5606 \begin_layout Plain Layout
5612 in combination with an accent, like
5613 \begin_inset Quotes eld
5617 \begin_inset Flex Noun
5620 \begin_layout Plain Layout
5627 \begin_inset Quotes erd
5631 \begin_inset Quotes eld
5635 \begin_inset Flex Noun
5638 \begin_layout Plain Layout
5645 \begin_inset Quotes erd
5649 \begin_inset Quotes eld
5653 \begin_inset Flex Noun
5656 \begin_layout Plain Layout
5663 \begin_inset Quotes erd
5667 Another way involves using
5668 \begin_inset Flex Code
5671 \begin_layout Plain Layout
5678 \begin_inset Flex Code
5681 \begin_layout Plain Layout
5687 to set up the special
5688 \begin_inset Flex Code
5691 \begin_layout Plain Layout
5699 \begin_inset Flex Code
5702 \begin_layout Plain Layout
5708 acts in some ways just like
5709 \begin_inset Flex Noun
5712 \begin_layout Plain Layout
5718 and permits you to bind keys to accented characters.
5719 You can also turn keys into dead-keys by binding them to something like
5721 \begin_inset Flex Code
5724 \begin_layout Plain Layout
5730 and then binding this symbolic key to the corresponding \SpecialChar LyX
5735 \begin_layout Plain Layout
5740 : This is exactly what I do in my
5741 \begin_inset Flex Code
5744 \begin_layout Plain Layout
5751 \begin_inset Flex Code
5754 \begin_layout Plain Layout
5762 \begin_inset Flex Noun
5765 \begin_layout Plain Layout
5767 \begin_inset space ~
5776 \begin_inset Flex Code
5779 \begin_layout Plain Layout
5785 and a bunch of these
5786 \begin_inset Quotes eld
5790 \begin_inset Flex Code
5793 \begin_layout Plain Layout
5800 \begin_inset Quotes erd
5803 symbolic keys bound such things as
5804 \begin_inset Flex Noun
5807 \begin_layout Plain Layout
5809 \begin_inset space ~
5818 \begin_inset Flex Noun
5821 \begin_layout Plain Layout
5823 \begin_inset space ~
5832 This is how I produce my accented characters.
5837 You can make just about anything into the
5838 \begin_inset Flex Code
5841 \begin_layout Plain Layout
5848 \begin_inset Flex Noun
5851 \begin_layout Plain Layout
5857 keys, a spare function key, etc.
5858 As for the \SpecialChar LyX
5859 commands that produce accents, check the entry for
5860 \begin_inset Flex Code
5863 \begin_layout Plain Layout
5874 You'll find the complete list there.
5877 \begin_layout Subsection
5878 Saving your Language Configuration
5881 \begin_layout Standard
5882 You can edit your preferences so that your desired language environment
5883 is automatically configured when \SpecialChar LyX
5885 \begin_inset Flex Noun
5888 \begin_layout Plain Layout
5889 Edit\SpecialChar menuseparator
5898 \begin_layout Chapter
5899 Installing New Document Classes, Layouts, and Templates
5900 \begin_inset CommandInset label
5902 name "cha:Installing-New-Document"
5907 \begin_inset Argument 1
5910 \begin_layout Plain Layout
5911 Installing New Document Classes
5919 \begin_layout Standard
5920 In this chapter, we describe the procedures for creating and installing
5921 new \SpecialChar LyX
5922 layout and template files, as well as offer a refresher on correctly
5923 installing new \SpecialChar LaTeX
5928 \begin_layout Standard
5929 First, let us a say a few words about how one ought to think about the relation
5930 between \SpecialChar LyX
5931 and \SpecialChar LaTeX
5933 The thing to understand is that, in a certain sense, \SpecialChar LyX
5934 doesn't know anything
5935 about \SpecialChar LaTeX
5937 Indeed, from \SpecialChar LyX
5938 's point of view, \SpecialChar LaTeX
5939 is just one of several
5940 \begin_inset Quotes eld
5944 \begin_inset Quotes erd
5947 in which it is capable of producing output.
5948 Other such formats are DocBook, plaintext, and XHTML.
5950 is, of course, a particularly important format, but very little of the
5951 information \SpecialChar LyX
5952 has about \SpecialChar LaTeX
5953 is actually contained in the program itself.
5957 \begin_layout Plain Layout
5958 Some commands are sufficiently complex that they are
5959 \begin_inset Quotes eld
5963 \begin_inset Quotes erd
5966 into \SpecialChar LyX
5968 But the developers generally regard this as a Bad Thing.
5973 Rather, that information, even for the standard classes like
5974 \begin_inset Flex Code
5977 \begin_layout Plain Layout
5983 , is contained in `layout files'.
5984 Similarly, \SpecialChar LyX
5985 itself does not know much about DocBook or XHTML.
5986 What it knows is contained in layout files.
5989 \begin_layout Standard
5990 You can think of the layout file for a given document class as a translation
5991 manual between \SpecialChar LyX
5992 constructs—paragraphs with their corresponding styles,
5993 certain sorts of insets, etc—and the corresponding \SpecialChar LaTeX
5996 Almost everything \SpecialChar LyX
5998 \begin_inset Flex Code
6001 \begin_layout Plain Layout
6007 , for example, is contained in the file
6008 \begin_inset Flex Code
6011 \begin_layout Plain Layout
6017 and in various other files it includes.
6018 For this reason, anyone intending to write layout files should plan to
6019 study the existing files.
6020 A good place to start is with
6021 \begin_inset Flex Code
6024 \begin_layout Plain Layout
6030 , which is included in
6031 \begin_inset Flex Code
6034 \begin_layout Plain Layout
6041 \begin_inset Flex Code
6044 \begin_layout Plain Layout
6050 , and many of the other layout files for document classes.
6051 This file is where sections and the like are defined:
6052 \begin_inset Flex Code
6055 \begin_layout Plain Layout
6061 tells \SpecialChar LyX
6062 how paragraphs that are marked with the Section, Subsection, etc,
6063 styles can be translated into corresponding \SpecialChar LaTeX
6064 , DocBook, and XHTML commands
6067 \begin_inset Flex Code
6070 \begin_layout Plain Layout
6076 file basically just includes several of these
6077 \begin_inset Flex Code
6080 \begin_layout Plain Layout
6089 \begin_layout Standard
6090 Defining the \SpecialChar LyX
6092 correspondence is not the only thing layout files do, though.
6093 Their other job is to define how the \SpecialChar LyX
6094 constructs themselves will appear
6096 The fact that layout files have these two jobs is often a source of confusion,
6097 because they are completely separate.
6098 Telling \SpecialChar LyX
6099 how to translate a certain paragraph style into \SpecialChar LaTeX
6102 how to display it; conversely, telling \SpecialChar LyX
6103 how to display a certain paragraph
6104 style does not tell \SpecialChar LyX
6105 how to translate it into \SpecialChar LaTeX
6106 (let alone tell \SpecialChar LaTeX
6109 So, in general, when you define a new \SpecialChar LyX
6110 construct, you must always do two
6111 quite separate things: (i)
6112 \begin_inset space ~
6115 tell \SpecialChar LyX
6116 how to translate it into \SpecialChar LaTeX
6118 \begin_inset space ~
6121 tell \SpecialChar LyX
6125 \begin_layout Standard
6126 Much the same is true, of course, as regards \SpecialChar LyX
6127 's other backend formats, though
6128 XHTML is in some ways different, because in that case \SpecialChar LyX
6133 able, to some extent, to use information about how it should display a
6134 paragraph on the screen to output information (in the form of CSS) about
6135 how the paragraph should be displayed in a browser.
6136 Even in this case, however, the distinction between what \SpecialChar LyX
6138 and how things are rendered externally remains in force, and the two can
6139 be controlled separately.
6141 \begin_inset CommandInset ref
6143 reference "sec:Tags-for-XHTML"
6150 \begin_layout Section
6151 Installing new \SpecialChar LaTeX
6155 \begin_layout Standard
6156 Some installations may not include a \SpecialChar LaTeX
6157 package or class file that you would
6158 like to use within \SpecialChar LyX
6160 For example, you might need Foil\SpecialChar TeX
6161 , a package for preparing slides for overhead
6163 Modern \SpecialChar LaTeX
6164 distributions like \SpecialChar TeX
6165 Live (2008 or newer) or MiK\SpecialChar TeX
6166 provide a user interface
6167 for installing such packages.
6168 For example, with MiK\SpecialChar TeX
6169 , you start the program
6170 \begin_inset Quotes eld
6174 \begin_inset space ~
6178 \begin_inset Quotes erd
6181 to get a list of available packages.
6182 To install one of them, right click on it or use the corresponding toolbar
6186 \begin_layout Standard
6187 If your \SpecialChar LaTeX
6188 distribution does not provide such a `package manager', or if the
6189 package is not available from your distribution, then follow these steps
6190 to install it manually:
6193 \begin_layout Enumerate
6194 Get the package from
6195 \begin_inset CommandInset href
6198 target "http://www.ctan.org/"
6206 \begin_layout Enumerate
6207 If the package contains a file with the ending
6208 \begin_inset Quotes eld
6212 \begin_inset Flex Code
6215 \begin_layout Plain Layout
6222 \begin_inset Quotes erd
6225 (is the case for Foil\SpecialChar TeX
6226 ) then open a console, change to the folder of this
6227 file and execute the command
6228 \begin_inset Flex Code
6231 \begin_layout Plain Layout
6238 You have now unpacked the package and have all files to install it.
6239 Most \SpecialChar LaTeX
6240 -packages are not packed and you can skip this step.
6243 \begin_layout Enumerate
6244 Now you need to decide if the package should be available for all users
6249 \begin_layout Enumerate
6250 On *nix systems (Linux, OSX, etc.), if you want the new package to be available
6251 for all users on your system, then install it in your `local' \SpecialChar TeX
6253 install it in your own `user' \SpecialChar TeX
6255 Where these trees should be created, if they do not already exist, depends
6257 To find this out, look in the file
6258 \begin_inset Flex Code
6261 \begin_layout Plain Layout
6271 \begin_layout Plain Layout
6272 This is usually in the directory
6273 \begin_inset Flex Code
6276 \begin_layout Plain Layout
6282 , though you can execute the command
6283 \begin_inset Flex Code
6286 \begin_layout Plain Layout
6297 The location of the `local' \SpecialChar TeX
6298 tree is defined by the
6299 \begin_inset Flex Code
6302 \begin_layout Plain Layout
6308 variable; this is usually somewhere like
6309 \begin_inset Flex Code
6312 \begin_layout Plain Layout
6313 /usr/local/share/texmf
6318 or /usr/local/texlive/XXXX where XXXX is the year of the installed \SpecialChar TeX
6321 The location of the `user' \SpecialChar TeX
6323 \begin_inset Flex Code
6326 \begin_layout Plain Layout
6333 \begin_inset Flex Code
6336 \begin_layout Plain Layout
6343 \begin_inset Flex Code
6346 \begin_layout Plain Layout
6355 (If these variables are not predefined, you have to define them.) You'll
6356 probably need root permissions to create or modify the `local' tree, but
6357 not for your `user' tree.
6358 \begin_inset Newline newline
6361 In general, it is recommended to install in the user tree because your user
6362 will not be modified or even overwritten when you upgrade your system.
6363 It will typically also be backed up together with everything else when
6364 you backup your home directory (which, of course, you do on a regular basis).
6367 \begin_layout Enumerate
6368 On Windows, if you want the new package to be available for all users on
6369 your system, change to the folder where \SpecialChar LaTeX
6370 is installed and then change to
6372 \begin_inset Flex Code
6375 \begin_layout Plain Layout
6386 (For MiK\SpecialChar TeX
6387 , this would be by default the folder
6388 \begin_inset Flex Code
6391 \begin_layout Plain Layout
6409 \begin_layout Plain Layout
6410 Note that this will be the correct path only on English installations.
6411 On a German one, it would be
6412 \begin_inset Flex Code
6415 \begin_layout Plain Layout
6429 , and similarly for other languages.
6434 Create there a new folder
6435 \begin_inset Flex Code
6438 \begin_layout Plain Layout
6444 and copy all files of the package into it.
6446 \begin_inset Newline newline
6449 If the package should only available for you or you don't have admin permissions
6450 , do the same, but in the local \SpecialChar LaTeX
6453 \begin_inset space \thinspace{}
6456 g., for MiK\SpecialChar TeX
6458 \begin_inset space ~
6461 2.8 under Windows XP, this would be the folder:
6462 \begin_inset Newline newline
6468 \begin_inset Flex Code
6471 \begin_layout Plain Layout
6474 Documents and Settings
6486 \begin_inset Newline newline
6492 \begin_inset Phantom HPhantom
6495 \begin_layout Plain Layout
6506 \begin_inset Flex Code
6509 \begin_layout Plain Layout
6522 \begin_inset Newline newline
6525 On Vista, it would be:
6526 \begin_inset Newline newline
6530 \begin_inset Flex Code
6533 \begin_layout Plain Layout
6559 \begin_layout Enumerate
6560 Now one only need to tell \SpecialChar LaTeX
6561 that there are new files.
6562 This depends on the used \SpecialChar LaTeX
6567 \begin_layout Enumerate
6568 For \SpecialChar TeX
6569 Live execute the command
6570 \begin_inset Flex Code
6573 \begin_layout Plain Layout
6580 If you installed the package for all users, then you will probably need
6581 to have root permissions for that.
6584 \begin_layout Enumerate
6585 For MiK\SpecialChar TeX
6586 , if you have installed the package for all users, start the program
6588 \begin_inset Quotes eld
6592 \begin_inset space ~
6596 \begin_inset Quotes erd
6599 and press the button marked
6600 \begin_inset Quotes eld
6604 \begin_inset Quotes erd
6608 Otherwise start the program
6609 \begin_inset Quotes eld
6613 \begin_inset Quotes erd
6620 \begin_layout Enumerate
6621 Finally, you need to tell \SpecialChar LyX
6622 that there are new packages available.
6623 So, in \SpecialChar LyX
6625 \begin_inset Flex Noun
6628 \begin_layout Plain Layout
6631 \SpecialChar menuseparator
6637 and then restart \SpecialChar LyX
6641 \begin_layout Standard
6642 Now the package is installed.
6643 In our example, the document class
6644 \begin_inset Flex Code
6647 \begin_layout Plain Layout
6653 will now be available under
6654 \begin_inset Flex Noun
6657 \begin_layout Plain Layout
6658 Document\SpecialChar menuseparator
6659 Settings\SpecialChar menuseparator
6666 \begin_inset Quotes eld
6670 \begin_inset Quotes erd
6677 \begin_layout Standard
6678 If you would like to use a \SpecialChar LaTeX
6679 document class that is not even listed in the
6681 \begin_inset Flex Noun
6684 \begin_layout Plain Layout
6685 Document\SpecialChar menuseparator
6686 Settings\SpecialChar menuseparator
6692 , then you need to create a `layout' file for it.
6693 That is the topic of the next section.
6696 \begin_layout Section
6697 Types of layout files
6700 \begin_layout Standard
6701 This section describes the various sorts of \SpecialChar LyX
6702 files that contain layout informati
6704 These files describe various paragraph and character styles, determining
6705 how \SpecialChar LyX
6706 should display them and how they should be translated into \SpecialChar LaTeX
6708 XHTML, or whatever output format is being used.
6712 \begin_layout Standard
6713 We shall try to provide a thorough description of the process of writing
6715 However, there are so many different types of documents supported even
6716 by just \SpecialChar LaTeX
6717 that we can't hope to cover every different possibility or problem
6718 you might encounter.
6719 The \SpecialChar LyX
6720 users' list is frequented by people with lots of experience with layout
6721 design who are willing to share what they've learned, so please feel free
6722 to ask questions there.
6725 \begin_layout Standard
6726 As you prepare to write a new layout, it is extremely helpful to look at
6727 the layouts distributed with \SpecialChar LyX
6729 If you write a \SpecialChar LyX
6730 layout for a \SpecialChar LaTeX
6731 document class that might also be used by
6732 others, or write a module that might be useful to others, then you should
6733 consider posting your layout to the
6734 \begin_inset CommandInset href
6736 name "layout section on the LyX wiki"
6737 target "https://wiki.lyx.org/Layouts/Layouts"
6742 or even to the \SpecialChar LyX
6743 developers' list, so that it might be included in \SpecialChar LyX
6748 \begin_layout Plain Layout
6749 Note that \SpecialChar LyX
6750 is licensed under the General Public License, so any material
6751 that is contributed to \SpecialChar LyX
6752 must be similarly licensed.
6760 \begin_layout Subsection
6762 \begin_inset CommandInset label
6764 name "subsec:Layout-modules"
6771 \begin_layout Standard
6772 We have spoken to this point about `layout files'.
6773 But there are different sorts of files that contain layout information.
6774 Layout files, strictly so called, have the
6775 \begin_inset Flex Code
6778 \begin_layout Plain Layout
6784 extension and provide \SpecialChar LyX
6785 with information about document classes.
6786 Since \SpecialChar LyX
6787 1.6 layout information can also be contained in layout
6792 \begin_inset Flex Code
6795 \begin_layout Plain Layout
6802 Modules are to \SpecialChar LaTeX
6803 packages much as layouts are to \SpecialChar LaTeX
6804 classes, and some modules—such
6806 \begin_inset Flex Code
6809 \begin_layout Plain Layout
6815 module—specifically provide support for one package.
6816 In a sense, layout modules are similar to included
6820 \begin_layout Plain Layout
6821 These can have any extension, but by convention have the
6822 \begin_inset Flex Code
6825 \begin_layout Plain Layout
6837 \begin_inset Flex Code
6840 \begin_layout Plain Layout
6846 —in that modules are not specific to a given document class but may be used
6847 with many different classes.
6848 The difference is that using an included file with
6849 \begin_inset Flex Code
6852 \begin_layout Plain Layout
6858 requires editing that file.
6859 Modules, by contrast, are selected in the
6860 \begin_inset Flex Noun
6863 \begin_layout Plain Layout
6864 Document\SpecialChar menuseparator
6873 \begin_layout Standard
6874 Building modules is the easiest way to get started with layout editing,
6875 since it can be as simple as adding a single new paragraph style or flex
6877 But modules may, in principle, contain anything a layout file can contain.
6880 \begin_layout Standard
6881 After creating a new module and copying it to the
6882 \begin_inset Flex Code
6885 \begin_layout Plain Layout
6891 folder, you will need to reconfigure and then restart \SpecialChar LyX
6894 However, changes you make to the module will be seen immediately, if you
6896 \begin_inset Flex Noun
6899 \begin_layout Plain Layout
6900 Document\SpecialChar menuseparator
6906 , highlight something, and then hit
6907 \begin_inset Quotes eld
6911 \begin_inset Quotes erd
6917 It is strongly recommended that you save your work before doing this
6922 it is strongly recommended that you not attempt to edit modules while simultaneo
6923 usly working on actual documents
6926 Though of course the developers strive to keep \SpecialChar LyX
6927 stable in such situations,
6928 syntax errors and the like in your module file could cause strange behavior.
6931 \begin_layout Subsubsection
6935 \begin_layout Standard
6936 Modules are to \SpecialChar LyX
6937 as packages are to \SpecialChar LaTeX
6939 Sometimes, however, you find yourself wanting a specific inset or character
6940 style just for one document and writing a module that will also be available
6941 to other documents makes little sense.
6942 What you need is \SpecialChar LyX
6944 \begin_inset Quotes eld
6948 \begin_inset Quotes erd
6954 \begin_layout Standard
6955 You will find it under
6957 Document\SpecialChar menuseparator
6958 Settings\SpecialChar menuseparator
6962 The large text box allows you to enter anything that you might enter in
6963 a layout file or module.
6964 You can think of a document's local layout, in fact, as a module that belongs
6966 So, in particular, you must enter a
6967 \begin_inset Flex Code
6970 \begin_layout Plain Layout
6977 Any format is acceptable, but one would normally use the format current
6979 (In \SpecialChar LyX
6986 , the current layout format is
6995 \begin_layout Standard
6996 When you have entered something in the
6997 \begin_inset Flex Code
7000 \begin_layout Plain Layout
7006 pane, \SpecialChar LyX
7008 \begin_inset Quotes eld
7012 \begin_inset Quotes erd
7015 button at the bottom.
7016 Clicking this button will cause \SpecialChar LyX
7017 to determine whether what you have entered
7018 is valid layout information for the chosen format.
7020 will report the result but, unfortunately, will not tell you what errors
7021 there might have been.
7022 These will be written to the terminal, however, if \SpecialChar LyX
7023 is started from a terminal.
7024 You will not be permitted to save your local layout until you have entered
7028 \begin_layout Standard
7029 The warnings at the end of the previous section apply here, too.
7030 Do not play with local layout while you are actually working, especially
7031 if you have not saved your document.
7032 That said, using local layout with a test document can be a very convenient
7033 way to try out layout ideas, or even to start developing a module.
7036 \begin_layout Subsection
7038 \begin_inset Flex Noun
7041 \begin_layout Plain Layout
7050 \begin_layout Standard
7051 There are two situations you are likely to encounter when wanting to support
7052 a new \SpecialChar LaTeX
7053 document class, involving style (
7054 \begin_inset Flex Code
7057 \begin_layout Plain Layout
7063 ) files and \SpecialChar LaTeX2e
7065 \begin_inset Flex Code
7068 \begin_layout Plain Layout
7075 Supporting a style file is usually fairly easy.
7076 Supporting a new class file is a bit harder.
7077 We'll discuss the former in this section and the latter in the next.
7078 Similar remarks apply, of course, if you want to support a new DocBook
7082 \begin_layout Standard
7083 The easier case is the one in which your new document class is provided
7084 as a style file that is to be used in conjunction with an already supported
7086 For the sake of the example, we'll assume that the style file is called
7088 \begin_inset Flex Noun
7091 \begin_layout Plain Layout
7097 and that it is meant to be used with
7098 \begin_inset Flex Noun
7101 \begin_layout Plain Layout
7107 , which is a standard class.
7111 \begin_layout Standard
7112 Start by copying the existing class's layout file into your local directory:
7116 \begin_layout Plain Layout
7117 Of course, which directory is your local directory will vary by platform,
7118 and \SpecialChar LyX
7119 allows you to specify your local directory on startup, too, using
7121 \begin_inset Flex Code
7124 \begin_layout Plain Layout
7138 \begin_layout LyX-Code
7139 cp report.layout ~/.lyx/layouts/myclass.layout
7142 \begin_layout Standard
7144 \begin_inset Flex Code
7147 \begin_layout Plain Layout
7153 and change the line:
7156 \begin_layout LyX-Code
7159 DeclareLaTeXClass{Report (Standard Class)}
7162 \begin_layout Standard
7166 \begin_layout LyX-Code
7169 DeclareLaTeXClass[report, myclass.sty]{Report (My Class)}
7172 \begin_layout Standard
7176 \begin_layout LyX-Code
7178 \begin_inset Newline newline
7184 \begin_inset Newline newline
7190 \begin_layout Standard
7191 near the top of the file.
7194 \begin_layout Standard
7195 Start \SpecialChar LyX
7197 \begin_inset Flex Noun
7200 \begin_layout Plain Layout
7201 Tools\SpecialChar menuseparator
7208 Then restart \SpecialChar LyX
7209 and try creating a new document.
7211 \begin_inset Flex Noun
7214 \begin_layout Plain Layout
7220 " as a document class option in the
7221 \begin_inset Flex Noun
7224 \begin_layout Plain Layout
7225 Document\SpecialChar menuseparator
7232 It is likely that some of the sectioning commands and such in your new
7233 class will work differently from how they worked in the base class—
7234 \begin_inset Flex Code
7237 \begin_layout Plain Layout
7243 in this example—so you can fiddle around with the settings for the different
7244 sections if you wish.
7245 The layout information for sections is contained in
7246 \begin_inset Flex Code
7249 \begin_layout Plain Layout
7255 , but you do not need to copy and change this file.
7256 Instead, you can simply add your changes to your layout file, after the
7258 \begin_inset Flex Code
7261 \begin_layout Plain Layout
7267 , which itself includes
7268 \begin_inset Flex Code
7271 \begin_layout Plain Layout
7278 For example, you might add these lines:
7281 \begin_layout LyX-Code
7285 \begin_layout LyX-Code
7289 \begin_layout LyX-Code
7293 \begin_layout LyX-Code
7297 \begin_layout LyX-Code
7301 \begin_layout Standard
7302 to change the font for chapter headings to sans-serif.
7303 This will override (or, in this case, add to) the existing declaration
7304 for the Chapter style.
7308 \begin_layout Standard
7309 Your new package may also provide commands or environments not present in
7311 In this case, you will want to add these to the layout file.
7313 \begin_inset CommandInset ref
7315 reference "sec:TextClass"
7319 for information on how to do so.
7322 \begin_layout Standard
7324 \begin_inset Flex Noun
7327 \begin_layout Plain Layout
7333 can be used with several different document classes, and even if it cannot,
7334 you might find it easiest just to write a module that you can load with
7336 The simplest possible such module would be:
7339 \begin_layout LyX-Code
7342 DeclareLyXModule{My Class}
7345 \begin_layout LyX-Code
7349 \begin_layout LyX-Code
7350 #Support for myclass.sty.
7353 \begin_layout LyX-Code
7355 \begin_inset Newline newline
7361 \begin_layout LyX-Code
7369 \begin_inset Newline newline
7375 \begin_layout LyX-Code
7377 \begin_inset Newline newline
7383 \begin_inset Newline newline
7389 \begin_layout Standard
7390 A more complex module might modify the behavior of some existing constructs
7391 or define some new ones.
7393 \begin_inset CommandInset ref
7395 reference "sec:TextClass"
7402 \begin_layout Subsection
7404 \begin_inset Flex Noun
7407 \begin_layout Plain Layout
7416 \begin_layout Standard
7417 There are two possibilities here.
7418 One is that the class file is itself based upon an existing document class.
7419 For example, many thesis classes are based upon
7420 \begin_inset Flex Noun
7423 \begin_layout Plain Layout
7430 To see whether yours is, look for a line like
7433 \begin_layout LyX-Code
7439 \begin_layout Standard
7441 If so, then you may proceed largely as in the previous section, though
7443 \begin_inset Flex Code
7446 \begin_layout Plain Layout
7447 Declare\SpecialChar LaTeX
7453 line will be different.
7454 If your new class is
7455 \begin_inset Flex Code
7458 \begin_layout Plain Layout
7464 and it is based upon
7465 \begin_inset Flex Code
7468 \begin_layout Plain Layout
7474 , then the line should read:
7478 \begin_layout Plain Layout
7479 And it will be easiest if you save the file to
7480 \begin_inset Flex Code
7483 \begin_layout Plain Layout
7490 assumes that the document class has the same name as the layout file.
7499 \begin_layout LyX-Code
7502 DeclareLaTeXClass[thesis,book]{thesis}
7505 \begin_layout Standard
7506 If, on the other hand, the new class is not based upon an existing class,
7507 you will probably have to
7508 \begin_inset Quotes eld
7512 \begin_inset Quotes erd
7516 We strongly suggest copying an existing layout file which uses a similar
7518 class and then modifying it, if you can do so.
7519 At least use an existing file as a starting point so you can find out what
7520 items you need to worry about.
7521 Again, the specifics are covered below.
7524 \begin_layout Subsection
7526 \begin_inset CommandInset label
7528 name "subsec:Creating-Templates"
7535 \begin_layout Standard
7536 Once you have written a layout file for a new document class, you might
7537 want to consider writing a
7542 A template acts as a kind of tutorial for your layout, showing how it might
7543 be used, though containing dummy content.
7544 You can of course look at the various templates included with \SpecialChar LyX
7548 \begin_layout Standard
7549 Templates are created just like usual documents: using \SpecialChar LyX
7551 The only difference is that usual documents contain all possible settings,
7552 including the font scheme and the paper size.
7553 Usually a user doesn't want a template to overwrite his preferred settings
7554 for such parameters.
7555 For that reason, the designer of a template should remove the corresponding
7557 \begin_inset Flex Code
7560 \begin_layout Plain Layout
7569 \begin_inset Flex Code
7572 \begin_layout Plain Layout
7580 from the template \SpecialChar LyX
7582 This can be done with any simple text-editor, for example
7583 \begin_inset Flex Code
7586 \begin_layout Plain Layout
7593 \begin_inset Flex Code
7596 \begin_layout Plain Layout
7605 \begin_layout Standard
7606 Put the edited template files you create in
7607 \begin_inset Flex Code
7610 \begin_layout Plain Layout
7616 , copy the ones you use from the global template directory in
7617 \begin_inset Flex Code
7620 \begin_layout Plain Layout
7626 to the same place, and redefine the template path in the
7627 \begin_inset Flex Noun
7630 \begin_layout Plain Layout
7631 Tools\SpecialChar menuseparator
7632 Preferences\SpecialChar menuseparator
7641 \begin_layout Standard
7642 Note, by the way, that there is a template which has a particular meaning:
7643 \begin_inset Newline linebreak
7647 \begin_inset Flex Code
7650 \begin_layout Plain Layout
7657 This template is loaded every time you create a new document with
7658 \begin_inset Flex Noun
7661 \begin_layout Plain Layout
7662 File\SpecialChar menuseparator
7668 in order to provide useful defaults.
7669 To create this template from inside \SpecialChar LyX
7670 , all you have to do is to open a document
7671 with the correct settings, and use the
7672 \begin_inset Flex Noun
7675 \begin_layout Plain Layout
7676 Save as Document Defaults
7684 \begin_layout Subsection
7685 Upgrading old layout files
7688 \begin_layout Standard
7689 The format of layout files changes with each \SpecialChar LyX
7690 release, so old layout files
7691 need to be converted to the new format.
7693 reads a layout file in an older format, it automatically calls the
7695 \begin_inset Flex Code
7698 \begin_layout Plain Layout
7704 to convert it to a temporary file in current format.
7705 The original file is left untouched.
7706 If you use the layout file often, then, you may want to convert it permanently,
7707 so that \SpecialChar LyX
7708 does not have to do so itself every time.
7709 To do this, you can call the converter manually:
7712 \begin_layout Enumerate
7714 \begin_inset Flex Code
7717 \begin_layout Plain Layout
7724 \begin_inset Flex Code
7727 \begin_layout Plain Layout
7736 \begin_layout Enumerate
7738 \begin_inset Newline newline
7742 \begin_inset Flex Code
7745 \begin_layout Plain Layout
7746 python LyXDir/scripts/layout2layout.py myclass.old myclass.layout
7752 \begin_inset Newline newline
7756 \begin_inset Flex Code
7759 \begin_layout Plain Layout
7765 is the name of your \SpecialChar LyX
7769 \begin_layout Standard
7770 Note that manual conversion does not affect included files, so these will
7771 have to be converted separately.
7774 \begin_layout Subsection
7775 \begin_inset CommandInset label
7777 name "subsec:Cite-Engine-Files"
7784 \begin_layout Standard
7785 A specific form of layout files are the so-called
7786 \begin_inset Flex Code
7789 \begin_layout Plain Layout
7795 files that are located in the
7796 \begin_inset Flex Code
7799 \begin_layout Plain Layout
7806 Their purpose is to define the specifics of \SpecialChar LaTeX
7807 packages aimed at bibliography
7820 , but also the way how normal Bib\SpecialChar TeX
7821 citations (without additional packages)
7822 are handled in \SpecialChar LyX
7823 is defined in such a file.
7827 \begin_layout Standard
7828 More specifically, it is defined which packages \SpecialChar LyX
7829 needs to load, which citation
7830 commands are available, how these are to be displayed in \SpecialChar LyX
7832 the dialogs, the context menus) as well as in the XHTML and plain text
7834 Furthermore, the files specify available style variants (author-year, numerical
7835 , etc.) and their specifics.
7836 The cite engine files are also used to generate the options that are available
7839 Document\SpecialChar menuseparator
7840 Settings\SpecialChar menuseparator
7841 Bibliography\SpecialChar menuseparator
7847 \begin_layout Standard
7848 Even though a cite engine file is essentially a normal layout file that
7849 could theoretically include any layout information, it usually primarily
7850 includes some specific parameters such as
7851 \begin_inset Flex Code
7854 \begin_layout Plain Layout
7861 \begin_inset Flex Code
7864 \begin_layout Plain Layout
7871 \begin_inset Flex Code
7874 \begin_layout Plain Layout
7881 \begin_inset Flex Code
7884 \begin_layout Plain Layout
7891 The syntax of the latter two is described in
7892 \begin_inset CommandInset ref
7894 reference "subsec:Citation-engine-description"
7902 \begin_inset CommandInset ref
7904 reference "subsec:Citation-format-description"
7908 , as well as in the files themselves.
7911 \begin_layout Section
7912 \begin_inset CommandInset label
7914 name "sec:TextClass"
7918 The layout file format
7921 \begin_layout Standard
7922 The following sections describe how layout files are structured and written.
7923 Our advice is to go slowly, save and test often.
7924 It is really not that hard, except that the multitude of options can become
7925 overwhelming, especially if you try to check out too many at once.
7926 It becomes easier if you use existing layouts of \SpecialChar LyX
7927 as examples/reference
7928 or if you modify an existing layout to your needs.
7931 \begin_layout Standard
7932 Note that all the tags used in layout files are case-insensitive.
7934 \begin_inset Flex Code
7937 \begin_layout Plain Layout
7944 \begin_inset Flex Code
7947 \begin_layout Plain Layout
7954 \begin_inset Flex Code
7957 \begin_layout Plain Layout
7963 are really the same tag.
7964 The possible arguments are printed in brackets after the tag's name.
7965 The default argument is typeset
7966 \begin_inset Flex Code
7969 \begin_layout Plain Layout
7978 If the argument has a data type like
7979 \begin_inset Quotes eld
7983 \begin_inset Quotes erd
7987 \begin_inset Quotes eld
7991 \begin_inset Quotes erd
7994 , the default is shown like this:
7995 \begin_inset Flex Code
7998 \begin_layout Plain Layout
8009 \begin_layout Subsection
8010 The document class declaration and classification
8013 \begin_layout Standard
8014 Lines in a layout file which begin with
8015 \begin_inset Flex Code
8018 \begin_layout Plain Layout
8025 There is one exception to this rule.
8027 \begin_inset Flex Code
8030 \begin_layout Plain Layout
8036 files should begin with lines like:
8039 \begin_layout LyX-Code
8042 #% Do not delete the line below; configure depends on this
8045 \begin_layout LyX-Code
8050 DeclareLaTeXClass{Article (Standard Class)}
8053 \begin_layout LyX-Code
8058 DeclareCategory{Articles}
8061 \begin_layout Standard
8062 The second and third lines are used when you (re)configure \SpecialChar LyX
8064 The layout file is read by the \SpecialChar LaTeX
8066 \begin_inset Flex Code
8069 \begin_layout Plain Layout
8075 , in a special mode where
8076 \begin_inset Flex Code
8079 \begin_layout Plain Layout
8086 The first line is just a \SpecialChar LaTeX
8087 comment, the second one contains the mandatory
8088 declaration of the text class and the third line contains the optional
8089 classification of the class.
8090 If these lines appear in a file named
8091 \begin_inset Flex Code
8094 \begin_layout Plain Layout
8100 , then they define a text class of name
8101 \begin_inset Flex Code
8104 \begin_layout Plain Layout
8110 (the name of the layout file) which uses the \SpecialChar LaTeX
8112 \begin_inset Flex Code
8115 \begin_layout Plain Layout
8121 (the default is to use the same name as the layout).
8123 \begin_inset Quotes eld
8126 Article (Standard Class)
8127 \begin_inset Quotes erd
8130 that appears above is used as a description of the text class in the
8131 \begin_inset Flex Noun
8134 \begin_layout Plain Layout
8135 Document\SpecialChar menuseparator
8143 \begin_inset Quotes eld
8147 \begin_inset Quotes erd
8150 in the example) is also used in the
8151 \begin_inset Flex Noun
8154 \begin_layout Plain Layout
8155 Document\SpecialChar menuseparator
8161 dialog: the text classes are grouped by these categories (which are usually
8162 genres, so typical categories are
8163 \begin_inset Quotes eld
8167 \begin_inset Quotes erd
8171 \begin_inset Quotes eld
8175 \begin_inset Quotes erd
8179 \begin_inset Quotes eld
8183 \begin_inset Quotes erd
8187 \begin_inset Quotes eld
8191 \begin_inset Quotes erd
8195 \begin_inset Quotes eld
8199 \begin_inset Quotes erd
8203 \begin_inset Quotes eld
8207 \begin_inset Quotes erd
8211 If no category has been declared, the class will be put in the
8212 \begin_inset Quotes eld
8216 \begin_inset Quotes erd
8222 \begin_layout Standard
8223 Let's assume that you wrote your own text class that uses the
8224 \begin_inset Flex Code
8227 \begin_layout Plain Layout
8233 document class, but where you changed the appearance of the section headings.
8234 If you put it in a file
8235 \begin_inset Flex Code
8238 \begin_layout Plain Layout
8244 , the header of this file should be:
8247 \begin_layout LyX-Code
8250 #% Do not delete the line below; configure depends on this
8253 \begin_layout LyX-Code
8258 DeclareLaTeXClass[article]{Article (with My Own Headings)}
8261 \begin_layout LyX-Code
8266 DeclareCategory{Articles}
8269 \begin_layout Standard
8270 This declares a text class
8271 \begin_inset Flex Code
8274 \begin_layout Plain Layout
8280 , associated with the \SpecialChar LaTeX
8282 \begin_inset Flex Code
8285 \begin_layout Plain Layout
8292 \begin_inset Quotes eld
8295 Article (with My Own Headings)
8296 \begin_inset Quotes erd
8300 If your text class depends on several packages, you can declare it as:
8303 \begin_layout LyX-Code
8306 #% Do not delete the line below; configure depends on this
8309 \begin_layout LyX-Code
8314 DeclareLaTeXClass[article,foo.sty]{Article (with My Own Headings)}
8317 \begin_layout LyX-Code
8322 DeclareCategory{Articles}
8325 \begin_layout Standard
8326 This indicates that your text class uses the
8327 \begin_inset Flex Code
8330 \begin_layout Plain Layout
8337 Finally, it is also possible to declare classes for DocBook code.
8338 Typical declarations will look like:
8341 \begin_layout LyX-Code
8344 #% Do not delete the line below; configure depends on this
8347 \begin_layout LyX-Code
8352 DeclareDocBookClass[article]{SGML (DocBook Article)}
8355 \begin_layout LyX-Code
8360 DeclareCategory{Articles (DocBook)}
8363 \begin_layout Standard
8364 Note that these declarations can also be given an optional parameter declaring
8365 the name of the document class (but not a list).
8368 \begin_layout Standard
8369 So, to be as explicit as possible, the form of the layout declaration is:
8372 \begin_layout LyX-Code
8377 DeclareLaTeXClass[class,package.sty]{layout description}
8380 \begin_layout LyX-Code
8385 DeclareCategory{category}
8388 \begin_layout Standard
8389 The class need only be specified if the name of the \SpecialChar LaTeX
8391 name of the layout file are different or if there are packages to load.
8392 If the name of the class file is not specified, then \SpecialChar LyX
8394 that it is the same as the name of the layout file.
8397 \begin_layout Standard
8398 When the text class has been modified to your taste, all you have to do
8399 is to copy it either to
8400 \begin_inset Flex Code
8403 \begin_layout Plain Layout
8410 \begin_inset Flex Code
8413 \begin_layout Plain Layout
8420 \begin_inset Flex Noun
8423 \begin_layout Plain Layout
8424 Tools\SpecialChar menuseparator
8430 , exit \SpecialChar LyX
8432 Then your new text class should be available along with the others.
8435 \begin_layout Standard
8436 Once the layout file is installed, you can edit it and see your changes
8437 without having to reconfigure or to restart \SpecialChar LyX
8442 \begin_layout Plain Layout
8443 In versions of \SpecialChar LyX
8444 prior to 1.6, this was not true.
8445 As a result, editing layout files was very time consuming, since you had
8446 constantly to restart \SpecialChar LyX
8452 You can force a reload of the current layout by using the \SpecialChar LyX
8454 \begin_inset Flex Noun
8457 \begin_layout Plain Layout
8464 There is no default binding for this function—though, of course, you can
8465 bind it to a key yourself.
8466 But you will normally use this function simply by entering it in the mini-buffe
8471 \begin_layout Standard
8477 \begin_inset Flex Noun
8480 \begin_layout Plain Layout
8486 is very much an `advanced feature'.
8491 recommended that you save your work before using this function.
8496 recommended that you not attempt to edit layout information while simultaneousl
8497 y working on a document that you care about.
8498 Use a test document.
8499 Syntax errors and the like in your layout file could cause peculiar behavior.
8500 In particular, such errors could cause \SpecialChar LyX
8501 to regard the current layout as
8502 invalid and to attempt to switch to some other layout.
8506 \begin_layout Plain Layout
8507 Really bad syntax errors may even caused \SpecialChar LyX
8509 This is because certain sorts of errors may make \SpecialChar LyX
8520 The \SpecialChar LyX
8521 team strives to keep \SpecialChar LyX
8522 stable in such situations, but safe is better
8527 \begin_layout Plain Layout
8528 While we're giving advice: make regular backups.
8529 And be nice to your mother.
8537 \begin_layout Subsection
8538 The Module declaration
8541 \begin_layout Standard
8542 A module must begin with a line like the following:
8545 \begin_layout LyX-Code
8548 DeclareLyXModule[endnotes.sty]{Endnotes}
8549 \change_inserted -712698321 1554395911
8553 \begin_layout LyX-Code
8555 \change_inserted -712698321 1554395924
8560 DeclareCategory{Foot- and Endnotes}
8561 \change_deleted -712698321 1554395911
8569 \begin_layout Standard
8570 The mandatory argument
8571 \change_inserted -712698321 1554395956
8580 , in curly brackets, is the name of the module, as it should appear in
8581 \begin_inset Flex Noun
8584 \begin_layout Plain Layout
8585 Document\SpecialChar menuseparator
8586 Settings\SpecialChar menuseparator
8593 The argument in square brackets is optional: It declares any \SpecialChar LaTeX
8595 on which the module depends.
8596 It is also possible to use the form
8597 \begin_inset Flex Noun
8600 \begin_layout Plain Layout
8606 as an optional argument, which declares that the module can only be used
8607 when there exists a conversion chain between the formats `
8608 \begin_inset Flex Code
8611 \begin_layout Plain Layout
8618 \begin_inset Flex Code
8621 \begin_layout Plain Layout
8629 \change_inserted -712698321 1554396133
8636 declaration is not strictly mandatory, but you should add it, since it
8637 is helpful to find the module.
8638 Please have a look at the existing module categories and if appropriate,
8644 \begin_layout Standard
8646 \change_inserted -712698321 1554395988
8649 declaration should then be followed by lines like the following:
8653 \begin_layout Plain Layout
8654 Preferably in English if the module should be published with \SpecialChar LyX
8656 This description will appear in the list of messages to be translated and
8657 will be thus translated with the next interface update.
8665 \begin_layout LyX-Code
8669 \begin_layout LyX-Code
8670 #Adds an endnote command, in addition to footnotes.
8674 \begin_layout LyX-Code
8675 #You will need to add
8677 theendnotes in TeX code where you
8680 \begin_layout LyX-Code
8681 #want the endnotes to appear.
8685 \begin_layout LyX-Code
8689 \begin_layout LyX-Code
8690 #Requires: somemodule | othermodule
8693 \begin_layout LyX-Code
8694 #Excludes: badmodule
8697 \begin_layout Standard
8698 The description is used in
8699 \begin_inset Flex Noun
8702 \begin_layout Plain Layout
8703 Document\SpecialChar menuseparator
8704 Settings\SpecialChar menuseparator
8710 to provide the user with information about what the module does.
8712 \begin_inset Flex Code
8715 \begin_layout Plain Layout
8721 line is used to identify other modules with which this one must be used;
8723 \begin_inset Flex Code
8726 \begin_layout Plain Layout
8732 line is used to identify modules with which this one may not be used.
8733 Both are optional, and, as shown, multiple modules should be separated
8734 with the pipe symbol: |.
8735 Note that the required modules are treated disjunctively:
8739 of the required modules must be used.
8744 excluded module may be used.
8745 Note that modules are identified here by their filenames without the
8746 \begin_inset Flex Code
8749 \begin_layout Plain Layout
8757 \begin_inset Flex Code
8760 \begin_layout Plain Layout
8767 \begin_inset Flex Code
8770 \begin_layout Plain Layout
8779 \begin_layout Subsection
8780 The CiteEngine file declaration
8783 \begin_layout Standard
8784 A cite engine file must begin with a line like the following:
8787 \begin_layout LyX-Code
8790 DeclareLyXCiteEngineModule[biblatex.sty]{Biblatex}
8793 \begin_layout Standard
8794 The mandatory argument, in curly brackets, is the name of the cite style,
8795 as it should appear in
8796 \begin_inset Flex Noun
8799 \begin_layout Plain Layout
8800 Document\SpecialChar menuseparator
8801 Settings\SpecialChar menuseparator
8808 The argument in square brackets is optional: It declares any \SpecialChar LaTeX
8810 on which the cite engine depends.
8813 \begin_layout Standard
8814 The cite engine declaration should then be followed by lines like the following:
8818 \begin_layout Plain Layout
8819 Preferably in English if the module should be published with \SpecialChar LyX
8821 This description will appear in the list of messages to be translated and
8822 will be thus translated with the next interface update.
8830 \begin_layout LyX-Code
8834 \begin_layout LyX-Code
8835 # Biblatex supports many author-year and numerical styles.
8838 \begin_layout LyX-Code
8839 # It is mainly aimed at the Humanities.
8843 \begin_layout LyX-Code
8844 # customizable, fully localized and provides many features
8847 \begin_layout LyX-Code
8848 # that are not possible with BibTeX.
8849 The use of 'biber' as
8852 \begin_layout LyX-Code
8853 # bibliography processor is advised.
8856 \begin_layout LyX-Code
8860 \begin_layout Standard
8861 The description is used in
8862 \begin_inset Flex Noun
8865 \begin_layout Plain Layout
8866 Document\SpecialChar menuseparator
8867 Settings\SpecialChar menuseparator
8873 to provide the user with information about the cite engine.
8876 \begin_layout Subsection
8880 \begin_layout Standard
8881 The first non-comment line of any layout file, included file, or module
8886 contain the file format number:
8889 \begin_layout Description
8890 \begin_inset Flex Code
8893 \begin_layout Plain Layout
8900 \begin_inset Flex Code
8903 \begin_layout Plain Layout
8909 ] The format number of the layout file.
8912 \begin_layout Standard
8913 This tag was introduced with \SpecialChar LyX
8915 \begin_inset space ~
8919 Layout files from older \SpecialChar LyX
8920 versions do not have an explicit file format and
8921 are considered to have
8922 \begin_inset Flex Code
8925 \begin_layout Plain Layout
8927 \begin_inset space ~
8936 The format for the present version of \SpecialChar LyX
8938 But each version of \SpecialChar LyX
8939 is capable of reading earlier versions' layout files,
8940 just as they are capable of reading files produced by earlier versions
8943 There is, however, no provision for converting to earlier formats.
8946 \begin_layout Subsection
8947 \begin_inset CommandInset label
8949 name "subsec:General-text-class"
8953 General text class parameters
8956 \begin_layout Standard
8957 These are general parameters that govern the behavior of an entire document
8963 mean that they must appear in
8964 \begin_inset Flex Code
8967 \begin_layout Plain Layout
8973 files rather than in modules.
8974 A module can contain any layout tag.)
8977 \begin_layout Description
8979 \change_inserted -712698321 1526899478
8980 \begin_inset Flex Code
8983 \begin_layout Plain Layout
8985 \change_inserted -712698321 1526898610
8986 AddToCiteEngine <engine>
8991 Extends the possibilities for displaying citation references.
8993 \begin_inset CommandInset ref
8995 reference "subsec:Citation-engine-description"
9004 \begin_inset Flex Code
9007 \begin_layout Plain Layout
9009 \change_inserted -712698321 1526898823
9020 \begin_layout Description
9021 \begin_inset Flex Code
9024 \begin_layout Plain Layout
9030 Adds information that will be output in the
9031 \begin_inset Flex Code
9034 \begin_layout Plain Layout
9040 block when the document is output to XHTML.
9041 Typically, this would be used to output CSS style information, but it can
9042 be used for anything that can appear in
9043 \begin_inset Flex Code
9046 \begin_layout Plain Layout
9054 \begin_inset Quotes eld
9058 \begin_inset Flex Code
9061 \begin_layout Plain Layout
9068 \begin_inset Quotes erd
9074 \begin_layout Description
9075 \begin_inset Flex Code
9078 \begin_layout Plain Layout
9084 Adds information to the document preamble.
9086 \begin_inset Newline newline
9090 \begin_inset Quotes eld
9094 \begin_inset Flex Code
9097 \begin_layout Plain Layout
9104 \begin_inset Quotes erd
9110 \begin_layout Description
9111 \begin_inset Flex Code
9114 \begin_layout Plain Layout
9120 Defines the possibilities for displaying citation references.
9122 \begin_inset CommandInset ref
9124 reference "subsec:Citation-engine-description"
9133 \begin_inset Quotes eld
9137 \begin_inset Flex Code
9140 \begin_layout Plain Layout
9147 \begin_inset Quotes erd
9151 Primarily used in cite engine files (see
9152 \begin_inset CommandInset ref
9154 reference "subsec:Cite-Engine-Files"
9163 \change_inserted -712698321 1526898530
9164 Note that if you specify this in a layout file or module, any cite engine
9165 definition will be overridden.
9167 \begin_inset Flex Code
9170 \begin_layout Plain Layout
9172 \change_inserted -712698321 1526898530
9185 \begin_layout Description
9186 \begin_inset Flex Code
9189 \begin_layout Plain Layout
9195 Defines formats for use in the display of bibliographic information.
9197 \begin_inset CommandInset ref
9199 reference "subsec:Citation-format-description"
9205 \begin_inset Quotes eld
9209 \begin_inset Flex Code
9212 \begin_layout Plain Layout
9219 \begin_inset Quotes erd
9223 Primarily used in cite engine files (see
9224 \begin_inset CommandInset ref
9226 reference "subsec:Cite-Engine-Files"
9235 \change_inserted -712698321 1526898585
9236 A cite format defined in a layout or module will override the cite engine
9242 \begin_layout Description
9243 \begin_inset Flex Code
9246 \begin_layout Plain Layout
9253 \begin_inset Flex Code
9256 \begin_layout Plain Layout
9265 \begin_inset Flex Code
9268 \begin_layout Plain Layout
9274 ] Determines whether
9278 or Bib\SpecialChar TeX
9279 is used to generate a Bibliography.
9280 Primarily used in cite engine files (see
9281 \begin_inset CommandInset ref
9283 reference "subsec:Cite-Engine-Files"
9293 \begin_layout Description
9294 \begin_inset Flex Code
9297 \begin_layout Plain Layout
9303 Describes various global options supported by the document class.
9305 \begin_inset CommandInset ref
9307 reference "subsec:ClassOptions"
9313 \begin_inset Quotes eld
9317 \begin_inset Flex Code
9320 \begin_layout Plain Layout
9327 \begin_inset Quotes erd
9333 \begin_layout Description
9334 \begin_inset Flex Code
9337 \begin_layout Plain Layout
9344 \begin_inset Flex Code
9347 \begin_layout Plain Layout
9356 \begin_inset space \thinspace{}
9360 \begin_inset Flex Code
9363 \begin_layout Plain Layout
9369 ] Whether the class should
9373 to having one or two columns.
9374 Can be changed in the
9375 \begin_inset Flex Noun
9378 \begin_layout Plain Layout
9379 Document\SpecialChar menuseparator
9388 \begin_layout Description
9389 \begin_inset Flex Code
9392 \begin_layout Plain Layout
9399 \begin_inset Flex Code
9402 \begin_layout Plain Layout
9408 ] This sequence defines the properties for a counter.
9409 If the counter does not yet exist, it is created; if it does exist, it
9412 \begin_inset Quotes eld
9416 \begin_inset Flex Code
9419 \begin_layout Plain Layout
9426 \begin_inset Quotes erd
9430 \begin_inset Newline newline
9434 \begin_inset CommandInset ref
9436 reference "subsec:Counters"
9440 for details on counters.
9443 \begin_layout Description
9444 \begin_inset Flex Code
9447 \begin_layout Plain Layout
9453 Sets the default font used to display the document.
9455 \begin_inset CommandInset ref
9457 reference "subsec:Font-description"
9461 for how to declare fonts.
9463 \begin_inset Quotes eld
9467 \begin_inset Flex Code
9470 \begin_layout Plain Layout
9477 \begin_inset Quotes erd
9483 \begin_layout Description
9484 \begin_inset Flex Code
9487 \begin_layout Plain Layout
9494 \begin_inset Flex Code
9497 \begin_layout Plain Layout
9503 ] Specifies a module to be included by default with this document class.
9504 The module is specified as filename without the
9505 \begin_inset Flex Code
9508 \begin_layout Plain Layout
9515 The user can still remove the module, but it will be active at the outset.
9516 (This applies only when new files are created, or when this class is chosen
9517 for an existing document.)
9520 \begin_layout Description
9521 \begin_inset Flex Code
9524 \begin_layout Plain Layout
9531 \begin_inset Flex Code
9534 \begin_layout Plain Layout
9540 ] This is the style that will be assigned to new paragraphs, usually
9541 \begin_inset Flex Noun
9544 \begin_layout Plain Layout
9551 This will default to the first defined style if not given, but you are
9552 encouraged to use this directive.
9555 \begin_layout Description
9556 \begin_inset Flex Code
9559 \begin_layout Plain Layout
9566 \begin_inset Flex Code
9569 \begin_layout Plain Layout
9575 ] This tag indicates that the module (which is specified by filename without
9577 \begin_inset Flex Code
9580 \begin_layout Plain Layout
9586 extension) cannot be used with this document class.
9587 This might be used in a journal-specific layout file to prevent, say, the
9589 \begin_inset Flex Code
9592 \begin_layout Plain Layout
9598 module that numbers theorems by section.
9603 be used in a module.
9604 Modules have their own way of excluding other modules (see
9605 \begin_inset CommandInset ref
9607 reference "subsec:Layout-modules"
9614 \begin_layout Description
9615 \begin_inset Flex Code
9618 \begin_layout Plain Layout
9624 Defines a new float.
9626 \begin_inset CommandInset ref
9628 reference "subsec:Floats"
9634 \begin_inset Quotes eld
9638 \begin_inset Flex Code
9641 \begin_layout Plain Layout
9648 \begin_inset Quotes erd
9654 \begin_layout Description
9655 \begin_inset Flex Code
9658 \begin_layout Plain Layout
9664 Sets the information that will be output in the
9665 \begin_inset Flex Code
9668 \begin_layout Plain Layout
9674 block when this document class is output to XHTML.
9675 Note that this will completely override any prior
9676 \begin_inset Flex Code
9679 \begin_layout Plain Layout
9686 \begin_inset Flex Code
9689 \begin_layout Plain Layout
9697 \begin_inset Newline newline
9701 \begin_inset Flex Code
9704 \begin_layout Plain Layout
9710 if you just want to add material to the preamble.) Must end with
9711 \begin_inset Quotes eld
9715 \begin_inset Flex Code
9718 \begin_layout Plain Layout
9725 \begin_inset Quotes erd
9731 \begin_layout Description
9732 \begin_inset Flex Code
9735 \begin_layout Plain Layout
9742 \begin_inset Flex Code
9745 \begin_layout Plain Layout
9751 ] The style to use for the table of contents, bibliography, and so forth,
9752 when the document is output to HTML.
9753 For articles, this should normally be
9754 \begin_inset Flex Code
9757 \begin_layout Plain Layout
9764 \begin_inset Flex Code
9767 \begin_layout Plain Layout
9774 If it is not given, then \SpecialChar LyX
9775 will attempt to figure out which layout to use.
9778 \begin_layout Description
9779 \begin_inset Flex Code
9782 \begin_layout Plain Layout
9789 \begin_inset Flex Code
9792 \begin_layout Plain Layout
9798 ] Modifies the properties of the given counter.
9799 If the counter does not exist, the statement is ignored.
9801 \begin_inset Quotes eld
9805 \begin_inset Flex Code
9808 \begin_layout Plain Layout
9815 \begin_inset Quotes erd
9819 \begin_inset Newline newline
9823 \begin_inset CommandInset ref
9825 reference "subsec:Counters"
9829 for details on counters.
9832 \begin_layout Description
9833 \begin_inset Flex Code
9836 \begin_layout Plain Layout
9843 \begin_inset Flex Code
9846 \begin_layout Plain Layout
9852 ] This allows you to include another layout definition file within yours
9853 to avoid duplicating commands.
9854 Common examples are the standard layout files, for example,
9855 \begin_inset Flex Code
9858 \begin_layout Plain Layout
9864 , which contains most of the basic layouts.
9867 \begin_layout Description
9868 \begin_inset Flex Code
9871 \begin_layout Plain Layout
9878 \begin_inset Flex Code
9881 \begin_layout Plain Layout
9887 ] This section (re-)defines the layout of an inset.
9888 It can be applied to an existing inset or to a new, user-defined inset,
9889 e.g., a new character style.
9891 \begin_inset Quotes eld
9895 \begin_inset Flex Code
9898 \begin_layout Plain Layout
9905 \begin_inset Quotes erd
9909 \begin_inset Newline newline
9913 \begin_inset CommandInset ref
9915 reference "subsec:Flex-insets-and"
9919 for more information.
9923 \begin_layout Description
9924 \begin_inset Flex Code
9927 \begin_layout Plain Layout
9934 \begin_inset Flex Code
9937 \begin_layout Plain Layout
9943 ] A string that indicates the width of the left margin on the screen, for
9945 \begin_inset Quotes eld
9949 \begin_inset Flex Code
9952 \begin_layout Plain Layout
9959 \begin_inset Quotes erd
9963 (Note that this is not a `length', like
9964 \begin_inset Quotes eld
9968 \begin_inset Quotes erd
9974 \begin_layout Description
9975 \begin_inset Flex Code
9978 \begin_layout Plain Layout
9985 \begin_inset Flex Code
9988 \begin_layout Plain Layout
9994 ] An integer that determines the maximal number of names displayed in an
9995 author-year citation before the citation switches to
9996 \begin_inset Quotes eld
10000 \begin_inset Quotes erd
10004 Primarily used in cite engine files (see
10005 \begin_inset CommandInset ref
10007 reference "subsec:Cite-Engine-Files"
10017 \begin_layout Description
10018 \begin_inset Flex Code
10021 \begin_layout Plain Layout
10028 \begin_inset Flex Code
10031 \begin_layout Plain Layout
10037 ] Modifies the properties of the given paragraph style.
10038 If the style does not exist, this section is ignored.
10040 \begin_inset Quotes eld
10044 \begin_inset Flex Code
10047 \begin_layout Plain Layout
10054 \begin_inset Quotes erd
10060 \begin_layout Description
10061 \begin_inset Flex Code
10064 \begin_layout Plain Layout
10071 \begin_inset Flex Code
10074 \begin_layout Plain Layout
10080 ] Deletes an existing counter, usually one defined in an included file.
10083 \begin_layout Description
10084 \begin_inset Flex Code
10087 \begin_layout Plain Layout
10094 \begin_inset Flex Code
10097 \begin_layout Plain Layout
10103 ] Deletes an existing float.
10104 This is particularly useful when you want to suppress a float that has
10105 been defined in an input file.
10108 \begin_layout Description
10109 \begin_inset Flex Code
10112 \begin_layout Plain Layout
10119 \begin_inset Flex Code
10122 \begin_layout Plain Layout
10128 ] Deletes an existing style.
10131 \begin_layout Description
10132 \begin_inset Flex Code
10135 \begin_layout Plain Layout
10142 \begin_inset Flex Code
10145 \begin_layout Plain Layout
10152 \begin_inset Flex Code
10155 \begin_layout Plain Layout
10161 ] Define a new table of contents with type
10162 \begin_inset Flex Code
10165 \begin_layout Plain Layout
10172 \begin_inset Flex Code
10175 \begin_layout Plain Layout
10182 See also the AddToToc commands.
10185 \begin_layout Description
10186 \begin_inset Flex Code
10189 \begin_layout Plain Layout
10196 \begin_inset Flex Code
10199 \begin_layout Plain Layout
10205 ] The file format (as defined in the \SpecialChar LyX
10206 preferences) produced by this document
10208 It is mainly useful when
10209 \begin_inset Flex Code
10212 \begin_layout Plain Layout
10219 \begin_inset Flex Code
10222 \begin_layout Plain Layout
10228 and one wants to define a new type of literate document.
10229 The format is reset to
10230 \begin_inset Quotes eld
10234 \begin_inset Flex Code
10237 \begin_layout Plain Layout
10244 \begin_inset Quotes erd
10248 \begin_inset Quotes eld
10252 \begin_inset Flex Code
10255 \begin_layout Plain Layout
10262 \begin_inset Quotes erd
10265 when the corresponding
10266 \begin_inset Flex Code
10269 \begin_layout Plain Layout
10275 parameter is encountered.
10278 \begin_layout Description
10279 \begin_inset Flex Code
10282 \begin_layout Plain Layout
10289 \begin_inset Flex Code
10292 \begin_layout Plain Layout
10303 \begin_inset Flex Code
10306 \begin_layout Plain Layout
10313 \begin_inset Flex Code
10316 \begin_layout Plain Layout
10322 ] Specifies what sort of output documents using this class will produce.
10325 \begin_layout Description
10326 \begin_inset Flex Code
10329 \begin_layout Plain Layout
10336 \begin_inset Flex Code
10339 \begin_layout Plain Layout
10346 \begin_inset Flex Code
10349 \begin_layout Plain Layout
10355 ] Specifies options, given in the second string, for the package named by
10358 \begin_inset Quotes eld
10362 \begin_inset Flex Code
10365 \begin_layout Plain Layout
10366 PackageOptions natbib square
10372 \begin_inset Quotes erd
10376 \begin_inset Flex Code
10379 \begin_layout Plain Layout
10385 to be loaded with the
10386 \begin_inset Flex Code
10389 \begin_layout Plain Layout
10396 (For \SpecialChar TeX
10397 perts, this causes \SpecialChar LyX
10399 \begin_inset Flex Code
10402 \begin_layout Plain Layout
10405 PassOptionsToPackage{natbib}{square}
10411 \begin_inset Flex Code
10414 \begin_layout Plain Layout
10423 \begin_layout Description
10424 \begin_inset Flex Code
10427 \begin_layout Plain Layout
10434 \begin_inset Flex Code
10437 \begin_layout Plain Layout
10446 \begin_inset Flex Code
10449 \begin_layout Plain Layout
10456 \begin_inset Flex Code
10459 \begin_layout Plain Layout
10465 ] The default pagestyle.
10466 Can be changed in the
10467 \begin_inset Flex Noun
10470 \begin_layout Plain Layout
10471 Document\SpecialChar menuseparator
10480 \begin_layout Description
10481 \begin_inset Flex Code
10484 \begin_layout Plain Layout
10490 Sets the preamble for the \SpecialChar LaTeX
10492 Note that this will completely override any prior
10493 \begin_inset Flex Code
10496 \begin_layout Plain Layout
10503 \begin_inset Flex Code
10506 \begin_layout Plain Layout
10514 \begin_inset Flex Code
10517 \begin_layout Plain Layout
10523 if you just want to add material to the preamble.) Must end with
10524 \begin_inset Quotes eld
10528 \begin_inset Flex Code
10531 \begin_layout Plain Layout
10538 \begin_inset Quotes erd
10544 \begin_layout Description
10545 \begin_inset Flex Code
10548 \begin_layout Plain Layout
10555 \begin_inset Flex Code
10558 \begin_layout Plain Layout
10565 \begin_inset Flex Code
10568 \begin_layout Plain Layout
10577 \begin_inset space \thinspace{}
10581 \begin_inset Flex Code
10584 \begin_layout Plain Layout
10590 ] Whether the class already provides the feature
10591 \begin_inset Flex Code
10594 \begin_layout Plain Layout
10601 A feature is in general the name of a package (e.
10602 \begin_inset space \thinspace{}
10606 \begin_inset space \space{}
10610 \begin_inset Flex Code
10613 \begin_layout Plain Layout
10620 \begin_inset Flex Code
10623 \begin_layout Plain Layout
10630 \begin_inset space \thinspace{}
10634 \begin_inset space \space{}
10638 \begin_inset Flex Code
10641 \begin_layout Plain Layout
10648 \begin_inset Flex Code
10651 \begin_layout Plain Layout
10659 \begin_inset CommandInset ref
10661 reference "chap:List-of-functions"
10665 for the list of features.
10668 \begin_layout Description
10669 \begin_inset Flex Code
10672 \begin_layout Plain Layout
10679 \begin_inset Flex Code
10682 \begin_layout Plain Layout
10688 ] Indicates that this layout provides the functionality of the module mentioned,
10689 which should be specified by the filename without the
10690 \begin_inset Flex Code
10693 \begin_layout Plain Layout
10700 This will typically be used if the layout includes the module directly,
10701 rather than using the
10702 \begin_inset Flex Code
10705 \begin_layout Plain Layout
10711 tag to indicate that it ought to be used.
10712 It could also be used in a module that provided an alternate implementation
10713 of the same functionality.
10716 \begin_layout Description
10717 \begin_inset Flex Code
10720 \begin_layout Plain Layout
10727 \begin_inset Flex Code
10730 \begin_layout Plain Layout
10736 ] Creates a new paragraph style if it does not already exist.
10737 If the style does exist, this section is ignored.
10739 \begin_inset Quotes eld
10743 \begin_inset Flex Code
10746 \begin_layout Plain Layout
10753 \begin_inset Quotes erd
10759 \begin_layout Description
10760 \begin_inset Flex Code
10763 \begin_layout Plain Layout
10770 \begin_inset Flex Code
10773 \begin_layout Plain Layout
10779 ] Whether the class requires the feature
10780 \begin_inset Flex Code
10783 \begin_layout Plain Layout
10790 Multiple features must be separated by commas.
10791 Note that you can only request supported features.
10793 \begin_inset CommandInset ref
10795 reference "chap:List-of-functions"
10799 for the list of features.).
10800 If you require a package with specific options, you can additionally use
10802 \begin_inset Flex Code
10805 \begin_layout Plain Layout
10814 \begin_layout Description
10815 \begin_inset Flex Code
10818 \begin_layout Plain Layout
10825 \begin_inset Flex Code
10828 \begin_layout Plain Layout
10834 ] A string that indicates the width of the right margin on the screen, for
10836 \begin_inset Quotes eld
10840 \begin_inset Flex Code
10843 \begin_layout Plain Layout
10850 \begin_inset Quotes erd
10856 \begin_layout Description
10857 \begin_inset Flex Code
10860 \begin_layout Plain Layout
10867 \begin_inset Flex Code
10870 \begin_layout Plain Layout
10876 ] Sets which divisions get numbered.
10878 \begin_inset Newline newline
10882 \begin_inset Flex Code
10885 \begin_layout Plain Layout
10891 counter in \SpecialChar LaTeX
10895 \begin_layout Description
10896 \begin_inset Flex Code
10899 \begin_layout Plain Layout
10906 \begin_inset Flex Code
10909 \begin_layout Plain Layout
10918 \begin_inset space \thinspace{}
10922 \begin_inset Flex Code
10925 \begin_layout Plain Layout
10931 ] Whether the class-default should be printing on one or both sides of the
10933 Can be changed in the
10934 \begin_inset Flex Noun
10937 \begin_layout Plain Layout
10938 Document\SpecialChar menuseparator
10947 \begin_layout Description
10948 \begin_inset Flex Code
10951 \begin_layout Plain Layout
10958 \begin_inset Flex Code
10961 \begin_layout Plain Layout
10967 ] This sequence defines a paragraph style.
10968 If the style does not yet exist, it is created; if it does exist, its parameter
10971 \begin_inset Quotes eld
10975 \begin_inset Flex Code
10978 \begin_layout Plain Layout
10985 \begin_inset Quotes erd
10989 \begin_inset Newline newline
10993 \begin_inset CommandInset ref
10995 reference "subsec:Paragraph-Styles"
10999 for details on paragraph styles.
11000 \change_inserted -712698321 1553617804
11004 \begin_layout Description
11006 \change_inserted -712698321 1553617862
11007 \begin_inset Flex Code
11010 \begin_layout Plain Layout
11012 \change_inserted -712698321 1553617809
11019 \begin_inset Flex Code
11022 \begin_layout Plain Layout
11024 \change_inserted -712698321 1553617805
11030 ] defines the default table style that is used when inserting a table.
11031 The following styles are available:
11035 \begin_layout Itemize
11037 \change_inserted -712698321 1554308039
11038 \begin_inset Flex Code
11041 \begin_layout Plain Layout
11043 \change_inserted -712698321 1554307928
11044 Formal_with_Footline
11052 \begin_inset Quotes eld
11056 \begin_inset Quotes erd
11059 ) style with horizontal lines only, using a bold top and bottom line, the
11060 first and last row are additionally separated from the table body with
11061 a thin middle line.
11064 \begin_layout Itemize
11066 \change_inserted -712698321 1554308087
11067 \begin_inset Flex Code
11070 \begin_layout Plain Layout
11072 \change_inserted -712698321 1554308042
11073 Formal_without_Footline
11078 : same as the above, but the last row is not separated with a middle line
11082 \begin_layout Itemize
11084 \change_inserted -712698321 1553618031
11085 \begin_inset Flex Code
11088 \begin_layout Plain Layout
11090 \change_inserted -712698321 1553618006
11096 : Simple table lines.
11099 \begin_layout Itemize
11101 \change_inserted -712698321 1553618309
11102 \begin_inset Flex Code
11105 \begin_layout Plain Layout
11107 \change_inserted -712698321 1553618031
11114 \begin_inset Flex Code
11117 \begin_layout Plain Layout
11119 \change_inserted -712698321 1553618043
11125 , but with the header column offset with a second horizontal line.
11126 This is also the default style of \SpecialChar LyX
11130 \begin_layout Itemize
11132 \change_inserted -712698321 1553618280
11133 \begin_inset Flex Code
11136 \begin_layout Plain Layout
11138 \change_inserted -712698321 1553618261
11144 : Table without lines.
11150 \begin_layout Description
11151 \begin_inset Flex Code
11154 \begin_layout Plain Layout
11161 \begin_inset Flex Code
11164 \begin_layout Plain Layout
11170 ] The name of the command or environment to be used with
11171 \begin_inset Flex Code
11174 \begin_layout Plain Layout
11183 \begin_layout Description
11184 \begin_inset Flex Code
11187 \begin_layout Plain Layout
11194 \begin_inset Flex Code
11197 \begin_layout Plain Layout
11206 \begin_inset Flex Code
11209 \begin_layout Plain Layout
11215 ] Indicates what kind of markup is used to define the title of a document.
11217 \begin_inset Flex Code
11220 \begin_layout Plain Layout
11226 means that the macro with name
11227 \begin_inset Flex Code
11230 \begin_layout Plain Layout
11236 will be inserted after the last layout which has
11237 \begin_inset Quotes eld
11241 \begin_inset Flex Code
11244 \begin_layout Plain Layout
11246 \begin_inset space ~
11255 \begin_inset Quotes erd
11260 \begin_inset Flex Code
11263 \begin_layout Plain Layout
11269 corresponds to the case where all layouts which have
11270 \begin_inset Quotes eld
11274 \begin_inset Flex Code
11277 \begin_layout Plain Layout
11279 \begin_inset space ~
11288 \begin_inset Quotes erd
11291 should be enclosed into the
11292 \begin_inset Flex Code
11295 \begin_layout Plain Layout
11304 \begin_layout Description
11305 \begin_inset Flex Code
11308 \begin_layout Plain Layout
11315 \begin_inset Flex Code
11318 \begin_layout Plain Layout
11324 ] Sets which divisions are included in the table of contents.
11326 \begin_inset Flex Code
11329 \begin_layout Plain Layout
11335 counter in \SpecialChar LaTeX
11339 \begin_layout Subsection
11340 \begin_inset Flex Code
11343 \begin_layout Plain Layout
11350 \begin_inset CommandInset label
11352 name "subsec:ClassOptions"
11359 \begin_layout Standard
11361 \begin_inset Flex Code
11364 \begin_layout Plain Layout
11370 section can contain the following entries:
11373 \begin_layout Description
11374 \begin_inset Flex Code
11377 \begin_layout Plain Layout
11384 \begin_inset Flex Code
11387 \begin_layout Plain Layout
11393 ] The list of available font sizes for the document's main font, separated
11395 \begin_inset Quotes eld
11399 \begin_inset Flex Code
11402 \begin_layout Plain Layout
11409 \begin_inset Quotes erd
11415 \begin_layout Description
11416 \begin_inset Flex Code
11419 \begin_layout Plain Layout
11425 Used to set the DTD line with XML-based output classes.
11427 \begin_inset space \thinspace{}
11431 \begin_inset Quotes eld
11434 -//OASIS//DTD DocBook V4.2//EN
11435 \begin_inset Quotes erd
11441 \begin_layout Description
11442 \begin_inset Flex Code
11445 \begin_layout Plain Layout
11452 \begin_inset Flex Code
11455 \begin_layout Plain Layout
11456 string="empty|plain|headings|fancy"
11461 ] The list of available page sty\SpecialChar softhyphen
11463 \begin_inset Quotes eld
11467 \begin_inset Flex Code
11470 \begin_layout Plain Layout
11477 \begin_inset Quotes erd
11483 \begin_layout Description
11484 \begin_inset Flex Code
11487 \begin_layout Plain Layout
11494 \begin_inset Flex Code
11497 \begin_layout Plain Layout
11503 ] Some document class options, separated by a comma, that will be added
11504 to the optional part of the
11505 \begin_inset Flex Code
11508 \begin_layout Plain Layout
11519 \begin_layout Standard
11521 \begin_inset Flex Code
11524 \begin_layout Plain Layout
11530 section must end with
11531 \begin_inset Quotes eld
11535 \begin_inset Flex Code
11538 \begin_layout Plain Layout
11545 \begin_inset Quotes erd
11551 \begin_layout Subsection
11553 \begin_inset CommandInset label
11555 name "subsec:Paragraph-Styles"
11562 \begin_layout Standard
11563 A paragraph style description looks like this:
11567 \begin_layout Plain Layout
11568 Note that this will either define a new style or modify an existing one.
11576 \begin_layout LyX-Code
11583 \begin_layout LyX-Code
11587 \begin_layout LyX-Code
11591 \begin_layout Standard
11592 where the following commands are allowed:
11595 \begin_layout Description
11596 \begin_inset Flex Code
11599 \begin_layout Plain Layout
11606 \begin_inset Flex Code
11609 \begin_layout Plain Layout
11615 =""] This paragraph will appear in the table of contents of the given type.
11616 An empty string disables.
11617 See also the OutlinerName and the IsTocCaption commands.
11621 \begin_layout Description
11622 \begin_inset Flex Code
11625 \begin_layout Plain Layout
11632 \begin_inset Flex Code
11635 \begin_layout Plain Layout
11640 , left, right, center
11645 ] Paragraph alignment.
11648 \begin_layout Description
11649 \begin_inset Flex Code
11652 \begin_layout Plain Layout
11659 \begin_inset Flex Code
11662 \begin_layout Plain Layout
11667 , left, right, center
11672 ] A comma separated list of permitted alignments.
11673 (Some \SpecialChar LaTeX
11674 styles prohibit certain alignments, since those wouldn't make sense.
11675 For example a right-aligned or centered enumeration isn't possible.)
11678 \begin_layout Description
11679 \begin_inset Flex Code
11682 \begin_layout Plain Layout
11689 \begin_inset Flex Code
11692 \begin_layout Plain Layout
11698 ] Defines argument number <int> of a command\SpecialChar breakableslash
11699 environment associated with
11701 This is useful for things like section headings, and only makes sense with
11704 Every (optional or required) argument of a command or environment – except
11705 for the required argument that is associated with the content of the paragraph
11706 itself – has a separate definition, where the number specifies the order
11708 The definition must end with
11709 \begin_inset Flex Code
11712 \begin_layout Plain Layout
11719 So a command with two optional arguments has:
11723 \begin_layout Quote
11729 \begin_layout Quote
11735 \begin_layout Quote
11741 \begin_layout Quote
11747 \begin_layout Quote
11753 \begin_layout Quote
11759 \begin_layout Standard
11761 \begin_inset Flex Code
11764 \begin_layout Plain Layout
11770 definition, the following specifications are possible:
11773 \begin_layout Itemize
11774 \begin_inset Flex Code
11777 \begin_layout Plain Layout
11784 \begin_inset Flex Code
11787 \begin_layout Plain Layout
11793 The string that will appear both in the menu (to insert this argument)
11794 and on the argument inset button (unless you also specify a separate
11795 \begin_inset Flex Code
11798 \begin_layout Plain Layout
11805 For the menu, you can define an accelerator by appending the respective
11806 character to the string, divided by
11807 \begin_inset Quotes eld
11811 \begin_inset Quotes erd
11815 \begin_inset space \thinspace{}
11819 \begin_inset space \space{}
11823 \begin_inset Quotes eld
11827 \begin_inset Flex Code
11830 \begin_layout Plain Layout
11837 \begin_inset Quotes erd
11843 \begin_layout Itemize
11844 \begin_inset Flex Code
11847 \begin_layout Plain Layout
11854 \begin_inset Flex Code
11857 \begin_layout Plain Layout
11863 A separate string for the menu.
11864 You can define an accelerator by appending the respective character to
11865 the string, divided by
11866 \begin_inset Quotes eld
11870 \begin_inset Quotes erd
11874 \begin_inset space \thinspace{}
11878 \begin_inset space \space{}
11882 \begin_inset Quotes eld
11886 \begin_inset Flex Code
11889 \begin_layout Plain Layout
11896 \begin_inset Quotes erd
11900 This specification is optional.
11901 If it is not given the
11902 \begin_inset Flex Code
11905 \begin_layout Plain Layout
11911 will be used instead for the menu.
11914 \begin_layout Itemize
11915 \begin_inset Flex Code
11918 \begin_layout Plain Layout
11925 \begin_inset Flex Code
11928 \begin_layout Plain Layout
11934 A longer explanatory text that appears in the tooltip when hovering over
11935 the argument inset.
11938 \begin_layout Itemize
11939 \begin_inset Flex Code
11942 \begin_layout Plain Layout
11949 \begin_inset Flex Code
11952 \begin_layout Plain Layout
11961 \begin_inset space \thinspace{}
11965 \begin_inset Flex Code
11968 \begin_layout Plain Layout
11974 ] Declare if this is a mandatory (1) or an optional (0) argument.
11975 Mandatory arguments will be output empty if not given, while optional arguments
11976 will not be output at all.
11977 By default, mandatory arguments are delimited by
11978 \begin_inset Flex Code
11981 \begin_layout Plain Layout
11987 , while optional arguments are delimited by
11988 \begin_inset Flex Code
11991 \begin_layout Plain Layout
11998 \change_inserted -712698321 1555579782
12002 \begin_layout Itemize
12004 \change_inserted -712698321 1555579780
12005 \begin_inset Flex Code
12008 \begin_layout Plain Layout
12010 \change_inserted -712698321 1555579780
12017 \begin_inset Flex Code
12020 \begin_layout Plain Layout
12022 \change_inserted -712698321 1555579780
12028 Option to define a different command (from the default
12029 \begin_inset Flex Code
12032 \begin_layout Plain Layout
12034 \change_inserted -712698321 1555579780
12044 ) to be used for line breaks.
12045 The initial backslash must not be specified.
12050 \begin_layout Itemize
12051 \begin_inset Flex Code
12054 \begin_layout Plain Layout
12061 \begin_inset Flex Code
12064 \begin_layout Plain Layout
12070 defines another argument (by its number) which this argument requires to
12071 be output if it is itself output.
12073 \begin_inset space \thinspace{}
12076 g., in \SpecialChar LaTeX
12077 commands, optional arguments often require previous optional arguments
12078 to be output (at least empty), as in
12079 \begin_inset Flex Code
12082 \begin_layout Plain Layout
12085 command[][argument]{text}
12091 This can be achieved by the statement
12092 \begin_inset Flex Code
12095 \begin_layout Plain Layout
12102 \begin_inset Flex Code
12105 \begin_layout Plain Layout
12114 \begin_layout Itemize
12115 \begin_inset Flex Code
12118 \begin_layout Plain Layout
12125 \begin_inset Flex Code
12128 \begin_layout Plain Layout
12134 defines a custom left delimiter (instead of
12135 \begin_inset Flex Code
12138 \begin_layout Plain Layout
12145 \begin_inset Flex Code
12148 \begin_layout Plain Layout
12155 A line break in the output can be indicated by
12156 \begin_inset Flex Code
12159 \begin_layout Plain Layout
12168 \begin_layout Itemize
12169 \begin_inset Flex Code
12172 \begin_layout Plain Layout
12179 \begin_inset Flex Code
12182 \begin_layout Plain Layout
12188 defines a custom right delimiter (instead of
12189 \begin_inset Flex Code
12192 \begin_layout Plain Layout
12199 \begin_inset Flex Code
12202 \begin_layout Plain Layout
12209 A line break in the output can be indicated by
12210 \begin_inset Flex Code
12213 \begin_layout Plain Layout
12222 \begin_layout Itemize
12223 \begin_inset Flex Code
12226 \begin_layout Plain Layout
12233 \begin_inset Flex Code
12236 \begin_layout Plain Layout
12242 defines an argument that is inserted if and only if no user-specified arguments
12244 \begin_inset space \thinspace{}
12248 \begin_inset space \space{}
12251 if no argument inset has been inserted (note that also an empty argument
12252 inset omits the DefaultArg).
12253 Multiple arguments need to be separated by comma.
12256 \begin_layout Itemize
12257 \begin_inset Flex Code
12260 \begin_layout Plain Layout
12267 \begin_inset Flex Code
12270 \begin_layout Plain Layout
12276 defines an argument that is inserted in any case (alone or in addition
12277 to user-specified arguments).
12278 Multiple arguments need to be separated by comma.
12281 \begin_layout Itemize
12282 \begin_inset Flex Code
12285 \begin_layout Plain Layout
12291 The font used for the argument content, see
12292 \begin_inset CommandInset ref
12294 reference "subsec:Font-description"
12301 \begin_layout Itemize
12302 \begin_inset Flex Code
12305 \begin_layout Plain Layout
12311 The font used for the label; see
12312 \begin_inset CommandInset ref
12314 reference "subsec:Font-description"
12321 \begin_layout Itemize
12322 \begin_inset Flex Code
12325 \begin_layout Plain Layout
12332 \begin_inset Flex Code
12335 \begin_layout Plain Layout
12340 , Minimalistic, Conglomerate
12345 ] describes the rendering style used for the inset's frame and buttons.
12348 \begin_layout Itemize
12349 \begin_inset Flex Code
12352 \begin_layout Plain Layout
12359 \begin_inset Flex Code
12362 \begin_layout Plain Layout
12369 \begin_inset Flex Code
12372 \begin_layout Plain Layout
12378 , this argument is automatically inserted when the respective style is selected.
12379 Currently, only one argument per style\SpecialChar breakableslash
12380 layout can be automatically inserted.
12383 \begin_layout Itemize
12384 \begin_inset Flex Code
12387 \begin_layout Plain Layout
12394 \begin_inset Flex Code
12397 \begin_layout Plain Layout
12404 \begin_inset Flex Code
12407 \begin_layout Plain Layout
12413 , this argument will be inserted with a copy of the co-text (either selected
12414 text or the whole paragraph) as content.
12417 \begin_layout Itemize
12418 \begin_inset Flex Code
12421 \begin_layout Plain Layout
12428 \begin_inset Flex Code
12431 \begin_layout Plain Layout
12441 ] Whether the contents of this argument should be output in raw form, meaning
12442 without special translations that \SpecialChar LaTeX
12445 \begin_inset Flex Code
12448 \begin_layout Plain Layout
12454 status is inherited by the inset or paragraph layout the argument belongs
12455 to, true and false change the status for the given argument only.
12458 \begin_layout Itemize
12459 \begin_inset Flex Code
12462 \begin_layout Plain Layout
12469 \begin_inset Flex Code
12472 \begin_layout Plain Layout
12473 string of characters
12482 Defines individual characters
12483 \begin_inset Newline linebreak
12486 that should be output in raw form, meaning without special translations
12487 that \SpecialChar LaTeX
12489 Note that, contrary to PassThru, this needs to be explicitly defined for
12491 That is, arguments do not inherit PassThruChars from their parent inset
12495 \begin_layout Itemize
12496 \begin_inset Flex Code
12499 \begin_layout Plain Layout
12506 \begin_inset Flex Code
12509 \begin_layout Plain Layout
12518 \begin_inset space \thinspace{}
12522 \begin_inset Flex Code
12525 \begin_layout Plain Layout
12531 ] If this is set to 1, the argument will output its content in the corresponding
12532 item in the table of contents.
12536 \begin_layout Standard
12537 By default, the text entered in the \SpecialChar LyX
12538 workarea in the respective layout is
12539 the last (mandatory) argument of a command if the
12540 \begin_inset Flex Code
12543 \begin_layout Plain Layout
12550 \begin_inset Flex Code
12553 \begin_layout Plain Layout
12560 However, arguments with the prefix
12561 \begin_inset Flex Code
12564 \begin_layout Plain Layout
12570 are output after this workarea argument.
12571 Note that post-argument numbering restarts at 1, so the first argument
12572 following the workarea argument is
12573 \begin_inset Flex Code
12576 \begin_layout Plain Layout
12583 Post-arguments are ignored in any other
12584 \begin_inset Flex Code
12587 \begin_layout Plain Layout
12594 \begin_inset Flex Code
12597 \begin_layout Plain Layout
12606 \begin_layout Standard
12608 \begin_inset Flex Code
12611 \begin_layout Plain Layout
12620 \begin_inset Flex Code
12623 \begin_layout Plain Layout
12632 \begin_inset Flex Code
12635 \begin_layout Plain Layout
12641 followed by the number (e.
12642 \begin_inset space \thinspace{}
12646 \begin_inset space \space{}
12650 \begin_inset Flex Code
12653 \begin_layout Plain Layout
12660 \change_inserted -712698321 1534487781
12664 \begin_layout Standard
12666 \change_inserted -712698321 1534488561
12667 Finally, there is a special argument type with the prefix
12668 \begin_inset Flex Code
12671 \begin_layout Plain Layout
12673 \change_inserted -712698321 1534487844
12682 It is not really an argument, but uses the argument interface (thus, the
12683 prefix is also followed by a number, e.
12684 \begin_inset space \thinspace{}
12689 \begin_inset Flex Code
12692 \begin_layout Plain Layout
12694 \change_inserted -712698321 1534488412
12695 Argument listpreamble:1
12701 As the name implies, it is targeted at lists such as
12718 Its content will be output at the list start, before the first
12719 \begin_inset Flex Code
12722 \begin_layout Plain Layout
12724 \change_inserted -712698321 1534488058
12734 , on an own line (a place that is otherwise not accessible in \SpecialChar LyX
12736 This way, users can insert redefinitions (of lengths etc.) to individual
12738 By default, these arguments do not have a delimiter.
12744 \begin_layout Description
12745 \begin_inset Flex Code
12748 \begin_layout Plain Layout
12754 Includes a comma-separated list of layouts that should be nested in and
12755 after the current layout.
12756 Only makes sense for nestable layouts (such as environments).
12758 \begin_inset Quotes eld
12762 \begin_inset Flex Code
12765 \begin_layout Plain Layout
12772 \begin_inset Quotes erd
12777 \begin_inset Flex Code
12780 \begin_layout Plain Layout
12789 \begin_layout Description
12790 \begin_inset Flex Code
12793 \begin_layout Plain Layout
12799 Note that this will completely override any prior
12800 \begin_inset Flex Code
12803 \begin_layout Plain Layout
12809 declaration for this style.
12811 \begin_inset Quotes eld
12815 \begin_inset Flex Code
12818 \begin_layout Plain Layout
12825 \begin_inset Quotes erd
12830 \begin_inset CommandInset ref
12832 reference "subsec:I18n"
12836 for details on its use.
12839 \begin_layout Description
12840 \begin_inset Flex Code
12843 \begin_layout Plain Layout
12850 \begin_inset Flex Code
12853 \begin_layout Plain Layout
12863 \begin_layout Plain Layout
12864 Note that a `float' here is a real number, such as: 1.5.
12869 The vertical space with which the last of a chain of paragraphs with this
12870 style is separated from the following paragraph.
12871 If the next paragraph has another style, the separations are not simply
12872 added, but the maximum is taken.
12875 \begin_layout Description
12876 \begin_inset Flex Code
12879 \begin_layout Plain Layout
12886 \begin_inset Flex Code
12889 \begin_layout Plain Layout
12895 ] The category for this style.
12896 This is used to group related styles in the style combobox on the toolbar.
12897 Any string can be used, but you may want to use existing categories with
12902 \begin_layout Description
12903 \begin_inset Flex Code
12906 \begin_layout Plain Layout
12912 Depth of XML command.
12913 Used only with XML-type formats.
12916 \begin_layout Description
12917 \begin_inset Flex Code
12920 \begin_layout Plain Layout
12927 \begin_inset Flex Code
12930 \begin_layout Plain Layout
12936 ] Copies all the features of an existing style into the current one.
12940 \begin_layout Description
12941 \begin_inset Flex Code
12944 \begin_layout Plain Layout
12951 \begin_inset Flex Code
12954 \begin_layout Plain Layout
12960 ] The name of a style whose preamble should be output
12965 This allows to ensure some ordering of the preamble snippets when macros
12966 definitions depend on one another.
12970 \begin_layout Plain Layout
12971 Note that, besides that functionality, there is no way to ensure any ordering
12973 The ordering that you see in a given version of \SpecialChar LyX
12974 may change without warning
12983 \begin_layout Description
12984 \begin_inset Flex Code
12987 \begin_layout Plain Layout
12994 \begin_inset Flex Code
12997 \begin_layout Plain Layout
13002 , Box, Filled_Box, Static
13007 ] The type of label that stands at the end of the paragraph (or sequence
13009 \begin_inset Flex Code
13012 \begin_layout Plain Layout
13019 \begin_inset Newline newline
13023 \begin_inset Flex Code
13026 \begin_layout Plain Layout
13033 \begin_inset Flex Code
13036 \begin_layout Plain Layout
13043 \begin_inset Flex Code
13046 \begin_layout Plain Layout
13054 \begin_inset Flex Code
13057 \begin_layout Plain Layout
13064 \begin_inset Quotes eld
13068 \begin_inset Quotes erd
13072 \begin_inset Flex Code
13075 \begin_layout Plain Layout
13082 \begin_inset space \space{}
13086 \begin_inset Flex Code
13089 \begin_layout Plain Layout
13095 ) is a white (resp.
13096 \begin_inset space ~
13099 black) square suitable for end of proof markers,
13100 \begin_inset Flex Code
13103 \begin_layout Plain Layout
13109 is an explicit text string.
13112 \begin_layout Description
13113 \begin_inset Flex Code
13116 \begin_layout Plain Layout
13123 \begin_inset Flex Code
13126 \begin_layout Plain Layout
13132 ] The string used for a label with a
13133 \begin_inset Flex Code
13136 \begin_layout Plain Layout
13143 \begin_inset Newline newline
13147 \begin_inset Flex Code
13150 \begin_layout Plain Layout
13160 \begin_layout Description
13161 \begin_inset Flex Code
13164 \begin_layout Plain Layout
13170 The font used for both the text body
13176 \begin_inset CommandInset ref
13178 reference "subsec:Font-description"
13183 Note that defining this font automatically defines the
13184 \begin_inset Flex Code
13187 \begin_layout Plain Layout
13194 So you should define this one first if you also want to define
13195 \begin_inset Flex Code
13198 \begin_layout Plain Layout
13207 \begin_layout Description
13208 \begin_inset Flex Code
13211 \begin_layout Plain Layout
13218 \begin_inset Flex Code
13221 \begin_layout Plain Layout
13227 ] Used for backporting new styles to stable \SpecialChar LyX
13229 The first stable version that supports this tag is \SpecialChar LyX
13231 The argument is a number which may either be 0, -1 or any value greater
13234 \begin_inset Flex Code
13237 \begin_layout Plain Layout
13243 flag of a style is greater than zero, it will always be written to the
13245 If a .lyx file is read, the style definitions from the document header are
13246 added to the document class.
13247 Therefore even older \SpecialChar LyX
13248 versions can handle the style.
13250 \begin_inset Flex Code
13253 \begin_layout Plain Layout
13259 is a version number: if the style is read, and the version number is less
13260 than the version number of the already existing style in the document class,
13261 the new style is ignored.
13262 If the version number is greater, the new style replaces the existing style.
13263 A value of -1 means an infinite version number, i.
13264 \begin_inset space \thinspace{}
13268 \begin_inset space \space{}
13271 the style is always used.
13274 \begin_layout Description
13275 \begin_inset Flex Code
13278 \begin_layout Plain Layout
13285 \begin_inset Flex Code
13288 \begin_layout Plain Layout
13297 \begin_inset space \thinspace{}
13301 \begin_inset Flex Code
13304 \begin_layout Plain Layout
13310 ] Usually \SpecialChar LyX
13311 does not allow you to insert more than one space between words,
13312 since a space is considered as the separation between two words, not a
13313 character or symbol of its own.
13314 This is a very fine thing but sometimes annoying, for example, when typing
13315 program code or plain \SpecialChar LaTeX
13318 \begin_inset Flex Code
13321 \begin_layout Plain Layout
13329 \change_deleted -495245474 1550490105
13333 will create protected blanks for the additional blanks when in
13334 \change_inserted -495245474 1550490096
13336 \begin_inset Flex Code
13339 \begin_layout Plain Layout
13341 \change_inserted -495245474 1550490089
13348 \change_deleted -495245474 1550490116
13349 another mode than \SpecialChar LaTeX
13352 \change_inserted -495245474 1550247760
13354 \begin_inset Flex Code
13357 \begin_layout Plain Layout
13359 \change_inserted -495245474 1550247736
13366 \begin_inset Flex Code
13369 \begin_layout Plain Layout
13371 \change_inserted -495245474 1550247755
13382 \begin_layout Description
13383 \begin_inset Flex Code
13386 \begin_layout Plain Layout
13392 These tags are used with XHTML output.
13394 \begin_inset CommandInset ref
13396 reference "subsec:Paragraph-Style-XHTML"
13403 \begin_layout Description
13404 \begin_inset Flex Code
13407 \begin_layout Plain Layout
13413 [FIXME] (Used only with XML-type formats.)
13416 \begin_layout Description
13417 \begin_inset Flex Code
13420 \begin_layout Plain Layout
13427 \begin_inset Flex Code
13430 \begin_layout Plain Layout
13439 \begin_inset space \thinspace{}
13443 \begin_inset Flex Code
13446 \begin_layout Plain Layout
13453 \begin_inset Flex Code
13456 \begin_layout Plain Layout
13462 , marks the style as to be included in the document preamble and not in
13464 This is useful for document classes that want such information as the title
13465 and author to appear in the preamble.
13466 Note that this works only for styles for which the
13467 \begin_inset Flex Code
13470 \begin_layout Plain Layout
13477 \begin_inset Flex Code
13480 \begin_layout Plain Layout
13487 \begin_inset Flex Code
13490 \begin_layout Plain Layout
13499 \begin_layout Description
13500 \begin_inset Flex Code
13503 \begin_layout Plain Layout
13510 \begin_inset Flex Code
13513 \begin_layout Plain Layout
13522 \begin_inset space \thinspace{}
13526 \begin_inset Flex Code
13529 \begin_layout Plain Layout
13536 \begin_inset Flex Code
13539 \begin_layout Plain Layout
13545 , marks the style as being part of a title block (see also the
13546 \begin_inset Flex Code
13549 \begin_layout Plain Layout
13556 \begin_inset Flex Code
13559 \begin_layout Plain Layout
13568 \begin_layout Description
13569 \begin_inset Flex Code
13572 \begin_layout Plain Layout
13578 Includes a comma-separated list of layouts after which this one should
13580 Only makes sense with regard to nestable layouts (such as environments).
13582 \begin_inset Quotes eld
13586 \begin_inset Flex Code
13589 \begin_layout Plain Layout
13596 \begin_inset Quotes erd
13601 \begin_inset Flex Code
13604 \begin_layout Plain Layout
13613 \begin_layout Description
13614 \begin_inset Flex Code
13617 \begin_layout Plain Layout
13624 \begin_inset Flex Code
13627 \begin_layout Plain Layout
13636 \begin_inset space \thinspace{}
13640 \begin_inset Flex Code
13643 \begin_layout Plain Layout
13649 ] If this is set to 1 and AddToToc is enabled, the paragraph adds a summary
13650 of its contents in its item in the table of contents.
13651 Otherwise, only the label, if it exists, appears.
13654 \begin_layout Description
13655 \begin_inset Flex Code
13658 \begin_layout Plain Layout
13665 \begin_inset Flex Code
13668 \begin_layout Plain Layout
13674 ] The \SpecialChar LaTeX
13675 command sequence declaring an item in a list.
13676 The command is to be defined without the preceding backslash (the default
13678 \begin_inset Quotes eld
13682 \begin_inset Quotes erd
13686 \begin_inset Flex Code
13689 \begin_layout Plain Layout
13697 in the \SpecialChar LaTeX
13701 \begin_layout Description
13702 \begin_inset Flex Code
13705 \begin_layout Plain Layout
13712 \begin_inset Flex Code
13715 \begin_layout Plain Layout
13721 ] This provides extra space between paragraphs that have the same style.
13722 If you put other styles into an environment, each is separated with the
13724 \begin_inset Flex Code
13727 \begin_layout Plain Layout
13734 But the whole items of the environment are additionally separated with
13736 \begin_inset Flex Code
13739 \begin_layout Plain Layout
13746 Note that this is a
13751 \begin_layout Description
13752 \begin_inset Flex Code
13755 \begin_layout Plain Layout
13761 [FIXME] (Used only with XML-type formats.)
13764 \begin_layout Description
13765 \begin_inset Flex Code
13768 \begin_layout Plain Layout
13775 \begin_inset Flex Code
13778 \begin_layout Plain Layout
13787 \begin_inset space \thinspace{}
13791 \begin_inset Flex Code
13794 \begin_layout Plain Layout
13800 ] Usually \SpecialChar LyX
13801 does not allow you to leave a paragraph empty, since it would
13802 lead to empty \SpecialChar LaTeX
13804 There are some cases where this could be desirable however: in a letter
13805 template, the required fields can be provided as empty fields, so that
13806 people do not forget them; in some special classes, a style can be used
13807 as some kind of break, which does not contain actual text.
13810 \begin_layout Description
13811 \begin_inset Flex Code
13814 \begin_layout Plain Layout
13821 \begin_inset Flex Code
13824 \begin_layout Plain Layout
13830 ] The vertical space between the label and the text body.
13831 Only used for labels that are above the text body (
13832 \begin_inset Flex Code
13835 \begin_layout Plain Layout
13842 \begin_inset Newline newline
13846 \begin_inset Flex Code
13849 \begin_layout Plain Layout
13850 Centered_Top_Environment
13858 \begin_layout Description
13859 \begin_inset Flex Code
13862 \begin_layout Plain Layout
13869 \begin_inset Flex Code
13872 \begin_layout Plain Layout
13878 ] The name of the counter for automatic numbering.
13879 In order to have the counter appear with your label, you will need to reference
13881 \begin_inset Flex Code
13884 \begin_layout Plain Layout
13893 This will work with
13894 \begin_inset Flex Code
13897 \begin_layout Plain Layout
13904 \begin_inset Flex Code
13907 \begin_layout Plain Layout
13914 \begin_inset Flex Code
13917 \begin_layout Plain Layout
13924 \begin_inset Flex Code
13927 \begin_layout Plain Layout
13934 \begin_inset Newline newline
13942 \begin_inset Flex Code
13945 \begin_layout Plain Layout
13952 \begin_inset Flex Code
13955 \begin_layout Plain Layout
13961 , though this case is a bit complicated.
13962 Suppose you declare
13963 \begin_inset Quotes eld
13967 \begin_inset Flex Code
13970 \begin_layout Plain Layout
13971 LabelCounter myenum
13977 \begin_inset Quotes erd
13981 Then the actual counters used are
13982 \begin_inset Flex Code
13985 \begin_layout Plain Layout
13992 \begin_inset Flex Code
13995 \begin_layout Plain Layout
14002 \begin_inset Flex Code
14005 \begin_layout Plain Layout
14012 \begin_inset Flex Code
14015 \begin_layout Plain Layout
14021 , much as in \SpecialChar LaTeX
14023 These counters must all be declared separately.
14024 \begin_inset Newline newline
14028 \begin_inset CommandInset ref
14030 reference "subsec:Counters"
14034 for details on counters.
14037 \begin_layout Description
14038 \begin_inset Flex Code
14041 \begin_layout Plain Layout
14047 The font used for the label.
14049 \begin_inset CommandInset ref
14051 reference "subsec:Font-description"
14058 \begin_layout Description
14059 \begin_inset Flex Code
14062 \begin_layout Plain Layout
14069 \begin_inset Flex Code
14072 \begin_layout Plain Layout
14078 ] Text that indicates how far a label should be indented.
14081 \begin_layout Description
14082 \begin_inset Flex Code
14085 \begin_layout Plain Layout
14092 \begin_inset Flex Code
14095 \begin_layout Plain Layout
14101 ] Text that indicates the amount of horizontal space between the label and
14103 Only used for labels that are not above the text body.
14106 \begin_layout Description
14107 \begin_inset Flex Code
14110 \begin_layout Plain Layout
14117 \begin_inset Flex Code
14120 \begin_layout Plain Layout
14126 ] The string used for the label.
14128 \begin_inset Flex Code
14131 \begin_layout Plain Layout
14137 is set, this string can be contain the special formatting commands described
14139 \begin_inset CommandInset ref
14141 reference "subsec:Counters"
14148 \begin_layout Description
14149 \begin_inset Flex Code
14152 \begin_layout Plain Layout
14153 LabelStringAppendix
14159 \begin_inset Flex Code
14162 \begin_layout Plain Layout
14168 ] This is used inside the appendix instead of
14169 \begin_inset Newline newline
14173 \begin_inset Flex Code
14176 \begin_layout Plain Layout
14184 \begin_inset Flex Code
14187 \begin_layout Plain Layout
14194 \begin_inset Newline newline
14198 \begin_inset Flex Code
14201 \begin_layout Plain Layout
14202 LabelStringAppendix
14210 \begin_layout Description
14211 \begin_inset Flex Code
14214 \begin_layout Plain Layout
14220 [FIXME] (Used only with XML-type formats.)
14223 \begin_layout Description
14224 \begin_inset Flex Code
14227 \begin_layout Plain Layout
14234 \begin_inset Flex Code
14237 \begin_layout Plain Layout
14242 , Manual, Static, Above,
14243 \begin_inset Newline newline
14246 Centered, Sensitive, Enumerate,
14247 \begin_inset Newline newline
14250 Itemize, Bibliography
14259 \begin_layout Description
14260 \begin_inset Flex Code
14263 \begin_layout Plain Layout
14269 means the label is the very first word (up to the first real blank).
14270 Use protected spaces if you want more than one word as the label.
14274 \begin_layout Description
14275 \begin_inset Flex Code
14278 \begin_layout Plain Layout
14284 means the label is simply what is declared as
14285 \begin_inset Flex Code
14288 \begin_layout Plain Layout
14295 This will be displayed
14296 \begin_inset Quotes eld
14300 \begin_inset Quotes erd
14303 , at the beginning of the paragraph.
14305 \begin_inset Flex Code
14308 \begin_layout Plain Layout
14315 \begin_inset Flex Code
14318 \begin_layout Plain Layout
14324 , then it will be displayed only in the first paragraph of any sequence
14325 of paragraphs with the same
14326 \begin_inset Flex Code
14329 \begin_layout Plain Layout
14338 \begin_layout Description
14339 \begin_inset Flex Code
14342 \begin_layout Plain Layout
14349 \begin_inset space ~
14353 \begin_inset space ~
14357 \begin_inset Flex Code
14360 \begin_layout Plain Layout
14366 are special cases of
14367 \begin_inset Flex Code
14370 \begin_layout Plain Layout
14377 The label will be printed above the paragraph either at the beginning of
14378 the line or centered.
14381 \begin_layout Description
14382 \begin_inset Flex Code
14385 \begin_layout Plain Layout
14391 is a special case for the caption-labels
14392 \begin_inset Quotes eld
14396 \begin_inset Quotes erd
14400 \begin_inset Quotes eld
14404 \begin_inset Quotes erd
14408 \begin_inset Newline newline
14412 \begin_inset Flex Code
14415 \begin_layout Plain Layout
14421 means the (hardcoded) label string depends on the kind of float: It is
14422 hardcoded to be `FloatType N', where N is the value of the counter associated
14424 For the case that a caption is inserted outside of a float the
14425 \begin_inset Flex Code
14428 \begin_layout Plain Layout
14435 \begin_inset Quotes eld
14439 \begin_inset Quotes erd
14445 \begin_layout Description
14446 \begin_inset Flex Code
14449 \begin_layout Plain Layout
14455 produces the usual sort of enumeration labels.
14456 The number type needs to be set in the
14461 \begin_inset CommandInset ref
14463 reference "subsec:Counters"
14470 \begin_layout Description
14471 \begin_inset Flex Code
14474 \begin_layout Plain Layout
14480 produces various bullets at the different levels.
14481 The bullet types displayed can be set via
14482 \begin_inset Flex Noun
14485 \begin_layout Plain Layout
14486 Document\SpecialChar menuseparator
14487 Settings\SpecialChar menuseparator
14496 \begin_layout Description
14497 \begin_inset Flex Code
14500 \begin_layout Plain Layout
14506 should be used only with
14507 \begin_inset Flex Code
14510 \begin_layout Plain Layout
14511 LatexType BibEnvironment
14520 \begin_layout Description
14521 \begin_inset Flex Code
14524 \begin_layout Plain Layout
14530 Note that this will completely override any prior
14531 \begin_inset Flex Code
14534 \begin_layout Plain Layout
14540 declaration for this style.
14542 \begin_inset Quotes eld
14546 \begin_inset Flex Code
14549 \begin_layout Plain Layout
14556 \begin_inset Quotes erd
14561 \begin_inset CommandInset ref
14563 reference "subsec:I18n"
14567 for details on its use.
14570 \begin_layout Description
14571 \begin_inset Flex Code
14574 \begin_layout Plain Layout
14581 \begin_inset Flex Code
14584 \begin_layout Plain Layout
14590 ] The name of the corresponding \SpecialChar LaTeX
14592 Either the environment or command name.
14595 \begin_layout Description
14596 \begin_inset Flex Code
14599 \begin_layout Plain Layout
14606 \begin_inset Flex Code
14609 \begin_layout Plain Layout
14615 ] An optional parameter for the corresponding
14616 \begin_inset Flex Code
14619 \begin_layout Plain Layout
14626 This parameter cannot be changed from within \SpecialChar LyX
14628 \begin_inset Flex Code
14631 \begin_layout Plain Layout
14637 for customizable parameters).
14638 This will be output as is after all \SpecialChar LaTeX
14640 \begin_inset Flex Code
14643 \begin_layout Plain Layout
14652 \begin_layout Description
14653 \begin_inset Flex Code
14656 \begin_layout Plain Layout
14663 \begin_inset Flex Code
14666 \begin_layout Plain Layout
14671 , Command, Environment, Item_Environment,
14672 \begin_inset Newline newline
14675 List_Environment, Bib_Environment
14680 ] How the style should be translated into \SpecialChar LaTeX
14685 \begin_layout Plain Layout
14686 \begin_inset Flex Code
14689 \begin_layout Plain Layout
14695 is perhaps a bit misleading, since these rules apply to SGML classes, too.
14696 Visit the SGML class files for specific examples.
14705 \begin_layout Description
14706 \begin_inset Flex Code
14709 \begin_layout Plain Layout
14715 means nothing special.
14718 \begin_layout Description
14719 \begin_inset Flex Code
14722 \begin_layout Plain Layout
14729 \begin_inset Flex Code
14732 \begin_layout Plain Layout
14739 {\SpecialChar ldots
14748 \begin_layout Description
14749 \begin_inset Flex Code
14752 \begin_layout Plain Layout
14759 \begin_inset Flex Code
14762 \begin_layout Plain Layout
14769 }\SpecialChar ldots
14785 \begin_layout Description
14786 \begin_inset Flex Code
14789 \begin_layout Plain Layout
14796 \begin_inset Flex Code
14799 \begin_layout Plain Layout
14806 \begin_inset Flex Code
14809 \begin_layout Plain Layout
14817 is generated for each paragraph of this environment.
14821 \begin_layout Description
14822 \begin_inset Flex Code
14825 \begin_layout Plain Layout
14832 \begin_inset Flex Code
14835 \begin_layout Plain Layout
14842 \begin_inset Newline newline
14846 \begin_inset Flex Code
14849 \begin_layout Plain Layout
14855 is passed as an argument to the environment.
14856 \begin_inset Newline newline
14860 \begin_inset Flex Code
14863 \begin_layout Plain Layout
14869 can be defined in the
14870 \begin_inset Flex Noun
14873 \begin_layout Plain Layout
14874 Edit\SpecialChar menuseparator
14876 \begin_inset space ~
14887 \begin_layout Description
14888 \begin_inset Flex Code
14891 \begin_layout Plain Layout
14898 \begin_inset Flex Code
14901 \begin_layout Plain Layout
14907 but adds the necessary mandatory argument (the longest label) to the begin
14908 statement of the bibliography environment:
14909 \begin_inset Newline newline
14913 \begin_inset Flex Code
14916 \begin_layout Plain Layout
14919 begin{thebibliography}{99}
14925 It is therefore only useful for bibliography environments.
14926 The default longest label
14927 \begin_inset Quotes eld
14931 \begin_inset Quotes erd
14934 can be changed by the user in the paragraph settings of a bibliography
14938 \begin_layout Standard
14939 Putting the last few things together, the \SpecialChar LaTeX
14940 output will be either:
14943 \begin_layout LyX-Code
14946 LatexName[LatexParam]{\SpecialChar ldots
14950 \begin_layout Standard
14954 \begin_layout LyX-Code
14957 begin{LatexName}[LatexParam] \SpecialChar ldots
14963 \begin_layout Standard
14964 depending upon the \SpecialChar LaTeX
14969 \begin_layout Description
14970 \begin_inset Flex Code
14973 \begin_layout Plain Layout
14980 \begin_inset Flex Code
14983 \begin_layout Plain Layout
14989 ] A string that is put at the beginning of the style content.
14990 A line break in the output can be indicated by
14991 \begin_inset Flex Code
14994 \begin_layout Plain Layout
15003 \begin_layout Description
15004 \begin_inset Flex Code
15007 \begin_layout Plain Layout
15014 \begin_inset Flex Code
15017 \begin_layout Plain Layout
15023 ] If you put styles into environments, the different
15024 \begin_inset Flex Code
15027 \begin_layout Plain Layout
15033 are not simply added, but added with a factor
15034 \begin_inset Formula $\frac{4}{\mathrm{depth}+4}$
15038 Note that this parameter is also used when
15039 \begin_inset Flex Code
15042 \begin_layout Plain Layout
15049 \begin_inset Flex Code
15052 \begin_layout Plain Layout
15059 \begin_inset Flex Code
15062 \begin_layout Plain Layout
15069 Then it is added to the manual or dynamic margin.
15070 \begin_inset Newline newline
15074 \begin_inset Quotes eld
15078 \begin_inset Flex Code
15081 \begin_layout Plain Layout
15088 \begin_inset Quotes erd
15091 means that the paragraph is indented with the width of
15092 \begin_inset Quotes eld
15096 \begin_inset Flex Code
15099 \begin_layout Plain Layout
15106 \begin_inset Quotes erd
15109 in the normal font.
15110 You can get a negative width by prefixing the string with
15111 \begin_inset Quotes eld
15115 \begin_inset Flex Code
15118 \begin_layout Plain Layout
15125 \begin_inset Quotes erd
15129 This way was chosen so that the look is the same with each used screen
15133 \begin_layout Description
15134 \begin_inset Flex Code
15137 \begin_layout Plain Layout
15144 \begin_inset Flex Code
15147 \begin_layout Plain Layout
15152 , Manual, Dynamic, First_Dynamic, Right_Address_Box
15158 \begin_inset Newline newline
15161 The kind of margin that the style has on the left side.
15165 \begin_layout Description
15166 \begin_inset Flex Code
15169 \begin_layout Plain Layout
15175 just means a fixed margin.
15178 \begin_layout Description
15179 \begin_inset Flex Code
15182 \begin_layout Plain Layout
15188 means that the left margin depends on the string entered in the
15189 \begin_inset Flex Noun
15192 \begin_layout Plain Layout
15193 Edit\SpecialChar menuseparator
15195 \begin_inset space ~
15204 This is used to typeset nice lists without tabulators.
15207 \begin_layout Description
15208 \begin_inset Flex Code
15211 \begin_layout Plain Layout
15217 means that the margin depends on the size of the label.
15218 This is used for automatic enumerated headlines.
15219 It is obvious that the headline
15220 \begin_inset Quotes eld
15223 5.4.3.2.1 Very long headline
15224 \begin_inset Quotes erd
15227 must have a wider left margin (as wide as
15228 \begin_inset Quotes eld
15232 \begin_inset Quotes erd
15235 plus the space) than
15236 \begin_inset Quotes eld
15239 3.2 Very long headline
15240 \begin_inset Quotes erd
15244 \begin_inset Quotes eld
15248 \begin_inset Quotes erd
15251 are not able to do this.
15254 \begin_layout Description
15255 \begin_inset Flex Code
15258 \begin_layout Plain Layout
15264 is similar, but only the very first row of the paragraph is dynamic, while
15265 the others are static; this is used, for example, for descriptions.
15268 \begin_layout Description
15269 \begin_inset Flex Code
15272 \begin_layout Plain Layout
15278 means the margin is chosen in a way that the longest row of this paragraph
15279 fits to the right margin.
15280 This is used to typeset an address on the right edge of the page.
15284 \begin_layout Description
15285 \begin_inset Flex Code
15288 \begin_layout Plain Layout
15295 \begin_inset Flex Code
15298 \begin_layout Plain Layout
15307 \begin_inset space \thinspace{}
15311 \begin_inset Flex Code
15314 \begin_layout Plain Layout
15320 ] Whether fragile commands in this style should be
15321 \begin_inset Flex Code
15324 \begin_layout Plain Layout
15337 whether this command should itself be protected.)
15338 \change_inserted -712698321 1523696949
15342 \begin_layout Description
15344 \change_inserted -712698321 1552395557
15345 \begin_inset Flex Code
15348 \begin_layout Plain Layout
15350 \change_inserted -712698321 1523696950
15357 \begin_inset Flex Code
15360 \begin_layout Plain Layout
15362 \change_inserted -712698321 1523696950
15371 \begin_inset space \thinspace{}
15375 \begin_inset Flex Code
15378 \begin_layout Plain Layout
15380 \change_inserted -712698321 1523696950
15386 ] This causes macros that contain this layout to be protected with
15387 \begin_inset Flex Code
15390 \begin_layout Plain Layout
15392 \change_inserted -712698321 1523696950
15405 ) if necessary and thus allows (some) verbatim stuff in macros.
15408 \begin_layout Description
15410 \change_inserted -712698321 1552395844
15411 \begin_inset Flex Code
15414 \begin_layout Plain Layout
15416 \change_inserted -712698321 1552395561
15423 \begin_inset Flex Code
15426 \begin_layout Plain Layout
15428 \change_inserted -712698321 1552395557
15437 \begin_inset space \thinspace{}
15441 \begin_inset Flex Code
15444 \begin_layout Plain Layout
15446 \change_inserted -712698321 1552395557
15452 ] Whether specific commands in this style (such as
15453 \begin_inset Flex Code
15456 \begin_layout Plain Layout
15458 \change_inserted -712698321 1552395655
15469 \begin_inset Flex Code
15472 \begin_layout Plain Layout
15474 \change_inserted -712698321 1552395661
15484 ) should be protected in an
15485 \begin_inset Flex Code
15488 \begin_layout Plain Layout
15490 \change_inserted -712698321 1552395631
15501 This is particularly needed for styles that draw on
15509 commands which parse their content in complex ways.
15514 \begin_layout Description
15515 \begin_inset Flex Code
15518 \begin_layout Plain Layout
15525 \begin_inset Flex Code
15528 \begin_layout Plain Layout
15535 \begin_inset space \thinspace{}
15539 \begin_inset Flex Code
15542 \begin_layout Plain Layout
15550 ] Whether newlines are translated into \SpecialChar LaTeX
15552 \begin_inset Flex Code
15555 \begin_layout Plain Layout
15566 The translation can be switched off to allow more comfortable \SpecialChar LaTeX
15568 inside \SpecialChar LyX
15572 \begin_layout Description
15573 \begin_inset Flex Code
15576 \begin_layout Plain Layout
15583 \begin_inset Flex Code
15586 \begin_layout Plain Layout
15595 \begin_inset space \thinspace{}
15599 \begin_inset Flex Code
15602 \begin_layout Plain Layout
15608 ] If set to true, and if
15609 \begin_inset Flex Code
15612 \begin_layout Plain Layout
15619 \begin_inset Flex Code
15622 \begin_layout Plain Layout
15628 ) paragraphs are being indented, then the indentation of such a paragraph
15629 following one of this type will be suppressed.
15630 (So this will not affect the display of non-default paragraphs.)
15633 \begin_layout Description
15634 \begin_inset Flex Code
15637 \begin_layout Plain Layout
15644 \begin_inset Flex Code
15647 \begin_layout Plain Layout
15653 ] Name of a style that has replaced this style.
15654 This is used to rename a style, while keeping backward compatibility.
15657 \begin_layout Description
15658 \begin_inset Flex Code
15661 \begin_layout Plain Layout
15668 \begin_inset Flex Code
15671 \begin_layout Plain Layout
15678 \begin_inset space \thinspace{}
15682 \begin_inset Flex Code
15685 \begin_layout Plain Layout
15691 ] Determines whether consecutive paragraphs of the same type are treated
15692 as belonging together.
15693 This has the effect that the
15694 \begin_inset Flex Code
15697 \begin_layout Plain Layout
15703 is only printed once before such a group.
15704 By default, this is true for
15705 \begin_inset Flex Code
15708 \begin_layout Plain Layout
15715 \begin_inset Flex Code
15718 \begin_layout Plain Layout
15725 \begin_inset Flex Code
15728 \begin_layout Plain Layout
15734 and false for all other types.
15737 \begin_layout Description
15738 \begin_inset Flex Code
15741 \begin_layout Plain Layout
15748 \begin_inset Flex Code
15751 \begin_layout Plain Layout
15760 \begin_inset space \thinspace{}
15764 \begin_inset Flex Code
15767 \begin_layout Plain Layout
15773 ] Indicates that paragraphs will not be separated by an empty line in \SpecialChar LaTeX
15775 but only by a line break; together with
15776 \begin_inset Flex Code
15779 \begin_layout Plain Layout
15785 , this allows to emulate a plain text editor (like the ERT inset).
15788 \begin_layout Description
15789 \begin_inset Flex Code
15792 \begin_layout Plain Layout
15799 \begin_inset Flex Code
15802 \begin_layout Plain Layout
15808 ] The indent of the very first line of a paragraph.
15810 \begin_inset Newline newline
15814 \begin_inset Flex Code
15817 \begin_layout Plain Layout
15823 will be fixed for a certain style.
15824 The exception is the default style, since the indentation for these paragraphs
15825 can be prohibited with
15826 \begin_inset Flex Code
15829 \begin_layout Plain Layout
15837 \begin_inset Flex Code
15840 \begin_layout Plain Layout
15846 style paragraphs inside environments use the
15847 \begin_inset Flex Code
15850 \begin_layout Plain Layout
15856 of the environment, not their native one.
15858 \begin_inset Flex Code
15861 \begin_layout Plain Layout
15867 paragraphs inside an enumeration are not indented.
15870 \begin_layout Description
15871 \begin_inset Flex Code
15874 \begin_layout Plain Layout
15881 \begin_inset Flex Code
15884 \begin_layout Plain Layout
15890 ] The vertical space between two paragraphs of this style.
15893 \begin_layout Description
15894 \begin_inset Flex Code
15897 \begin_layout Plain Layout
15904 \begin_inset Flex Code
15907 \begin_layout Plain Layout
15914 allows the user to choose either
15915 \begin_inset Quotes eld
15919 \begin_inset Quotes erd
15923 \begin_inset Quotes eld
15927 \begin_inset Quotes erd
15930 to separate paragraphs.
15932 \begin_inset Quotes eld
15936 \begin_inset Quotes erd
15940 \begin_inset Flex Code
15943 \begin_layout Plain Layout
15951 \begin_inset Quotes eld
15955 \begin_inset Quotes erd
15959 \begin_inset Flex Code
15962 \begin_layout Plain Layout
15968 is ignored and all paragraphs are separated by the
15969 \begin_inset Flex Code
15972 \begin_layout Plain Layout
15979 The vertical space is calculated with
15980 \begin_inset Flex Code
15983 \begin_layout Plain Layout
15985 \begin_inset space ~
15994 \begin_inset Flex Code
15997 \begin_layout Plain Layout
16003 is the height of a row with the normal font.
16004 This way, the look stays the same with different screen fonts.
16007 \begin_layout Description
16008 \begin_inset Flex Code
16011 \begin_layout Plain Layout
16018 \begin_inset Flex Code
16021 \begin_layout Plain Layout
16030 \begin_inset space \thinspace{}
16034 \begin_inset Flex Code
16037 \begin_layout Plain Layout
16043 ] Whether the contents of this paragraph should be output in raw form, meaning
16044 without special translations that \SpecialChar LaTeX
16048 \begin_layout Description
16049 \begin_inset Flex Code
16052 \begin_layout Plain Layout
16059 \begin_inset Flex Code
16062 \begin_layout Plain Layout
16072 Defines individual characters that should be output in raw form, meaning
16073 without special translations that \SpecialChar LaTeX
16077 \begin_layout Description
16078 \begin_inset Flex Code
16081 \begin_layout Plain Layout
16087 Information to be included in the \SpecialChar LaTeX
16088 preamble when this style is used.
16089 Used to define macros, load packages, etc., required by this particular
16092 \begin_inset Quotes eld
16096 \begin_inset Flex Code
16099 \begin_layout Plain Layout
16106 \begin_inset Quotes erd
16112 \begin_layout Description
16113 \begin_inset Flex Code
16116 \begin_layout Plain Layout
16123 \begin_inset Flex Code
16126 \begin_layout Plain Layout
16132 ] The prefix to use when creating labels referring to paragraphs of this
16134 This allows the use of formatted references.
16137 \begin_layout Description
16138 \begin_inset Flex Code
16141 \begin_layout Plain Layout
16148 \begin_inset Flex Code
16151 \begin_layout Plain Layout
16157 ] Whether the style requires the feature
16158 \begin_inset Flex Code
16161 \begin_layout Plain Layout
16168 \begin_inset CommandInset ref
16170 reference "chap:List-of-functions"
16174 for the list of features).
16175 If you require a package with specific options, you can additionally use
16177 \begin_inset Flex Code
16180 \begin_layout Plain Layout
16186 as a general text class parameter (see
16187 \begin_inset CommandInset ref
16189 reference "subsec:General-text-class"
16196 \begin_layout Description
16197 \begin_inset Flex Code
16200 \begin_layout Plain Layout
16207 \begin_inset Flex Code
16210 \begin_layout Plain Layout
16219 \begin_inset Flex Code
16222 \begin_layout Plain Layout
16228 ] Resets the \SpecialChar LaTeX
16229 arguments of this style (as defined via the
16230 \begin_inset Flex Code
16233 \begin_layout Plain Layout
16240 This is useful if you have copied a style via
16241 \begin_inset Flex Code
16244 \begin_layout Plain Layout
16250 , but you do not want to inherit its (required and optional) arguments.
16253 \begin_layout Description
16254 \begin_inset Flex Code
16257 \begin_layout Plain Layout
16264 \begin_inset Flex Code
16267 \begin_layout Plain Layout
16276 \begin_inset Flex Code
16279 \begin_layout Plain Layout
16285 ] Resumes a counter that is usually reset at each new sequence of layouts.
16286 This is currently only useful when
16287 \begin_inset Flex Code
16290 \begin_layout Plain Layout
16297 \begin_inset Flex Code
16300 \begin_layout Plain Layout
16309 \begin_layout Description
16310 \begin_inset Flex Code
16313 \begin_layout Plain Layout
16320 \begin_inset Flex Code
16323 \begin_layout Plain Layout
16329 ] A string that is put at the end of the layout content.
16330 A line break in the output can be indicated by
16331 \begin_inset Flex Code
16334 \begin_layout Plain Layout
16343 \begin_layout Description
16344 \begin_inset Flex Code
16347 \begin_layout Plain Layout
16354 \begin_inset Flex Code
16357 \begin_layout Plain Layout
16364 \begin_inset Flex Code
16367 \begin_layout Plain Layout
16376 \begin_layout Description
16377 \begin_inset Flex Code
16380 \begin_layout Plain Layout
16387 \begin_inset Flex Code
16390 \begin_layout Plain Layout
16399 \begin_inset Flex Code
16402 \begin_layout Plain Layout
16409 \begin_inset Flex Code
16412 \begin_layout Plain Layout
16419 \begin_inset Flex Code
16422 \begin_layout Plain Layout
16424 \begin_inset space ~
16432 ] This defines what the default spacing should be in the style.
16434 \begin_inset Flex Code
16437 \begin_layout Plain Layout
16444 \begin_inset Flex Code
16447 \begin_layout Plain Layout
16454 \begin_inset Flex Code
16457 \begin_layout Plain Layout
16463 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
16464 If you specify the argument
16465 \begin_inset Flex Code
16468 \begin_layout Plain Layout
16474 , then you must also provide a value argument which will be the actual multiplie
16476 Note that, contrary to other parameters,
16477 \begin_inset Flex Code
16480 \begin_layout Plain Layout
16486 implies the generation of specific \SpecialChar LaTeX
16487 code, using the \SpecialChar LaTeX
16491 \begin_inset Flex Code
16494 \begin_layout Plain Layout
16503 \begin_layout Description
16504 \begin_inset Flex Code
16507 \begin_layout Plain Layout
16514 \begin_inset Flex Code
16517 \begin_layout Plain Layout
16524 \begin_inset space \thinspace{}
16528 \begin_inset Flex Code
16531 \begin_layout Plain Layout
16539 ] Allow spell-checking paragraphs of this style.
16543 \begin_layout Description
16544 \begin_inset Flex Code
16547 \begin_layout Plain Layout
16554 \begin_inset Flex Code
16557 \begin_layout Plain Layout
16566 \begin_inset Flex Code
16569 \begin_layout Plain Layout
16575 ] Steps the master counter of a given counter at the beginning of a new
16576 sequence of layouts.
16577 This is currently only useful when
16578 \begin_inset Flex Code
16581 \begin_layout Plain Layout
16588 \begin_inset Flex Code
16591 \begin_layout Plain Layout
16600 \begin_layout Description
16601 \begin_inset Flex Code
16604 \begin_layout Plain Layout
16610 The font used for the text body .
16612 \begin_inset CommandInset ref
16614 reference "subsec:Font-description"
16621 \begin_layout Description
16622 \begin_inset Flex Code
16625 \begin_layout Plain Layout
16634 \begin_inset Flex Code
16637 \begin_layout Plain Layout
16647 The level of the style in the table of contents.
16648 This is used for automatic numbering of section headings.
16651 \begin_layout Description
16652 \begin_inset Flex Code
16655 \begin_layout Plain Layout
16664 \begin_inset Flex Code
16667 \begin_layout Plain Layout
16678 \begin_inset Flex Code
16681 \begin_layout Plain Layout
16688 \begin_inset Flex Code
16691 \begin_layout Plain Layout
16697 ] This tag determines whether the first line indentation of this paragraph
16698 can be toggled via the Paragraph settings dialog.
16702 \begin_inset Flex Code
16705 \begin_layout Plain Layout
16715 is set, indentation can be toggled if the document settings use
16716 \begin_inset Quotes eld
16720 \begin_inset Quotes erd
16723 paragraph style, with
16724 \begin_inset Flex Code
16727 \begin_layout Plain Layout
16733 , indentation can always be toggled, notwithstanding the document settings,
16735 \begin_inset Flex Code
16738 \begin_layout Plain Layout
16744 , indentation can never be toggled.
16747 \begin_layout Description
16748 \begin_inset Flex Code
16751 \begin_layout Plain Layout
16758 \begin_inset Flex Code
16761 \begin_layout Plain Layout
16767 ] The vertical space with which the very first of a chain of paragraphs
16768 with this style is separated from the previous paragraph.
16769 If the previous paragraph has another style, the separations are not simply
16770 added, but the maximum is taken.
16773 \begin_layout Subsection
16774 \begin_inset CommandInset label
16780 Internationalization of Paragraph Styles
16783 \begin_layout Standard
16785 has long supported internationalization of layout information, but, until
16786 version 2.0, this applied only to the user interface and not to, say, PDF
16788 Thus, French authors were forced to resort to ugly hacks if they wanted
16793 1' instead of `Theorem 1'.
16794 Thanks to Georg Baum, that is no longer the case.
16797 \begin_layout Standard
16799 \begin_inset Flex Code
16802 \begin_layout Plain Layout
16808 defines text that is to appear in the typeset document, it may use
16809 \begin_inset Flex Code
16812 \begin_layout Plain Layout
16819 \begin_inset Flex Code
16822 \begin_layout Plain Layout
16828 to support non-English and even multi-language documents correctly.
16829 The following excerpt (from the
16830 \begin_inset Flex Code
16833 \begin_layout Plain Layout
16839 file) shows how this works:
16842 \begin_layout LyX-Code
16847 \begin_layout LyX-Code
16850 theoremstyle{remark}
16853 \begin_layout LyX-Code
16856 newtheorem{claim}[thm]{
16863 \begin_layout LyX-Code
16867 \begin_layout LyX-Code
16871 \begin_layout LyX-Code
16876 claimname}{_(Claim)}
16879 \begin_layout LyX-Code
16883 \begin_layout LyX-Code
16887 \begin_layout LyX-Code
16896 claimname}{_(Claim)}}
16899 \begin_layout LyX-Code
16904 \begin_layout Standard
16905 In principle, any legal \SpecialChar LaTeX
16907 \begin_inset Flex Code
16910 \begin_layout Plain Layout
16917 \begin_inset Flex Code
16920 \begin_layout Plain Layout
16926 tags, but in practice they will typically look as they do here.
16927 The key to correct translation of the typeset text is the definition of
16928 the \SpecialChar LaTeX
16930 \begin_inset Flex Code
16933 \begin_layout Plain Layout
16942 \begin_inset Flex Code
16945 \begin_layout Plain Layout
16957 \begin_layout Standard
16959 \begin_inset Flex Code
16962 \begin_layout Plain Layout
16968 tag provides for internationalization based upon the overall language of
16970 The contents of the tag will be included in the preamble, just as with
16972 \begin_inset Flex Code
16975 \begin_layout Plain Layout
16982 What makes it special is the use of the
16983 \begin_inset Quotes eld
16987 \begin_inset Quotes erd
16991 \begin_inset Flex Code
16994 \begin_layout Plain Layout
17000 , which will be replaced, when \SpecialChar LyX
17001 produces \SpecialChar LaTeX
17002 output, with the translation of
17003 its argument into the document language.
17006 \begin_layout Standard
17008 \begin_inset Flex Code
17011 \begin_layout Plain Layout
17017 tag is more complex, since it is meant to provide support for multi-language
17018 documents and so offers an interface to the
17019 \begin_inset Flex Code
17022 \begin_layout Plain Layout
17029 Its contents will be added to the preamble once for each language that
17030 appears in the document.
17031 In this case, the argument to
17032 \begin_inset Flex Code
17035 \begin_layout Plain Layout
17041 will be replaced with its translation into the language in question; the
17043 \begin_inset Flex Code
17046 \begin_layout Plain Layout
17052 is replaced by the language name (as used by the babel package).
17055 \begin_layout Standard
17056 A German document that also included a French section would thus have the
17057 following in the preamble:
17060 \begin_layout LyX-Code
17069 claimname}{Affirmation}}
17070 \begin_inset Newline newline
17081 claimname}{Behauptung}}
17082 \begin_inset Newline newline
17089 claimname}{Behauptung}
17092 \begin_layout Standard
17095 \begin_inset Flex Code
17098 \begin_layout Plain Layout
17104 will then conspire to produce the correct text in the output.
17107 \begin_layout Standard
17108 One important point to note here is that the translations are provided by
17110 itself, through the file
17111 \begin_inset Flex Code
17114 \begin_layout Plain Layout
17121 This means, in effect, that
17122 \begin_inset Flex Code
17125 \begin_layout Plain Layout
17132 \begin_inset Flex Code
17135 \begin_layout Plain Layout
17141 are really only of use in layout files that are provided with \SpecialChar LyX
17143 entered in user-created layout files will not be seen by \SpecialChar LyX
17144 's internationalizatio
17145 n routines unless the
17146 \begin_inset Flex Code
17149 \begin_layout Plain Layout
17155 file is modified accordingly.
17156 That said, however, any layout created with the intention that it will
17157 be included with \SpecialChar LyX
17158 should use these tags where appropriate.
17159 Please note that the paragraph style translations provided by \SpecialChar LyX
17161 change with a minor update (e.
17162 \begin_inset space \thinspace{}
17166 \begin_inset space \space{}
17169 from version 2.1.x to 2.1.y).
17170 It is however quite likely that a major update (e.
17171 \begin_inset space \thinspace{}
17175 \begin_inset space \space{}
17178 from 2.0.x to 2.1.0) will introduce new translations or corrections.
17181 \begin_layout Subsection
17183 \begin_inset CommandInset label
17185 name "subsec:Floats"
17192 \begin_layout Standard
17193 It is necessary to define the floats (
17194 \begin_inset Flex Noun
17197 \begin_layout Plain Layout
17204 \begin_inset Flex Noun
17207 \begin_layout Plain Layout
17213 , \SpecialChar ldots
17214 ) in the text class itself.
17215 Standard floats are included in the file
17216 \begin_inset Flex Code
17219 \begin_layout Plain Layout
17225 , so you may have to do no more than add
17228 \begin_layout LyX-Code
17229 Input stdfloats.inc
17232 \begin_layout Standard
17233 to your layout file.
17234 If you want to implement a text class that proposes some other float types
17235 (like the AGU class bundled with \SpecialChar LyX
17236 ), the information below will hopefully
17240 \begin_layout Description
17241 \begin_inset Flex Code
17244 \begin_layout Plain Layout
17251 \begin_inset Flex Code
17254 \begin_layout Plain Layout
17260 =!htbpH] Allowed placement options for this float type.
17261 The value is a string of placement characters.
17262 Possible characters include:
17267 \begin_inset Quotes eld
17271 \begin_inset Quotes erd
17279 \begin_inset Quotes eld
17283 \begin_inset Quotes erd
17291 \begin_inset Quotes eld
17295 \begin_inset Quotes erd
17303 \begin_inset Quotes eld
17307 \begin_inset Quotes erd
17315 \begin_inset Quotes eld
17319 \begin_inset Quotes erd
17327 \begin_inset Quotes eld
17331 \begin_inset Quotes erd
17335 The order of the characters in the string does not matter.
17336 If no placement options are allowed, use the string
17343 \begin_layout Description
17344 \begin_inset Flex Code
17347 \begin_layout Plain Layout
17354 \begin_inset Flex Code
17357 \begin_layout Plain Layout
17366 \begin_inset space \thinspace{}
17372 \begin_inset Flex Code
17375 \begin_layout Plain Layout
17385 ] Defines whether the float allows to be rotated via the \SpecialChar LaTeX
17392 \begin_inset Flex Code
17395 \begin_layout Plain Layout
17401 if the float does not support this feature.
17404 \begin_layout Description
17405 \begin_inset Flex Code
17408 \begin_layout Plain Layout
17415 \begin_inset Flex Code
17418 \begin_layout Plain Layout
17427 \begin_inset space \thinspace{}
17433 \begin_inset Flex Code
17436 \begin_layout Plain Layout
17446 ] Defines whether the float has a starred variant that spans columns in
17447 a two column paragraph.
17449 \begin_inset Flex Code
17452 \begin_layout Plain Layout
17458 if the float does not support this feature.
17461 \begin_layout Description
17462 \begin_inset Flex Code
17465 \begin_layout Plain Layout
17472 \begin_inset Flex Code
17475 \begin_layout Plain Layout
17482 \begin_inset Quotes erd
17486 \begin_inset Quotes erd
17489 ] The file name extension of an auxiliary file for the list of figures (or
17492 writes the captions to this file.
17495 \begin_layout Description
17496 \begin_inset Flex Code
17499 \begin_layout Plain Layout
17506 \begin_inset Flex Code
17509 \begin_layout Plain Layout
17516 \begin_inset Quotes erd
17520 \begin_inset Quotes erd
17523 ] The string that will be used in the menus and also for the caption.
17524 This is translated to the current language if babel is used.
17527 \begin_layout Description
17528 \begin_inset Flex Code
17531 \begin_layout Plain Layout
17537 These tags control the XHTML output.
17539 \begin_inset CommandInset ref
17541 reference "sec:Tags-for-XHTML"
17548 \begin_layout Description
17549 \begin_inset Flex Code
17552 \begin_layout Plain Layout
17561 \begin_inset Flex Code
17564 \begin_layout Plain Layout
17573 \begin_inset space \thinspace{}
17577 \begin_inset Flex Code
17580 \begin_layout Plain Layout
17586 ] Indicates whether the float is already defined in the document class or
17587 if instead the \SpecialChar LaTeX
17589 \begin_inset Flex Code
17592 \begin_layout Plain Layout
17598 needs to be loaded to define it on-the-fly.
17600 \begin_inset Flex Code
17603 \begin_layout Plain Layout
17610 \begin_inset Flex Code
17613 \begin_layout Plain Layout
17620 It should be set to
17621 \begin_inset Flex Code
17624 \begin_layout Plain Layout
17630 if the float is already defined by the \SpecialChar LaTeX
17634 \begin_layout Description
17635 \begin_inset Flex Code
17638 \begin_layout Plain Layout
17645 \begin_inset Flex Code
17648 \begin_layout Plain Layout
17655 \begin_inset Quotes erd
17659 \begin_inset Quotes erd
17662 ] The command used to generate a list of floats of this type; the leading
17671 \begin_inset Flex Code
17674 \begin_layout Plain Layout
17680 is false, since there is no standard way to generate this command.
17682 \begin_inset Flex Code
17685 \begin_layout Plain Layout
17691 is true, since in that case there is a standard way to define the command.
17694 \begin_layout Description
17695 \begin_inset Flex Code
17698 \begin_layout Plain Layout
17705 \begin_inset Flex Code
17708 \begin_layout Plain Layout
17715 \begin_inset Quotes erd
17719 \begin_inset Quotes erd
17722 ] A title for a list of floats of this kind (list of figures, tables, or
17724 It is used for the screen label within \SpecialChar LyX
17725 , it is used by \SpecialChar LaTeX
17727 it is used as the title in the XHTML output.
17728 It will be translated to the document language.
17731 \begin_layout Description
17732 \begin_inset Flex Code
17735 \begin_layout Plain Layout
17742 \begin_inset Flex Code
17745 \begin_layout Plain Layout
17752 \begin_inset Quotes erd
17756 \begin_inset Quotes erd
17759 ] This (optional) argument determines whether floats of this class will
17760 be numbered within some sectional unit of the document.
17762 \begin_inset Flex Code
17765 \begin_layout Plain Layout
17772 \begin_inset Quotes eld
17776 \begin_inset Flex Code
17779 \begin_layout Plain Layout
17786 \begin_inset Quotes erd
17789 , the floats will be numbered within chapters.
17793 \begin_layout Description
17794 \begin_inset Flex Code
17797 \begin_layout Plain Layout
17804 \begin_inset Flex Code
17807 \begin_layout Plain Layout
17814 \begin_inset Quotes erd
17818 \begin_inset Quotes erd
17821 ] The default placement for the given class of floats.
17822 The string should be as in standard \SpecialChar LaTeX
17824 \begin_inset Flex Code
17827 \begin_layout Plain Layout
17834 \begin_inset Flex Code
17837 \begin_layout Plain Layout
17844 \begin_inset Flex Code
17847 \begin_layout Plain Layout
17854 \begin_inset Flex Code
17857 \begin_layout Plain Layout
17863 for top, bottom, page, and here, respectively.
17867 \begin_layout Plain Layout
17868 Note that the order of these letters in the string is irrelevant, like in
17875 On top of that there is a new type,
17876 \begin_inset Flex Code
17879 \begin_layout Plain Layout
17885 , which does not really correspond to a float, since it means: put it
17886 \begin_inset Quotes eld
17890 \begin_inset Quotes erd
17894 Note however that the
17895 \begin_inset Flex Code
17898 \begin_layout Plain Layout
17904 specifier is special and, because of implementation details, cannot be
17905 used in non-built in float types.
17906 If you do not understand what this means, just use
17907 \begin_inset Quotes eld
17911 \begin_inset Flex Code
17914 \begin_layout Plain Layout
17921 \begin_inset Quotes erd
17927 \begin_layout Description
17928 \begin_inset Flex Code
17931 \begin_layout Plain Layout
17938 \begin_inset Flex Code
17941 \begin_layout Plain Layout
17947 ] The prefix to use when creating labels referring to floats of this type.
17948 This allows the use of formatted references.
17949 Note that you can remove any
17950 \begin_inset Flex Code
17953 \begin_layout Plain Layout
17959 set by a copied style by using the special value
17960 \begin_inset Quotes eld
17964 \begin_inset Quotes erd
17967 , which must be all caps.
17970 \begin_layout Description
17971 \begin_inset Flex Code
17974 \begin_layout Plain Layout
17981 \begin_inset Flex Code
17984 \begin_layout Plain Layout
17991 \begin_inset Quotes erd
17995 \begin_inset Quotes erd
17998 ] The style used when defining the float using
17999 \begin_inset Flex Code
18002 \begin_layout Plain Layout
18013 \begin_layout Description
18014 \begin_inset Flex Code
18017 \begin_layout Plain Layout
18024 \begin_inset Flex Code
18027 \begin_layout Plain Layout
18034 \begin_inset Quotes erd
18038 \begin_inset Quotes erd
18042 \begin_inset Quotes eld
18046 \begin_inset Quotes erd
18049 of the new class of floats, like program or algorithm.
18050 After the appropriate
18051 \begin_inset Flex Code
18054 \begin_layout Plain Layout
18063 \begin_inset Flex Code
18066 \begin_layout Plain Layout
18075 \begin_inset Flex Code
18078 \begin_layout Plain Layout
18089 \begin_layout Description
18090 \begin_inset Flex Code
18093 \begin_layout Plain Layout
18100 \begin_inset Flex Code
18103 \begin_layout Plain Layout
18110 \begin_inset space \thinspace{}
18114 \begin_inset Flex Code
18117 \begin_layout Plain Layout
18125 ] Specifies whether this float is defined using the \SpecialChar LaTeX
18127 \begin_inset Flex Code
18130 \begin_layout Plain Layout
18136 , either by the class file, another package or on-the-fly by \SpecialChar LyX
18140 \begin_layout Standard
18141 Note that defining a float with type
18142 \begin_inset Flex Code
18145 \begin_layout Plain Layout
18153 automatically defines the corresponding counter with name
18154 \begin_inset Flex Code
18157 \begin_layout Plain Layout
18168 \begin_layout Subsection
18169 Flex insets and InsetLayout
18170 \begin_inset CommandInset label
18172 name "subsec:Flex-insets-and"
18179 \begin_layout Standard
18180 Flex insets come in three different kinds:
18183 \begin_layout Itemize
18185 \begin_inset Flex Code
18188 \begin_layout Plain Layout
18194 ): These define semantic markup corresponding to such \SpecialChar LaTeX
18196 \begin_inset Flex Code
18199 \begin_layout Plain Layout
18208 \begin_inset Flex Code
18211 \begin_layout Plain Layout
18222 \begin_layout Itemize
18224 \begin_inset Flex Code
18227 \begin_layout Plain Layout
18233 ): These can be used to define custom collapsible insets, similar to \SpecialChar TeX
18235 footnote, and the like.
18236 An obvious example is an endnote inset, which is defined in the
18237 \begin_inset Flex Code
18240 \begin_layout Plain Layout
18249 \begin_layout Itemize
18251 \begin_inset Flex Code
18254 \begin_layout Plain Layout
18260 ): For use with DocBook classes.
18263 \begin_layout Standard
18264 Flex insets are defined using the
18265 \begin_inset Flex Code
18268 \begin_layout Plain Layout
18274 tag, which shall be explained in a moment.
18277 \begin_layout Standard
18279 \begin_inset Flex Code
18282 \begin_layout Plain Layout
18288 tag also serves another function: It can be used to customize the general
18289 layout of many different types of insets.
18291 \begin_inset Flex Code
18294 \begin_layout Plain Layout
18300 can be used to customize the layout parameters for footnotes, marginal
18301 notes, note insets, \SpecialChar TeX
18302 code (ERT) insets, branches, listings, indexes, boxes,
18303 tables, algorithms, URLs, and captions, as well as to define Flex insets.
18306 \begin_layout Standard
18308 \begin_inset Flex Code
18311 \begin_layout Plain Layout
18317 definition must begin with a line of the form:
18320 \begin_layout LyX-Code
18324 \begin_layout Standard
18326 \begin_inset Flex Code
18329 \begin_layout Plain Layout
18335 indicates the inset whose layout is being defined, and here there are four
18339 \begin_layout Enumerate
18340 The layout for a pre-existing inset is being modified.
18341 In this case, can be
18342 \begin_inset Flex Code
18345 \begin_layout Plain Layout
18351 any one of the following:
18352 \begin_inset Flex Code
18355 \begin_layout Plain Layout
18362 \begin_inset Flex Code
18365 \begin_layout Plain Layout
18372 \begin_inset Flex Code
18375 \begin_layout Plain Layout
18382 \begin_inset Flex Code
18385 \begin_layout Plain Layout
18392 \begin_inset Flex Code
18395 \begin_layout Plain Layout
18402 \begin_inset Flex Code
18405 \begin_layout Plain Layout
18412 \begin_inset Flex Code
18415 \begin_layout Plain Layout
18422 \begin_inset Flex Code
18425 \begin_layout Plain Layout
18432 \begin_inset Flex Code
18435 \begin_layout Plain Layout
18442 \begin_inset Flex Code
18445 \begin_layout Plain Layout
18452 \begin_inset Flex Code
18455 \begin_layout Plain Layout
18462 \begin_inset Flex Code
18465 \begin_layout Plain Layout
18472 \begin_inset Flex Code
18475 \begin_layout Plain Layout
18482 \begin_inset Flex Code
18485 \begin_layout Plain Layout
18492 \begin_inset Flex Code
18495 \begin_layout Plain Layout
18502 \begin_inset Flex Code
18505 \begin_layout Plain Layout
18512 \begin_inset Flex Code
18515 \begin_layout Plain Layout
18522 \begin_inset Flex Code
18525 \begin_layout Plain Layout
18532 \begin_inset Flex Code
18535 \begin_layout Plain Layout
18542 \begin_inset Flex Code
18545 \begin_layout Plain Layout
18554 \begin_layout Enumerate
18555 The layout for a Flex inset is being defined.
18557 \begin_inset Flex Code
18560 \begin_layout Plain Layout
18566 must be of the form
18567 \begin_inset Quotes eld
18571 \begin_inset Flex Code
18574 \begin_layout Plain Layout
18581 \begin_inset Quotes erd
18585 \begin_inset Flex Code
18588 \begin_layout Plain Layout
18594 may be be any valid identifier not used by a pre-existing Flex inset.
18595 The identifier may include spaces, but in that case the whole thing must
18596 be wrapped in quotes.
18597 Note that the definition of a flex inset
18602 \begin_inset Flex Code
18605 \begin_layout Plain Layout
18611 entry, declaring which type of inset it defines.
18614 \begin_layout Enumerate
18615 The layout for user specific branch is being defined.
18617 \begin_inset Flex Code
18620 \begin_layout Plain Layout
18626 must be of the form
18627 \begin_inset Quotes eld
18631 \begin_inset Flex Code
18634 \begin_layout Plain Layout
18641 \begin_inset Quotes erd
18645 \begin_inset Flex Code
18648 \begin_layout Plain Layout
18654 may be be any valid identifier of branch defined in user's document.
18655 The identifier may include spaces, but in that case the whole thing must
18656 be wrapped in quotes.
18657 The main purpose of this feature is to allow \SpecialChar LaTeX
18658 wrapping around specific
18659 branches as user needs.
18662 \begin_layout Enumerate
18663 The layout of a user (or class) specific caption is being defined.
18665 \begin_inset Flex Code
18668 \begin_layout Plain Layout
18674 must be of the form
18675 \begin_inset Quotes eld
18679 \begin_inset Flex Code
18682 \begin_layout Plain Layout
18689 \begin_inset Quotes erd
18693 \begin_inset Flex Code
18696 \begin_layout Plain Layout
18702 specifies the name of the caption as it appears in the menu.
18703 Have a look at the standard caption (
18704 \begin_inset Flex Code
18707 \begin_layout Plain Layout
18713 ), the specific captions of the KOMA-Script classes (
18714 \begin_inset Flex Code
18717 \begin_layout Plain Layout
18724 \begin_inset Flex Code
18727 \begin_layout Plain Layout
18736 \begin_inset space ~
18740 \begin_inset Newline linebreak
18746 \begin_inset Flex Code
18749 \begin_layout Plain Layout
18755 ) for applications.
18758 \begin_layout Standard
18760 \begin_inset Flex Code
18763 \begin_layout Plain Layout
18769 definition can contain the following entries:
18772 \begin_layout Description
18773 \begin_inset Flex Code
18776 \begin_layout Plain Layout
18783 \begin_inset Flex Code
18786 \begin_layout Plain Layout
18792 =""] This inset will appear in the table of contents of the given type.
18793 An empty string disables.
18794 See also the OutlinerName and the IsTocCaption commands.
18795 This is only implemented for Flex insets.
18799 \begin_layout Description
18800 \begin_inset Flex Code
18803 \begin_layout Plain Layout
18810 \begin_inset Flex Code
18813 \begin_layout Plain Layout
18819 ] Defines argument number of a command\SpecialChar breakableslash
18820 environment associated with the current
18822 The definition must end with
18823 \begin_inset Flex Code
18826 \begin_layout Plain Layout
18834 \begin_inset CommandInset ref
18836 reference "subsec:Paragraph-Styles"
18843 \begin_layout Description
18844 \begin_inset Flex Code
18847 \begin_layout Plain Layout
18853 Preamble for changing language commands; see
18854 \begin_inset CommandInset ref
18856 reference "subsec:I18n"
18863 \begin_layout Description
18864 \begin_inset Flex Code
18867 \begin_layout Plain Layout
18874 \begin_inset Flex Code
18877 \begin_layout Plain Layout
18883 ] The color for the inset's background.
18885 \begin_inset CommandInset ref
18887 reference "chap:Names-of-colors"
18891 for a list of the available color names.
18894 \begin_layout Description
18895 \begin_inset Flex Code
18898 \begin_layout Plain Layout
18905 \begin_inset Flex Code
18908 \begin_layout Plain Layout
18917 \begin_inset space \thinspace{}
18921 \begin_inset Flex Code
18924 \begin_layout Plain Layout
18930 ] Whether to use the content of the inset as the label, when the inset is
18935 \begin_layout Description
18936 \begin_inset Flex Code
18939 \begin_layout Plain Layout
18946 \begin_inset Flex Code
18949 \begin_layout Plain Layout
18955 ] As with paragraph styles, see
18956 \begin_inset CommandInset ref
18958 reference "subsec:Paragraph-Styles"
18963 Note that you need to specify the complete type, e.
18964 \begin_inset space \thinspace{}
18968 \begin_inset space ~
18972 \begin_inset Flex Code
18975 \begin_layout Plain Layout
18976 CopyStyle Flex:<name>
18984 \begin_layout Description
18985 \begin_inset Flex Code
18988 \begin_layout Plain Layout
18995 \begin_inset Flex Code
18998 \begin_layout Plain Layout
19007 \begin_inset space \thinspace{}
19011 \begin_inset Flex Code
19014 \begin_layout Plain Layout
19020 ] Indicates whether the user may employ the Paragraph Settings dialog to
19021 customize the paragraph.
19024 \begin_layout Description
19025 \begin_inset Flex Code
19028 \begin_layout Plain Layout
19035 \begin_inset Flex Code
19038 \begin_layout Plain Layout
19045 \begin_inset Flex Code
19048 \begin_layout Plain Layout
19055 \begin_inset Flex Code
19058 \begin_layout Plain Layout
19064 , describing the rendering style used for the inset's frame and buttons.
19065 Footnotes generally use
19066 \begin_inset Flex Code
19069 \begin_layout Plain Layout
19075 , ERT insets generally
19076 \begin_inset Flex Code
19079 \begin_layout Plain Layout
19085 , and character styles
19086 \begin_inset Flex Code
19089 \begin_layout Plain Layout
19098 \begin_layout Description
19099 \begin_inset Flex Code
19102 \begin_layout Plain Layout
19109 \begin_inset Flex Code
19112 \begin_layout Plain Layout
19121 \begin_inset space \thinspace{}
19127 \begin_inset Flex Code
19130 \begin_layout Plain Layout
19139 \begin_inset Flex Code
19142 \begin_layout Plain Layout
19149 \begin_inset Flex Code
19152 \begin_layout Plain Layout
19159 Indicates whether the environment will stand on its own in the output or
19160 will appear inline with the surrounding text.
19161 If set to false, it is supposed that the \SpecialChar LaTeX
19162 environment ignores white space
19163 (including one newline character) after the
19164 \begin_inset Flex Code
19167 \begin_layout Plain Layout
19180 \begin_inset Flex Code
19183 \begin_layout Plain Layout
19197 \change_inserted 731793113 1538674858
19201 \begin_layout Description
19203 \change_inserted 731793113 1538674891
19204 \begin_inset Flex Code
19207 \begin_layout Plain Layout
19209 \change_inserted 731793113 1538674863
19221 ,1] Allow the contents of the inset to be edited externally (using whatever
19222 editor is defined for the document's output format).
19227 \begin_layout Description
19228 \begin_inset Flex Code
19231 \begin_layout Plain Layout
19237 Required at the end of the
19238 \begin_inset Flex Code
19241 \begin_layout Plain Layout
19250 \begin_layout Description
19251 \begin_inset Flex Code
19254 \begin_layout Plain Layout
19260 The font used for both the text body
19266 \begin_inset CommandInset ref
19268 reference "subsec:Font-description"
19273 Note that defining this font automatically defines the
19274 \begin_inset Flex Code
19277 \begin_layout Plain Layout
19283 to the same value, so define this first and define
19284 \begin_inset Flex Code
19287 \begin_layout Plain Layout
19293 later if you want them to be different.
19296 \begin_layout Description
19297 \begin_inset Flex Code
19300 \begin_layout Plain Layout
19301 FixedWidthPreambleEncoding
19307 \begin_inset Flex Code
19310 \begin_layout Plain Layout
19319 \begin_inset space \thinspace{}
19323 \begin_inset Flex Code
19326 \begin_layout Plain Layout
19332 ] Force a fixed width encoding for the translated contents of
19333 \begin_inset Flex Code
19336 \begin_layout Plain Layout
19343 \begin_inset Flex Code
19346 \begin_layout Plain Layout
19352 code generated by this layout.
19353 This is needed for special \SpecialChar LaTeX
19358 that do not work with variable width encodings such as
19363 This setting is ignored if fully Unicode aware \SpecialChar LaTeX
19364 backends such as Xe\SpecialChar TeX
19366 Lua\SpecialChar TeX
19370 \begin_layout Description
19371 \begin_inset Flex Code
19374 \begin_layout Plain Layout
19375 ForceLocalFontSwitch
19381 \begin_inset Flex Code
19384 \begin_layout Plain Layout
19393 \begin_inset space \thinspace{}
19397 \begin_inset Flex Code
19400 \begin_layout Plain Layout
19406 ] When using babel, always use a local font switch (
19407 \begin_inset Flex Code
19410 \begin_layout Plain Layout
19418 ), never a global one (such as
19419 \begin_inset Flex Code
19422 \begin_layout Plain Layout
19433 \begin_layout Description
19434 \begin_inset Flex Code
19437 \begin_layout Plain Layout
19444 \begin_inset Flex Code
19447 \begin_layout Plain Layout
19456 \begin_inset space \thinspace{}
19460 \begin_inset Flex Code
19463 \begin_layout Plain Layout
19470 \begin_inset Quotes eld
19474 \begin_inset Quotes erd
19477 language, leading to Left-to-Right (Latin) output, e.
19478 \begin_inset space \thinspace{}
19482 \begin_inset space \space{}
19485 in \SpecialChar TeX
19490 \begin_layout Description
19491 \begin_inset Flex Code
19494 \begin_layout Plain Layout
19501 \begin_inset Flex Code
19504 \begin_layout Plain Layout
19513 \begin_inset space \thinspace{}
19517 \begin_inset Flex Code
19520 \begin_layout Plain Layout
19526 ] Force a a line break in the \SpecialChar LaTeX
19527 output before the inset starts and after
19529 This assures the inset itself is output on its own lines, for parsing purposes.
19532 \begin_layout Description
19533 \begin_inset Flex Code
19536 \begin_layout Plain Layout
19543 \begin_inset Flex Code
19546 \begin_layout Plain Layout
19555 \begin_inset space \thinspace{}
19559 \begin_inset Flex Code
19562 \begin_layout Plain Layout
19568 ] Indicates whether the
19569 \begin_inset Flex Code
19572 \begin_layout Plain Layout
19578 should be used or, instead, the user can change the paragraph style used
19583 \begin_layout Description
19584 \begin_inset Flex Code
19587 \begin_layout Plain Layout
19594 \begin_inset Flex Code
19597 \begin_layout Plain Layout
19606 \begin_inset space \thinspace{}
19610 \begin_inset Flex Code
19613 \begin_layout Plain Layout
19619 ] As with paragraph styles, see
19620 \begin_inset CommandInset ref
19622 reference "subsec:Paragraph-Styles"
19629 \begin_layout Description
19630 \begin_inset Flex Code
19633 \begin_layout Plain Layout
19639 These tags control the XHTML output.
19641 \begin_inset CommandInset ref
19643 reference "sec:Tags-for-XHTML"
19650 \begin_layout Description
19651 \begin_inset Flex Code
19654 \begin_layout Plain Layout
19661 \begin_inset Flex Code
19664 \begin_layout Plain Layout
19673 \begin_inset space \thinspace{}
19677 \begin_inset Flex Code
19680 \begin_layout Plain Layout
19686 ] Whether to include the contents of this inset in the strings generated
19687 for the `Outline' pane for all table of contents, regardless of the AddToToc
19689 One would not, for example, want the content of a footnote in a section
19690 header to be included in the TOC displayed in the outline, but one would
19691 normally want the content of a character style displayed.
19692 Default is false: not to include.
19695 \begin_layout Description
19696 \begin_inset Flex Code
19699 \begin_layout Plain Layout
19706 \begin_inset Flex Code
19709 \begin_layout Plain Layout
19718 \begin_inset space \thinspace{}
19722 \begin_inset Flex Code
19725 \begin_layout Plain Layout
19731 ] If this is set to 1 and AddToToc is enabled, the inset adds a summary
19732 of its contents in its item in the table of contents.
19733 Otherwise, only the label appears.
19736 \begin_layout Description
19737 \begin_inset Flex Code
19740 \begin_layout Plain Layout
19749 \begin_inset Flex Code
19752 \begin_layout Plain Layout
19761 \begin_inset space \thinspace{}
19765 \begin_inset Flex Code
19768 \begin_layout Plain Layout
19774 ] As with paragraph styles, see
19775 \begin_inset CommandInset ref
19777 reference "subsec:Paragraph-Styles"
19784 \begin_layout Description
19785 \begin_inset Flex Code
19788 \begin_layout Plain Layout
19794 The font used for the label.
19796 \begin_inset CommandInset ref
19798 reference "subsec:Font-description"
19803 Note that this definition can never appear before
19804 \begin_inset Flex Code
19807 \begin_layout Plain Layout
19813 , lest it be ineffective.
19816 \begin_layout Description
19817 \begin_inset Flex Code
19820 \begin_layout Plain Layout
19827 \begin_inset Flex Code
19830 \begin_layout Plain Layout
19837 \begin_inset Quotes erd
19841 \begin_inset Quotes erd
19844 ] What will be displayed on the button or elsewhere as the inset label.
19846 \begin_inset Flex Code
19849 \begin_layout Plain Layout
19857 \begin_inset Flex Code
19860 \begin_layout Plain Layout
19866 ) modify this label on the fly.
19869 \begin_layout Description
19870 \begin_inset Flex Code
19873 \begin_layout Plain Layout
19879 Language dependent preamble; see
19880 \begin_inset CommandInset ref
19882 reference "subsec:I18n"
19889 \begin_layout Description
19890 \begin_inset Flex Code
19893 \begin_layout Plain Layout
19900 \begin_inset Flex Code
19903 \begin_layout Plain Layout
19909 ] The name of the corresponding \SpecialChar LaTeX
19911 Either the environment or command name.
19914 \begin_layout Description
19915 \begin_inset Flex Code
19918 \begin_layout Plain Layout
19925 \begin_inset Flex Code
19928 \begin_layout Plain Layout
19934 ] The optional parameter for the corresponding
19935 \begin_inset Flex Code
19938 \begin_layout Plain Layout
19944 stuff, including possible bracket pairs like
19945 \begin_inset Flex Code
19948 \begin_layout Plain Layout
19955 This parameter cannot be changed from within \SpecialChar LyX
19957 \begin_inset Flex Code
19960 \begin_layout Plain Layout
19966 for customizable parameters).
19967 It will be output as is after all \SpecialChar LaTeX
19969 \begin_inset Flex Code
19972 \begin_layout Plain Layout
19981 \begin_layout Description
19982 \begin_inset Flex Code
19985 \begin_layout Plain Layout
19992 \begin_inset Flex Code
19995 \begin_layout Plain Layout
19996 Command, Environment, None
20001 ] How the style should be translated into \SpecialChar LaTeX
20006 \begin_layout Plain Layout
20007 \begin_inset Flex Code
20010 \begin_layout Plain Layout
20016 is perhaps a bit misleading, since these rules apply to SGML classes too.
20017 Visit the SGML class files for specific examples.
20026 \begin_layout Description
20027 \begin_inset Flex Code
20030 \begin_layout Plain Layout
20036 means nothing special
20039 \begin_layout Description
20040 \begin_inset Flex Code
20043 \begin_layout Plain Layout
20050 \begin_inset Flex Code
20053 \begin_layout Plain Layout
20060 {\SpecialChar ldots
20069 \begin_layout Description
20070 \begin_inset Flex Code
20073 \begin_layout Plain Layout
20080 \begin_inset Flex Code
20083 \begin_layout Plain Layout
20090 }\SpecialChar ldots
20105 \begin_layout Standard
20106 Putting the last few things together, the \SpecialChar LaTeX
20107 output will be either:
20110 \begin_layout LyX-Code
20113 LatexName[LatexParam]{\SpecialChar ldots
20117 \begin_layout Standard
20121 \begin_layout LyX-Code
20124 begin{LatexName}[LatexParam] \SpecialChar ldots
20130 \begin_layout Standard
20131 depending upon the \SpecialChar LaTeX
20136 \begin_layout Description
20137 \begin_inset Flex Code
20140 \begin_layout Plain Layout
20147 \begin_inset Flex Code
20150 \begin_layout Plain Layout
20156 ] A string that is put at the beginning of the layout content.
20157 A line break in the output can be indicated by
20158 \begin_inset Flex Code
20161 \begin_layout Plain Layout
20170 \begin_layout Description
20171 \begin_inset Flex Code
20174 \begin_layout Plain Layout
20181 \begin_inset Flex Code
20184 \begin_layout Plain Layout
20191 \begin_inset Flex Code
20194 \begin_layout Plain Layout
20201 \begin_inset Flex Code
20204 \begin_layout Plain Layout
20211 \begin_inset Flex Code
20214 \begin_layout Plain Layout
20220 (indicating a dummy definition ending definitions of charstyles, etc).
20221 This entry is required in and is only meaningful for Flex insets.
20222 Among other things, it determines on which menu this inset will appear.
20224 \begin_inset Flex Code
20227 \begin_layout Plain Layout
20234 \begin_inset Flex Code
20237 \begin_layout Plain Layout
20243 will automatically set
20244 \begin_inset Flex Code
20247 \begin_layout Plain Layout
20254 \begin_inset Flex Code
20257 \begin_layout Plain Layout
20265 \begin_inset Flex Code
20268 \begin_layout Plain Layout
20274 can be set to true, or
20275 \begin_inset Flex Code
20278 \begin_layout Plain Layout
20285 \begin_inset Flex Code
20288 \begin_layout Plain Layout
20294 insets by setting it
20299 \begin_inset Flex Code
20302 \begin_layout Plain Layout
20309 \change_inserted -712698321 1555575738
20313 \begin_layout Description
20315 \change_inserted -712698321 1555575844
20316 \begin_inset Flex Code
20319 \begin_layout Plain Layout
20321 \change_inserted -712698321 1555575740
20328 \begin_inset Flex Code
20331 \begin_layout Plain Layout
20333 \change_inserted -712698321 1555575740
20339 A dedicated string for the menu.
20340 You can define an accelerator by appending the respective character to
20341 the string, divided by
20342 \begin_inset Quotes eld
20346 \begin_inset Quotes erd
20350 \begin_inset space \thinspace{}
20354 \begin_inset space \space{}
20358 \begin_inset Quotes eld
20362 \begin_inset Flex Code
20365 \begin_layout Plain Layout
20367 \change_inserted -712698321 1555575781
20374 \begin_inset Quotes erd
20378 This specification is optional.
20379 If it is not given the inset name as specified in the type declaration
20380 will be used instead for the menu.
20385 \begin_layout Description
20386 \begin_inset Flex Code
20389 \begin_layout Plain Layout
20396 \begin_inset Flex Code
20399 \begin_layout Plain Layout
20408 \begin_inset space \thinspace{}
20412 \begin_inset Flex Code
20415 \begin_layout Plain Layout
20421 ] Whether multiple paragraphs are permitted in this inset.
20423 \begin_inset Flex Code
20426 \begin_layout Plain Layout
20432 to the same value and
20433 \begin_inset Flex Code
20436 \begin_layout Plain Layout
20442 to the opposite value.
20443 These can be reset to other values, if they are used
20448 \begin_inset Flex Code
20451 \begin_layout Plain Layout
20461 \begin_layout Description
20462 \begin_inset Flex Code
20465 \begin_layout Plain Layout
20472 \begin_inset Flex Code
20475 \begin_layout Plain Layout
20484 \begin_inset space \thinspace{}
20488 \begin_inset Flex Code
20491 \begin_layout Plain Layout
20497 ] Whether fragile commands in this inset should be
20498 \begin_inset Flex Code
20501 \begin_layout Plain Layout
20514 whether the command should itself be protected.) Default is false.
20515 \change_inserted -712698321 1523633958
20519 \begin_layout Description
20521 \change_inserted -712698321 1552395786
20522 \begin_inset Flex Code
20525 \begin_layout Plain Layout
20527 \change_inserted -712698321 1523633961
20534 \begin_inset Flex Code
20537 \begin_layout Plain Layout
20539 \change_inserted -712698321 1523633958
20548 \begin_inset space \thinspace{}
20552 \begin_inset Flex Code
20555 \begin_layout Plain Layout
20557 \change_inserted -712698321 1523633958
20563 ] This causes macros that contain this inset to be protected with
20564 \begin_inset Flex Code
20567 \begin_layout Plain Layout
20569 \change_inserted -712698321 1523634038
20584 ) if necessary and thus allows (some) verbatim stuff in macros.
20588 \begin_layout Description
20590 \change_inserted -712698321 1555579651
20591 \begin_inset Flex Code
20594 \begin_layout Plain Layout
20596 \change_inserted -712698321 1552395787
20603 \begin_inset Flex Code
20606 \begin_layout Plain Layout
20608 \change_inserted -712698321 1552395787
20617 \begin_inset space \thinspace{}
20621 \begin_inset Flex Code
20624 \begin_layout Plain Layout
20626 \change_inserted -712698321 1552395787
20632 ] Whether specific commands in this inset (such as
20633 \begin_inset Flex Code
20636 \begin_layout Plain Layout
20638 \change_inserted -712698321 1552395787
20647 \begin_inset Flex Code
20650 \begin_layout Plain Layout
20652 \change_inserted -712698321 1552395787
20660 ) should be protected in an
20661 \begin_inset Flex Code
20664 \begin_layout Plain Layout
20666 \change_inserted -712698321 1552395787
20675 This is particularly needed for insets that draw on
20683 commands which parse their content in complex ways.
20687 \begin_layout Description
20689 \change_inserted -712698321 1555579742
20690 \begin_inset Flex Code
20693 \begin_layout Plain Layout
20695 \change_inserted -712698321 1555579658
20702 \begin_inset Flex Code
20705 \begin_layout Plain Layout
20707 \change_inserted -712698321 1555579651
20713 Option to define a different command (from the default
20714 \begin_inset Flex Code
20717 \begin_layout Plain Layout
20719 \change_inserted -712698321 1555579742
20731 ) to be used for line breaks.
20732 The initial backslash must not be specified.
20737 \begin_layout Description
20738 \begin_inset Flex Code
20741 \begin_layout Plain Layout
20748 \begin_inset Flex Code
20751 \begin_layout Plain Layout
20757 ] Deletes an existing
20758 \begin_inset Flex Code
20761 \begin_layout Plain Layout
20770 \begin_layout Description
20771 \begin_inset Flex Code
20774 \begin_layout Plain Layout
20781 \begin_inset Flex Code
20784 \begin_layout Plain Layout
20791 \begin_inset Flex Code
20794 \begin_layout Plain Layout
20800 that has replaced this
20801 \begin_inset Flex Code
20804 \begin_layout Plain Layout
20811 This is used to rename an
20812 \begin_inset Flex Code
20815 \begin_layout Plain Layout
20821 , while keeping backward compatibility.
20824 \begin_layout Description
20825 \begin_inset Flex Code
20828 \begin_layout Plain Layout
20835 \begin_inset Flex Code
20838 \begin_layout Plain Layout
20847 \begin_inset space \thinspace{}
20851 \begin_inset Flex Code
20854 \begin_layout Plain Layout
20860 ] As with paragraph styles, see
20861 \begin_inset CommandInset ref
20863 reference "subsec:Paragraph-Styles"
20871 \begin_layout Description
20872 \begin_inset Flex Code
20875 \begin_layout Plain Layout
20882 \begin_inset Flex Code
20885 \begin_layout Plain Layout
20894 \begin_inset space \thinspace{}
20898 \begin_inset Flex Code
20901 \begin_layout Plain Layout
20907 ] As with paragraph styles, see
20908 \begin_inset CommandInset ref
20910 reference "subsec:Paragraph-Styles"
20918 \begin_layout Description
20919 \begin_inset Flex Code
20922 \begin_layout Plain Layout
20928 As with paragraph styles, see
20929 \begin_inset CommandInset ref
20931 reference "subsec:Paragraph-Styles"
20938 \begin_layout Description
20939 \begin_inset Flex Code
20942 \begin_layout Plain Layout
20949 \begin_inset Flex Code
20952 \begin_layout Plain Layout
20958 ] The prefix to use when creating labels referring to insets of this type.
20959 This allows the use of formatted references.
20962 \begin_layout Description
20963 \begin_inset Flex Code
20966 \begin_layout Plain Layout
20973 \begin_inset Flex Code
20976 \begin_layout Plain Layout
20982 ] As with paragraph styles, see
20983 \begin_inset CommandInset ref
20985 reference "subsec:Paragraph-Styles"
20992 \begin_layout Description
20993 \begin_inset Flex Code
20996 \begin_layout Plain Layout
21003 \begin_inset Flex Code
21006 \begin_layout Plain Layout
21015 \begin_inset space \thinspace{}
21019 \begin_inset Flex Code
21022 \begin_layout Plain Layout
21028 ] Resets the \SpecialChar LaTeX
21029 arguments of this layout (as defined via the
21030 \begin_inset Flex Code
21033 \begin_layout Plain Layout
21040 This is useful if you have copied a style via
21041 \begin_inset Flex Code
21044 \begin_layout Plain Layout
21050 , but you do not want to inherit its (required and optional) arguments.
21053 \begin_layout Description
21054 \begin_inset Flex Code
21057 \begin_layout Plain Layout
21064 \begin_inset Flex Code
21067 \begin_layout Plain Layout
21074 \begin_inset space \thinspace{}
21078 \begin_inset Flex Code
21081 \begin_layout Plain Layout
21089 ] Whether this inset should use the font of its surrounding environment
21091 Default is false: use the font of the surrounding environment.
21094 \begin_layout Description
21095 \begin_inset Flex Code
21098 \begin_layout Plain Layout
21105 \begin_inset Flex Code
21108 \begin_layout Plain Layout
21114 ] A string that is put at the end of the layout content.
21115 A line break in the output can be indicated by
21116 \begin_inset Flex Code
21119 \begin_layout Plain Layout
21128 \begin_layout Description
21129 \begin_inset Flex Code
21132 \begin_layout Plain Layout
21139 \begin_inset Flex Code
21142 \begin_layout Plain Layout
21149 \begin_inset space \thinspace{}
21153 \begin_inset Flex Code
21156 \begin_layout Plain Layout
21164 ] Allow spell-checking the contents of this inset.
21168 \begin_layout Subsection
21170 \begin_inset CommandInset label
21172 name "subsec:Counters"
21179 \begin_layout Standard
21180 It is necessary to define the counters (
21181 \begin_inset Flex Noun
21184 \begin_layout Plain Layout
21191 \begin_inset Flex Noun
21194 \begin_layout Plain Layout
21200 , \SpecialChar ldots
21201 ) in the text class itself.
21202 The standard counters are defined in the file
21203 \begin_inset Flex Code
21206 \begin_layout Plain Layout
21212 , so you may have to do no more than add
21215 \begin_layout LyX-Code
21216 Input stdcounters.inc
21219 \begin_layout Standard
21220 to your layout file to get them to work.
21221 But if you want to define custom counters, then you can do so.
21222 The counter declaration must begin with:
21225 \begin_layout LyX-Code
21226 Counter CounterName
21229 \begin_layout Standard
21231 \begin_inset Flex Code
21234 \begin_layout Plain Layout
21240 ' is replaced by the name of the counter.
21241 And it must end with
21242 \begin_inset Quotes eld
21246 \begin_inset Flex Code
21249 \begin_layout Plain Layout
21256 \begin_inset Quotes erd
21260 The following parameters can also be used:
21263 \begin_layout Description
21264 \begin_inset Flex Code
21267 \begin_layout Plain Layout
21274 \begin_inset Flex Code
21277 \begin_layout Plain Layout
21283 ] Sets the initial value for the counter, to which it will be reset whenever
21285 Normally, one will want the default, 1.
21288 \begin_layout Description
21289 \begin_inset Flex Code
21292 \begin_layout Plain Layout
21299 \begin_inset Flex Code
21302 \begin_layout Plain Layout
21309 \begin_inset Quotes erd
21313 \begin_inset Quotes erd
21316 ] When defined, this string defines how the counter is displayed.
21317 Setting this value sets
21318 \begin_inset Flex Code
21321 \begin_layout Plain Layout
21322 LabelStringAppendix
21328 The following special constructs can be used in the string:
21332 \begin_layout Itemize
21333 \begin_inset Flex Code
21336 \begin_layout Plain Layout
21344 will be replaced by the expansion of the
21345 \begin_inset Flex Code
21348 \begin_layout Plain Layout
21355 \begin_inset Flex Code
21358 \begin_layout Plain Layout
21359 LabelStringAppendix
21365 \begin_inset Flex Code
21368 \begin_layout Plain Layout
21378 \begin_layout Itemize
21379 counter values can be expressed using \SpecialChar LaTeX
21381 \begin_inset Newline newline
21385 \begin_inset Flex Code
21388 \begin_layout Plain Layout
21405 \begin_inset Flex Code
21408 \begin_layout Plain Layout
21420 \begin_layout Plain Layout
21430 Actually, the situation is a bit more complicated: any
21449 other than those described below will produce arabic numerals.
21450 It would not be surprising to see this change in the future.
21456 \begin_inset Flex Code
21459 \begin_layout Plain Layout
21465 : 1, 2, 3,\SpecialChar ldots
21467 \begin_inset Flex Code
21470 \begin_layout Plain Layout
21476 for lower-case letters: a, b, c, \SpecialChar ldots
21478 \begin_inset Flex Code
21481 \begin_layout Plain Layout
21487 for upper-case letters: A, B, C, \SpecialChar ldots
21489 \begin_inset Flex Code
21492 \begin_layout Plain Layout
21498 for lower-case roman numerals: i, ii, iii, \SpecialChar ldots
21500 \begin_inset Flex Code
21503 \begin_layout Plain Layout
21509 for upper-case roman numerals: I, II, III\SpecialChar ldots
21511 \begin_inset Flex Code
21514 \begin_layout Plain Layout
21520 for hebrew numerals.
21524 \begin_layout Standard
21525 If LabelString is not defined, a default value is constructed as follows:
21526 if the counter has a master counter
21527 \begin_inset Flex Code
21530 \begin_layout Plain Layout
21537 \begin_inset Flex Code
21540 \begin_layout Plain Layout
21547 \begin_inset Newline newline
21551 \begin_inset Flex Code
21554 \begin_layout Plain Layout
21564 is used; otherwise the string
21565 \begin_inset Flex Code
21568 \begin_layout Plain Layout
21579 \begin_layout Description
21580 \begin_inset Flex Code
21583 \begin_layout Plain Layout
21584 LabelStringAppendix
21590 \begin_inset Flex Code
21593 \begin_layout Plain Layout
21600 \begin_inset Quotes erd
21604 \begin_inset Quotes erd
21608 \begin_inset Flex Code
21611 \begin_layout Plain Layout
21617 , but for use in the Appendix.
21620 \begin_layout Description
21621 \begin_inset Flex Code
21624 \begin_layout Plain Layout
21631 \begin_inset Flex Code
21634 \begin_layout Plain Layout
21641 \begin_inset Quotes erd
21645 \begin_inset Quotes erd
21648 ] A format for use with formatted references to this counter.
21649 For example, one might want to have references to section numbers appear
21651 \begin_inset Quotes eld
21655 \begin_inset Quotes erd
21659 The string should contain
21660 \begin_inset Quotes eld
21664 \begin_inset Quotes erd
21668 This will be replaced by the counter number itself.
21669 So, for sections, it would be: Section ##.
21672 \begin_layout Description
21673 \begin_inset Flex Code
21676 \begin_layout Plain Layout
21683 \begin_inset Flex Code
21686 \begin_layout Plain Layout
21693 \begin_inset Quotes erd
21697 \begin_inset Quotes erd
21700 ] If this is set to the name of another counter, the present counter will
21701 be reset every time the other one is increased.
21703 \begin_inset Flex Code
21706 \begin_layout Plain Layout
21713 \begin_inset Flex Code
21716 \begin_layout Plain Layout
21725 \begin_layout Subsection
21727 \begin_inset CommandInset label
21729 name "subsec:Font-description"
21736 \begin_layout Standard
21737 A font description looks like this:
21740 \begin_layout LyX-Code
21757 \begin_layout LyX-Code
21761 \begin_layout LyX-Code
21765 \begin_layout Standard
21766 The following commands are available:
21769 \begin_layout Description
21770 \begin_inset Flex Code
21773 \begin_layout Plain Layout
21780 \begin_inset Flex Code
21783 \begin_layout Plain Layout
21792 \begin_inset Flex Code
21795 \begin_layout Plain Layout
21802 \begin_inset Flex Code
21805 \begin_layout Plain Layout
21812 \begin_inset Flex Code
21815 \begin_layout Plain Layout
21822 \begin_inset Flex Code
21825 \begin_layout Plain Layout
21832 \begin_inset Flex Code
21835 \begin_layout Plain Layout
21842 \begin_inset Flex Code
21845 \begin_layout Plain Layout
21852 \begin_inset Flex Code
21855 \begin_layout Plain Layout
21862 \begin_inset Flex Code
21865 \begin_layout Plain Layout
21872 \begin_inset Flex Code
21875 \begin_layout Plain Layout
21882 \begin_inset Flex Code
21885 \begin_layout Plain Layout
21892 \begin_inset Flex Code
21895 \begin_layout Plain Layout
21902 \begin_inset Flex Code
21905 \begin_layout Plain Layout
21912 \begin_inset Flex Code
21915 \begin_layout Plain Layout
21922 \begin_inset Flex Code
21925 \begin_layout Plain Layout
21932 \begin_inset Flex Code
21935 \begin_layout Plain Layout
21942 \begin_inset Flex Code
21945 \begin_layout Plain Layout
21952 \begin_inset Flex Code
21955 \begin_layout Plain Layout
21962 \begin_inset Flex Code
21965 \begin_layout Plain Layout
21972 \begin_inset Flex Code
21975 \begin_layout Plain Layout
21984 \begin_layout Description
21985 \begin_inset Flex Code
21988 \begin_layout Plain Layout
21995 \begin_inset Flex Code
21998 \begin_layout Plain Layout
22007 \begin_inset Flex Code
22010 \begin_layout Plain Layout
22017 \begin_inset Flex Code
22020 \begin_layout Plain Layout
22029 \begin_layout Description
22030 \begin_inset Flex Code
22033 \begin_layout Plain Layout
22040 \begin_inset Flex Code
22043 \begin_layout Plain Layout
22049 ] Valid arguments are:
22050 \begin_inset Flex Code
22053 \begin_layout Plain Layout
22060 \begin_inset Flex Code
22063 \begin_layout Plain Layout
22070 \begin_inset Flex Code
22073 \begin_layout Plain Layout
22080 \begin_inset Flex Code
22083 \begin_layout Plain Layout
22090 \begin_inset Flex Code
22093 \begin_layout Plain Layout
22100 \begin_inset Flex Code
22103 \begin_layout Plain Layout
22110 \begin_inset Flex Code
22113 \begin_layout Plain Layout
22120 \begin_inset Flex Code
22123 \begin_layout Plain Layout
22130 \begin_inset Flex Code
22133 \begin_layout Plain Layout
22140 \begin_inset Flex Code
22143 \begin_layout Plain Layout
22150 \begin_inset Flex Code
22153 \begin_layout Plain Layout
22160 \begin_inset Flex Code
22163 \begin_layout Plain Layout
22170 Each of these turns on or off the corresponding attribute.
22172 \begin_inset Flex Code
22175 \begin_layout Plain Layout
22181 turns on emphasis, and
22182 \begin_inset Flex Code
22185 \begin_layout Plain Layout
22193 \begin_inset Newline newline
22196 If the latter seems puzzling, remember that the font settings for the present
22197 context are generally inherited from the surrounding context.
22199 \begin_inset Flex Code
22202 \begin_layout Plain Layout
22208 would turn off the emphasis that was anyway in effect, say, in a theorem
22212 \begin_layout Description
22213 \begin_inset Flex Code
22216 \begin_layout Plain Layout
22223 \begin_inset Flex Code
22226 \begin_layout Plain Layout
22235 \begin_inset Flex Code
22238 \begin_layout Plain Layout
22247 \begin_layout Description
22248 \begin_inset Flex Code
22251 \begin_layout Plain Layout
22258 \begin_inset Flex Code
22261 \begin_layout Plain Layout
22270 \begin_inset Flex Code
22273 \begin_layout Plain Layout
22280 \begin_inset Flex Code
22283 \begin_layout Plain Layout
22290 \begin_inset Flex Code
22293 \begin_layout Plain Layout
22302 \begin_layout Description
22303 \begin_inset Flex Code
22306 \begin_layout Plain Layout
22313 \begin_inset Flex Code
22316 \begin_layout Plain Layout
22323 \begin_inset Flex Code
22326 \begin_layout Plain Layout
22333 \begin_inset Flex Code
22336 \begin_layout Plain Layout
22345 \begin_inset Flex Code
22348 \begin_layout Plain Layout
22355 \begin_inset Flex Code
22358 \begin_layout Plain Layout
22365 \begin_inset Flex Code
22368 \begin_layout Plain Layout
22375 \begin_inset Flex Code
22378 \begin_layout Plain Layout
22385 \begin_inset Flex Code
22388 \begin_layout Plain Layout
22397 \begin_layout Subsection
22398 \begin_inset CommandInset label
22400 name "subsec:Citation-engine-description"
22404 Cite engine description
22407 \begin_layout Standard
22409 \begin_inset Flex Code
22412 \begin_layout Plain Layout
22418 blocks, as used mainly in cite engine files (see
22419 \begin_inset CommandInset ref
22421 reference "subsec:Cite-Engine-Files"
22428 ), define the citation commands provided by a specific
22429 \begin_inset Quotes eld
22433 \begin_inset Quotes erd
22437 A cite engine, in \SpecialChar LyX
22438 terms, is way specific way to format citations, using
22439 numbers, author names and/or years.
22440 Currently, \SpecialChar LyX
22441 supports three such engine types, namely:
22444 \begin_layout Enumerate
22445 \begin_inset Flex Code
22448 \begin_layout Plain Layout
22454 : the default Bib\SpecialChar TeX
22455 way to format citations, a simple numeric style (e.
22456 \begin_inset space \thinspace{}
22460 \begin_inset Quotes eld
22464 \begin_inset Quotes erd
22470 \begin_layout Enumerate
22471 \begin_inset Flex Code
22474 \begin_layout Plain Layout
22480 : Harvard-styled citations using author names and publication year (e.
22481 \begin_inset space \thinspace{}
22485 \begin_inset Quotes eld
22488 Smith and Miller (2017b)
22489 \begin_inset Quotes erd
22495 \begin_layout Enumerate
22496 \begin_inset Flex Code
22499 \begin_layout Plain Layout
22505 : extended numerical citations that also allow for author or title next
22507 \begin_inset space \thinspace{}
22511 \begin_inset Quotes eld
22514 Smith and Miller [1]
22515 \begin_inset Quotes erd
22521 \begin_layout Standard
22522 \begin_inset Flex Code
22525 \begin_layout Plain Layout
22531 blocks look like this:
22534 \begin_layout LyX-Code
22538 \begin_layout LyX-Code
22542 \begin_layout LyX-Code
22546 \begin_layout LyX-Code
22547 citeyearpar[][]=parencite*
22550 \begin_layout LyX-Code
22554 \begin_layout LyX-Code
22558 \begin_layout Standard
22560 \begin_inset Flex Code
22563 \begin_layout Plain Layout
22569 denotes the engine.
22570 The individual lines respectively define a cite command or cite command
22571 paradigm supported by this engine.
22572 The line can be as simple as a cite command that is used both to name the
22573 respective \SpecialChar LyX
22574 command and the \SpecialChar LaTeX
22575 output or more complex in order to differentiate
22577 The full syntax is:
22580 \begin_layout LyX-Code
22581 LyXName|alias$*<!_stardesc!_stardesctooltip>[][]=latexcmd
22584 \begin_layout Itemize
22585 \begin_inset Flex Code
22588 \begin_layout Plain Layout
22594 : The name as used in the
22595 \begin_inset Flex Code
22598 \begin_layout Plain Layout
22608 \begin_layout Standard
22609 For portability reasons, we try to use the same name for same-formatted
22610 commands in different cite packages (thus many names stem from natbib,
22611 and thus we need to differentiate a
22612 \begin_inset Flex Code
22615 \begin_layout Plain Layout
22621 sometimes, if the \SpecialChar LaTeX
22622 command names differ).
22626 \begin_layout Itemize
22627 \begin_inset Flex Code
22630 \begin_layout Plain Layout
22636 : a (comma-separated) list of commands that fall back to the given
22637 \begin_inset Flex Code
22640 \begin_layout Plain Layout
22646 in the current engine.
22647 This eases the switch of citation packages and engines.
22649 \begin_inset Flex Code
22652 \begin_layout Plain Layout
22659 \begin_inset Flex Code
22662 \begin_layout Plain Layout
22668 in layout definitions.
22671 \begin_layout Itemize
22672 \begin_inset Flex Code
22675 \begin_layout Plain Layout
22681 : The actual \SpecialChar LaTeX
22682 command that is output.
22686 \begin_layout Standard
22687 \begin_inset Flex Code
22690 \begin_layout Plain Layout
22697 \begin_inset Flex Code
22700 \begin_layout Plain Layout
22708 \begin_inset Flex Code
22711 \begin_layout Plain Layout
22718 \begin_inset Flex Code
22721 \begin_layout Plain Layout
22727 will be output to \SpecialChar LaTeX
22731 \begin_layout Standard
22735 \begin_layout Itemize
22736 Capitalization indicates that the command also has a capitalized form (
22737 \begin_inset Flex Code
22740 \begin_layout Plain Layout
22750 \begin_inset Flex Code
22753 \begin_layout Plain Layout
22762 These usually enforce up-casing of name prefixes (
22767 \begin_inset Formula $\Rightarrow$
22777 \begin_layout Itemize
22779 \begin_inset Flex Code
22782 \begin_layout Plain Layout
22788 indicate the number of optional arguments (there can be 0–2).
22791 \begin_layout Itemize
22793 \begin_inset Flex Code
22796 \begin_layout Plain Layout
22802 indicates there is a starred version of the command (
22803 \begin_inset Flex Code
22806 \begin_layout Plain Layout
22816 \begin_inset Flex Code
22819 \begin_layout Plain Layout
22832 \begin_layout Standard
22833 By default, the starred version means: Output all authors even if it should
22835 \begin_inset Quotes eld
22839 \begin_inset Quotes erd
22843 \begin_inset Flex Code
22846 \begin_layout Plain Layout
22855 \begin_layout Standard
22856 If the star has a different meaning for a given command, it can be specified
22858 \begin_inset Flex Code
22861 \begin_layout Plain Layout
22862 <!_stardesc!_stardesctooltip>
22868 Maximal two translatable macro keywords, marked by the prefix
22869 \begin_inset Flex Code
22872 \begin_layout Plain Layout
22879 The first points to the string that replaces the
22880 \begin_inset Quotes eld
22884 \begin_inset Quotes erd
22887 checkbox label in the citation dialog, the second one to an optional tool
22888 tip for this checkbox.
22892 \begin_layout Standard
22893 Note that these two macros have to be defined in a
22894 \begin_inset Flex Code
22897 \begin_layout Plain Layout
22903 (see next section), dropping the
22904 \begin_inset Flex Code
22907 \begin_layout Plain Layout
22913 from the prefix, like this:
22916 \begin_layout LyX-Code
22917 _stardesc Sta&rred command label
22920 \begin_layout LyX-Code
22921 _stardesctooltip Tooltip for the starred command checkbox.
22925 \begin_layout Itemize
22927 \begin_inset Flex Code
22930 \begin_layout Plain Layout
22936 indicates that this command features
22937 \begin_inset Quotes eld
22940 qualified citation lists
22941 \begin_inset Quotes erd
22949 -specific feature for multi-reference citations where an individual pre-
22950 and postnote can be given to each reference in the list.
22951 Please refer to the
22955 manual for details.
22956 \change_inserted -712698321 1526898670
22960 \begin_layout Standard
22962 \change_inserted -712698321 1526899524
22963 If you want to add a cite command to a cite engine (e.
22964 \begin_inset space \thinspace{}
22967 g., add a specific command provided by a class), you can use
22968 \begin_inset Flex Code
22971 \begin_layout Plain Layout
22973 \change_inserted -712698321 1526898768
22974 AddToCiteEngine <engine type> \SpecialChar ldots
22983 Note that only cite commands that do not exist yet are added.
22988 \begin_layout Subsection
22989 \begin_inset CommandInset label
22991 name "subsec:Citation-format-description"
22995 Cite format description
22998 \begin_layout Standard
23000 \begin_inset Flex Code
23003 \begin_layout Plain Layout
23009 blocks are used to describe how bibliographic information should be displayed,
23010 both within \SpecialChar LyX
23011 itself (in the citation dialog and in tooltips, for example)
23012 and in XHTML output.
23013 Such a block might look like this:
23016 \begin_layout LyX-Code
23020 \begin_layout LyX-Code
23024 \begin_layout LyX-Code
23028 \begin_layout LyX-Code
23032 \begin_layout Standard
23036 \begin_layout LyX-Code
23040 \begin_layout LyX-Code
23044 \begin_layout LyX-Code
23048 \begin_layout LyX-Code
23052 \begin_layout Standard
23053 In the first case, the individual lines define how the bibliographic information
23054 associated with an article or book, respectively, is to be displayed, and
23055 such a definition can be given for any
23056 \begin_inset Quotes els
23060 \begin_inset Quotes ers
23063 that might be present in a Bib\SpecialChar TeX
23066 defines a default format in the source code that will be used if no specific
23067 definition has been given.
23069 predefines several formats in the file
23070 \begin_inset Flex Code
23073 \begin_layout Plain Layout
23079 , which is included in most of \SpecialChar LyX
23080 's document classes.
23083 \begin_layout Standard
23084 In the second case, the lines define how a specific citation command (in
23086 \begin_inset Flex Code
23089 \begin_layout Plain Layout
23098 \begin_inset Flex Code
23101 \begin_layout Plain Layout
23109 ) is to be displayed on the citation inset label, in the citation dialog,
23110 menu or XHTML output.
23112 defines such formats for the citation style variants it supports via
23114 Document\SpecialChar menuseparator
23115 Setting\SpecialChar menuseparator
23116 Bibliography\SpecialChar ldots
23120 \begin_inset Flex Code
23123 \begin_layout Plain Layout
23129 files that are shipped with \SpecialChar LyX
23131 \begin_inset CommandInset ref
23133 reference "subsec:Cite-Engine-Files"
23143 \begin_layout Standard
23144 The definitions use a simple language that allows Bib\SpecialChar TeX
23145 keys to be replaced
23147 Keys should be enclosed in
23148 \begin_inset Flex Code
23151 \begin_layout Plain Layout
23158 \begin_inset Flex Code
23161 \begin_layout Plain Layout
23168 So a simple definition might look like this:
23171 \begin_layout LyX-Code
23173 \begin_inset Quotes eld
23177 \begin_inset Quotes erd
23183 \begin_layout Standard
23184 This would print the author, followed by a comma, followed by the title,
23185 in quotes, followed by a period.
23188 \begin_layout Standard
23189 Of course, sometimes you may want to print a key only if it exists.
23190 This can be done by using a conditional construction, such as:
23191 \begin_inset Flex Code
23194 \begin_layout Plain Layout
23196 \begin_inset space ~
23206 \begin_inset Flex Code
23209 \begin_layout Plain Layout
23215 key exists, then print
23216 \begin_inset Quotes eld
23220 \begin_inset space ~
23224 \begin_inset Quotes erd
23227 followed by the volume key.
23228 It is also possible to have an else clause in the conditional, such as:
23229 \begin_inset Newline newline
23233 \begin_inset Flex Code
23236 \begin_layout Plain Layout
23237 {%author%[[%author%]][[%editor%, ed.]]}
23243 \begin_inset Newline newline
23247 \begin_inset Flex Code
23250 \begin_layout Plain Layout
23256 key is printed if it exists; otherwise, the editor key is printed, followed
23258 \begin_inset Quotes eld
23262 \begin_inset space ~
23266 \begin_inset Quotes erd
23269 Note that the key is again enclosed in
23270 \begin_inset Flex Code
23273 \begin_layout Plain Layout
23279 signs; the entire conditional is enclosed in braces; and the if and else
23280 clauses are enclosed in double brackets,
23281 \begin_inset Quotes eld
23285 \begin_inset Flex Code
23288 \begin_layout Plain Layout
23295 \begin_inset Quotes eld
23299 \begin_inset Quotes eld
23303 \begin_inset Flex Code
23306 \begin_layout Plain Layout
23313 \begin_inset Quotes erd
23317 There must be no space between any of these.
23320 \begin_layout Standard
23321 Next to the entry keys, there are some special keys that can be used for
23322 these conditionals:
23325 \begin_layout Itemize
23326 \begin_inset Flex Code
23329 \begin_layout Plain Layout
23330 {%dialog%[[true]][[false]]}
23336 \begin_inset Quotes eld
23340 \begin_inset Quotes erd
23343 part for dialogs and menus, the
23344 \begin_inset Quotes eld
23348 \begin_inset Quotes erd
23351 part for other contexts (workarea, export)
23354 \begin_layout Itemize
23355 \begin_inset Flex Code
23358 \begin_layout Plain Layout
23359 {%export%[[true]][[false]]}
23365 \begin_inset Quotes eld
23369 \begin_inset Quotes erd
23372 part for export and menus, the
23373 \begin_inset Quotes eld
23377 \begin_inset Quotes erd
23380 part for other contexts (workarea, dialog)
23383 \begin_layout Itemize
23384 \begin_inset Flex Code
23387 \begin_layout Plain Layout
23394 \begin_inset Quotes eld
23398 \begin_inset Quotes erd
23401 part if another item follows (e.
23402 \begin_inset space \thinspace{}
23405 g., in a citation with multiple keys)
23408 \begin_layout Itemize
23409 \begin_inset Flex Code
23412 \begin_layout Plain Layout
23413 {%second%[[true]][[false]]}
23419 \begin_inset Quotes eld
23423 \begin_inset Quotes erd
23426 if this is the second of multiple items, else the
23427 \begin_inset Quotes eld
23431 \begin_inset Quotes erd
23437 \begin_layout Itemize
23438 \begin_inset Flex Code
23441 \begin_layout Plain Layout
23442 {%ifstar%[[true]][[false]]}
23448 \begin_inset Quotes eld
23452 \begin_inset Quotes erd
23455 part for starred citation commands (such as
23456 \begin_inset Flex Code
23459 \begin_layout Plain Layout
23467 ), the false part for unstarred
23470 \begin_layout Itemize
23471 \begin_inset Flex Code
23474 \begin_layout Plain Layout
23475 {%ifentrytype:<type>%[[true]][[false]]}
23481 \begin_inset Quotes eld
23485 \begin_inset Quotes erd
23488 if the current entry type matches
23489 \begin_inset Flex Code
23492 \begin_layout Plain Layout
23498 , else the false part (e.g., in a citation definition:
23499 \begin_inset Flex Code
23502 \begin_layout Plain Layout
23503 {%ifentrytype:book%[[this is a book]][[this is no book]]}
23511 \begin_layout Itemize
23512 \begin_inset Flex Code
23515 \begin_layout Plain Layout
23516 {%ifmultiple:<authortype>%[[true]][[false]]}
23522 \begin_inset Quotes eld
23526 \begin_inset Quotes erd
23529 if the current author type (author, editor etc.) has multiple authors, else
23530 the false part (e.g., in a bibliography definition:
23531 \begin_inset Flex Code
23534 \begin_layout Plain Layout
23535 {%ifmultiple:editor%[[eds.]][[ed.]]}
23543 \begin_layout Itemize
23544 \begin_inset Flex Code
23547 \begin_layout Plain Layout
23548 {%ifqualified%[[true]][[false]]}
23554 \begin_inset Quotes eld
23558 \begin_inset Quotes erd
23561 part if the current citation is a qualified citation list (a specific
23565 format for multi-reference citations), the false part if this is not the
23569 \begin_layout Standard
23571 \begin_inset Flex Code
23574 \begin_layout Plain Layout
23580 prints the author key as it is recorded in the bibliography file.
23581 This might not be what you want, since it will result in a string such
23583 \begin_inset Quotes eld
23586 Miller, Peter and Smith, Mary and White, Jane
23587 \begin_inset Quotes erd
23591 \begin_inset Quotes eld
23595 \begin_inset Quotes erd
23598 is used by Bib\SpecialChar TeX
23599 to delimit authors).
23601 therefore provides some methods to get properly formatted name lists (which
23602 will also get translated).
23603 The following keys are provided:
23606 \begin_layout Enumerate
23607 For name lists with pre- and surname, suitable for the main authors/editors
23608 of a bibliography item.
23610 \begin_inset Flex Code
23613 \begin_layout Plain Layout
23619 part denotes the kind of list that is requested (e.g.
23621 \begin_inset Flex Code
23624 \begin_layout Plain Layout
23634 \begin_layout Itemize
23635 \begin_inset Flex Code
23638 \begin_layout Plain Layout
23639 %abbrvnames:<nametype>%
23644 : Provides a name list which is abbreviated (with
23645 \begin_inset Quotes eld
23649 \begin_inset Quotes erd
23653 \begin_inset Flex Code
23656 \begin_layout Plain Layout
23665 \begin_layout Itemize
23666 \begin_inset Flex Code
23669 \begin_layout Plain Layout
23670 %fullnames:<nametype>%
23675 : Provides a full name list (never abbreviated with
23676 \begin_inset Quotes eld
23680 \begin_inset Quotes erd
23686 \begin_layout Itemize
23687 \begin_inset Flex Code
23690 \begin_layout Plain Layout
23691 %forceabbrvnames:<nametype>%
23696 : Provides a name list which is always abbreviated (with
23697 \begin_inset Quotes eld
23701 \begin_inset Quotes erd
23705 \begin_inset Flex Code
23708 \begin_layout Plain Layout
23718 \begin_layout Enumerate
23719 Alternative name lists with pre- and surname, if the order of pre- and surname
23720 inside the bibliography item differs (as in:
23721 \begin_inset Quotes eld
23724 Miller, John: Some text, in: Mary Smith, ed.: A volume
23725 \begin_inset Quotes erd
23732 \begin_layout Itemize
23733 \begin_inset Flex Code
23736 \begin_layout Plain Layout
23737 %abbrvbynames:<nametype>%
23742 : Provides a name list which is abbreviated (with
23743 \begin_inset Quotes eld
23747 \begin_inset Quotes erd
23751 \begin_inset Flex Code
23754 \begin_layout Plain Layout
23763 \begin_layout Itemize
23764 \begin_inset Flex Code
23767 \begin_layout Plain Layout
23768 %fullbynames:<nametype>%
23773 : Provides a full name list (never abbreviated with
23774 \begin_inset Quotes eld
23778 \begin_inset Quotes erd
23784 \begin_layout Itemize
23785 \begin_inset Flex Code
23788 \begin_layout Plain Layout
23789 %forceabbrvbynames:<nametype>%
23794 : Provides a name list which is always abbreviated (with
23795 \begin_inset Quotes eld
23799 \begin_inset Quotes erd
23803 \begin_inset Flex Code
23806 \begin_layout Plain Layout
23816 \begin_layout Enumerate
23817 And finally name lists which consist of family names only, as used in author-yea
23819 These do not take a
23820 \begin_inset Flex Code
23823 \begin_layout Plain Layout
23829 part, but always return either an author list or, if this does not exist,
23830 an editor list (as common in author-year labels):
23834 \begin_layout Itemize
23835 \begin_inset Flex Code
23838 \begin_layout Plain Layout
23844 : Provides a name list which is abbreviated (with
23845 \begin_inset Quotes eld
23849 \begin_inset Quotes erd
23853 \begin_inset Flex Code
23856 \begin_layout Plain Layout
23865 \begin_layout Itemize
23866 \begin_inset Flex Code
23869 \begin_layout Plain Layout
23875 : Provides a full name list (never abbreviated with
23876 \begin_inset Quotes eld
23880 \begin_inset Quotes erd
23886 \begin_layout Itemize
23887 \begin_inset Flex Code
23890 \begin_layout Plain Layout
23891 %forceabbrvciteauthor%
23896 : Provides a name list which is always abbreviated (with
23897 \begin_inset Quotes eld
23901 \begin_inset Quotes erd
23905 \begin_inset Flex Code
23908 \begin_layout Plain Layout
23918 \begin_layout Standard
23919 The order of pre- and surname in the former two lists can be adjusted by
23923 \begin_layout Itemize
23924 \begin_inset Flex Code
23927 \begin_layout Plain Layout
23928 !firstnameform %surname%, %prename%
23933 (first author in lists of type 1)
23936 \begin_layout Itemize
23937 \begin_inset Flex Code
23940 \begin_layout Plain Layout
23941 !othernameform %surname%, %prename%
23946 (other authors in lists of type 1)
23949 \begin_layout Itemize
23950 \begin_inset Flex Code
23953 \begin_layout Plain Layout
23954 !firstbynameform %prename% %surname%
23959 (first author in lists of type 2)
23962 \begin_layout Itemize
23963 \begin_inset Flex Code
23966 \begin_layout Plain Layout
23967 !otherbynameform %prename% %surname%
23972 (other authors in lists of type 2)
23975 \begin_layout Standard
23976 This allows you to configure namings like
23977 \begin_inset Quotes eld
23980 Miller, Peter and Mary Smith: \SpecialChar ldots
23981 , in: John Doe and Pat Green, eds.:\SpecialChar ldots
23983 \begin_inset Quotes erd
23989 \begin_layout Standard
23990 There is one other piece of syntax available in definitions, which looks
23992 \begin_inset Flex Code
23995 \begin_layout Plain Layout
24002 This defines a piece of formatting information that is to be used when
24004 \begin_inset Quotes eld
24008 \begin_inset Quotes erd
24012 Obviously, we do not want to output HTML tags when writing plain text,
24013 so they should be wrapped in
24014 \begin_inset Quotes eld
24018 \begin_inset Quotes erd
24022 \begin_inset Quotes eld
24026 \begin_inset Quotes erd
24032 \begin_layout Standard
24033 Two special sorts of definitions are also possible in a
24034 \begin_inset Flex Code
24037 \begin_layout Plain Layout
24044 An example of the first would be:
24047 \begin_layout LyX-Code
24049 \begin_inset Quotes eld
24053 \begin_inset Quotes erd
24059 \begin_layout Standard
24060 This is an abbreviation, or macro, and it can be used by treating it as
24062 \begin_inset Flex Code
24065 \begin_layout Plain Layout
24074 \begin_inset Flex Code
24077 \begin_layout Plain Layout
24083 exactly as it would treat its definition.
24084 So, let us issue the obvious
24092 \begin_layout LyX-Code
24096 \begin_layout Standard
24097 or anything like it.
24099 shouldn't go into an infinite loop, but it may go into a long one before
24103 \begin_layout Standard
24104 The second sort of special definition might look like this:
24107 \begin_layout LyX-Code
24111 \begin_layout Standard
24112 This defines a translatable piece of text, which allows relevant parts of
24113 the bibliography or citation to be translated.
24114 It can be included in a definition by treating it as a key:
24115 \begin_inset Flex Code
24118 \begin_layout Plain Layout
24125 Note that there are two different translation paths: All definitions starting
24127 \begin_inset Flex Code
24130 \begin_layout Plain Layout
24136 , such as in the example above, will be translated to the currently active
24137 buffer language (so the translation will match the generated document).
24138 All definitions starting with underscore only will be translated to the
24140 This is the proper translation for strings that only occur in the dialogs
24141 or on buttons, such as this one:
24144 \begin_layout LyX-Code
24145 _addtobib Add to bibliography only.
24148 \begin_layout Standard
24149 Several of these translatable strings are predefined in
24150 \begin_inset Flex Code
24153 \begin_layout Plain Layout
24160 \begin_inset Flex Code
24163 \begin_layout Plain Layout
24170 Note that these are not macros, in the sense just defined.
24171 They will not be expanded.
24174 \begin_layout Standard
24175 So here then is an example that uses several of these features:
24176 \begin_inset VSpace defskip
24182 \begin_layout Standard
24186 !authoredit {%author%[[%author%, ]][[{%editor%[[%editor%, %B_edtext%, ]]}]]}
24189 \begin_layout Standard
24190 \begin_inset VSpace defskip
24193 This defines a macro that prints the author, followed by a comma, if the
24195 \begin_inset Flex Code
24198 \begin_layout Plain Layout
24204 key is defined, or else prints the name of the editor, followed by the
24206 \begin_inset Flex Code
24209 \begin_layout Plain Layout
24215 or its translation (it is by default
24216 \begin_inset Quotes eld
24220 \begin_inset Quotes erd
24224 \begin_inset Flex Code
24227 \begin_layout Plain Layout
24234 Note that this is in fact defined in
24235 \begin_inset Flex Code
24238 \begin_layout Plain Layout
24244 , so you can use it in your own definitions, or re-definitions, if you load
24248 \begin_layout Section
24249 \begin_inset CommandInset label
24251 name "sec:Tags-for-XHTML"
24255 Tags for XHTML output
24258 \begin_layout Standard
24259 As with \SpecialChar LaTeX
24260 or DocBook, the format of \SpecialChar LyX
24261 's XHTML output is also controlled by
24262 layout information.
24263 In general, \SpecialChar LyX
24264 provides sensible defaults and, as mentioned earlier, it will
24265 even construct default CSS style rules from the other layout tags.
24266 For example, \SpecialChar LyX
24267 will attempt to use the information provided in the
24268 \begin_inset Flex Code
24271 \begin_layout Plain Layout
24277 declaration for the Chapter style to write CSS that will appropriately
24278 format chapter headings.
24281 \begin_layout Standard
24282 In many cases, then, you may not have to do anything at all to get acceptable
24283 XHTML output for your own environments, custom insets, and so forth.
24284 But in some cases you will, and so \SpecialChar LyX
24285 provides a number of layout tags that
24286 can be used to customize the XHTML and CSS that are generated.
24289 \begin_layout Standard
24290 Note that there are two tags,
24291 \begin_inset Flex Code
24294 \begin_layout Plain Layout
24301 \begin_inset Flex Code
24304 \begin_layout Plain Layout
24310 that may appear outside style and inset declarations.
24312 \begin_inset CommandInset ref
24314 reference "subsec:General-text-class"
24318 for details on these.
24321 \begin_layout Subsection
24322 \begin_inset CommandInset label
24324 name "subsec:Paragraph-Style-XHTML"
24331 \begin_layout Standard
24332 The sort of XHTML \SpecialChar LyX
24333 outputs for a paragraph depends upon whether we are dealing
24334 with a normal paragraph, a command, or an environment, where this is itself
24335 determined by the contents of the corresponding
24336 \begin_inset Flex Code
24339 \begin_layout Plain Layout
24350 \begin_layout Standard
24351 For a command or normal paragraph, the output XHTML has the following form:
24354 \begin_layout LyX-Code
24358 \begin_inset Quotes erd
24362 \begin_inset Quotes erd
24368 \begin_layout LyX-Code
24372 \begin_inset Quotes erd
24376 \begin_inset Quotes erd
24382 \begin_layout LyX-Code
24385 Contents of the paragraph.
24388 \begin_layout LyX-Code
24394 \begin_layout Standard
24395 The label tags are of course omitted if the paragraph does not have a label.
24398 \begin_layout Standard
24399 For an environment that is not some sort of list, the XHTML takes this form:
24402 \begin_layout LyX-Code
24406 \begin_inset Quotes erd
24410 \begin_inset Quotes erd
24416 \begin_layout LyX-Code
24420 \begin_inset Quotes erd
24424 \begin_inset Quotes erd
24428 \begin_inset Quotes erd
24432 \begin_inset Quotes erd
24435 >Environment Label</labeltag>First paragraph.</itemtag>
24438 \begin_layout LyX-Code
24441 <itemtag>Second paragraph.</itemtag>
24444 \begin_layout LyX-Code
24450 \begin_layout Standard
24451 Note that the label is output only for the first paragraph, as it should
24452 be for a theorem, for example.
24456 \begin_layout Standard
24457 For a list, we have one of these forms:
24460 \begin_layout LyX-Code
24464 \begin_inset Quotes erd
24468 \begin_inset Quotes erd
24474 \begin_layout LyX-Code
24478 \begin_inset Quotes erd
24482 \begin_inset Quotes erd
24486 \begin_inset Quotes erd
24490 \begin_inset Quotes erd
24493 >List Label</labeltag>First item.</itemtag>
24496 \begin_layout LyX-Code
24500 \begin_inset Quotes erd
24504 \begin_inset Quotes erd
24508 \begin_inset Quotes erd
24512 \begin_inset Quotes erd
24515 >List Label</labeltag>Second item.</itemtag>
24518 \begin_layout LyX-Code
24524 \begin_layout LyX-Code
24528 \begin_layout LyX-Code
24532 \begin_inset Quotes erd
24536 \begin_inset Quotes erd
24542 \begin_layout LyX-Code
24546 \begin_inset Quotes erd
24550 \begin_inset Quotes erd
24553 >List Label</labeltag><itemtag attr=
24554 \begin_inset Quotes erd
24558 \begin_inset Quotes erd
24561 >First item.</itemtag>
24564 \begin_layout LyX-Code
24568 \begin_inset Quotes erd
24572 \begin_inset Quotes erd
24575 >List Label</labeltag><itemtag attr=
24576 \begin_inset Quotes erd
24580 \begin_inset Quotes erd
24583 >Second item.</itemtag>
24586 \begin_layout LyX-Code
24592 \begin_layout Standard
24593 Note the different orders of
24594 \begin_inset Flex Code
24597 \begin_layout Plain Layout
24604 \begin_inset Flex Code
24607 \begin_layout Plain Layout
24614 Which order we get depends upon the setting of
24615 \begin_inset Flex Code
24618 \begin_layout Plain Layout
24625 \begin_inset Flex Code
24628 \begin_layout Plain Layout
24634 is false (the default), you get the first of these, with the label within
24635 the item; if true, you get the second, with the label outside the item.
24638 \begin_layout Standard
24639 The specific tags and attributes output for each paragraph type can be controlle
24640 d by means of the layout tags we are about to describe.
24641 As mentioned earlier, however, \SpecialChar LyX
24642 uses sensible defaults for many of these,
24643 so you often may not need to do very much to get good XHTML output.
24644 Think of the available tags as there so you can tweak things to your liking.
24647 \begin_layout Description
24648 \begin_inset Flex Code
24651 \begin_layout Plain Layout
24658 \begin_inset Flex Code
24661 \begin_layout Plain Layout
24667 ] Specifies attribute information to be output with the main tag.
24669 \begin_inset Quotes eld
24673 \begin_inset Flex Code
24676 \begin_layout Plain Layout
24683 \begin_inset Quotes erd
24687 By default, \SpecialChar LyX
24689 \begin_inset Quotes eld
24693 \begin_inset Flex Code
24696 \begin_layout Plain Layout
24703 \begin_inset Quotes erd
24707 \begin_inset Flex Code
24710 \begin_layout Plain Layout
24716 is the \SpecialChar LyX
24717 name of the layout, made lowercase, for example: chapter.
24722 contain any style information.
24724 \begin_inset Flex Code
24727 \begin_layout Plain Layout
24736 \begin_layout Description
24737 \begin_inset Flex Code
24740 \begin_layout Plain Layout
24747 \begin_inset Flex Code
24750 \begin_layout Plain Layout
24760 ] Whether to output the default CSS information \SpecialChar LyX
24761 generates for this layout,
24762 even if additional information is explicitly provided via
24763 \begin_inset Flex Code
24766 \begin_layout Plain Layout
24774 \begin_inset Flex Code
24777 \begin_layout Plain Layout
24783 allows you to alter or augment the generated CSS, rather than to override
24786 \begin_inset Flex Code
24789 \begin_layout Plain Layout
24798 \begin_layout Description
24799 \begin_inset Flex Code
24802 \begin_layout Plain Layout
24809 \begin_inset Flex Code
24812 \begin_layout Plain Layout
24818 ] The tag to be used for individual paragraphs of environments, replacing
24820 \begin_inset Flex Code
24823 \begin_layout Plain Layout
24829 in the examples above.
24831 \begin_inset Flex Code
24834 \begin_layout Plain Layout
24843 \begin_layout Description
24844 \begin_inset Flex Code
24847 \begin_layout Plain Layout
24854 \begin_inset Flex Code
24857 \begin_layout Plain Layout
24863 ] Attributes for the item tag.
24865 \begin_inset Newline newline
24869 \begin_inset Quotes eld
24873 \begin_inset Flex Code
24876 \begin_layout Plain Layout
24877 class=`layoutname_item'
24883 \begin_inset Quotes erd
24891 contain any style information.
24893 \begin_inset Flex Code
24896 \begin_layout Plain Layout
24905 \begin_layout Description
24906 \begin_inset Flex Code
24909 \begin_layout Plain Layout
24916 \begin_inset Flex Code
24919 \begin_layout Plain Layout
24925 ] The tag to be used for paragraph and item labels, replacing
24926 \begin_inset Flex Code
24929 \begin_layout Plain Layout
24935 in the examples above.
24937 \begin_inset Flex Code
24940 \begin_layout Plain Layout
24947 \begin_inset Flex Code
24950 \begin_layout Plain Layout
24957 \begin_inset Flex Code
24960 \begin_layout Plain Layout
24967 \begin_inset Flex Code
24970 \begin_layout Plain Layout
24971 Centered_Top_Environment
24976 , in which case it defaults to
24977 \begin_inset Flex Code
24980 \begin_layout Plain Layout
24989 \begin_layout Description
24990 \begin_inset Flex Code
24993 \begin_layout Plain Layout
25000 \begin_inset Flex Code
25003 \begin_layout Plain Layout
25009 ] Attributes for the label tag.
25011 \begin_inset Newline newline
25015 \begin_inset Quotes eld
25019 \begin_inset Flex Code
25022 \begin_layout Plain Layout
25023 class=`layoutname_label'
25029 \begin_inset Quotes erd
25037 contain any style information.
25039 \begin_inset Flex Code
25042 \begin_layout Plain Layout
25051 \begin_layout Description
25052 \begin_inset Flex Code
25055 \begin_layout Plain Layout
25062 \begin_inset Flex Code
25065 \begin_layout Plain Layout
25075 ] Meaningful only for list-like environments, this tag controls whether
25076 the label tag is output before or inside the item tag.
25077 This is used, for example, in the description environment, where we want
25079 \begin_inset Flex Code
25082 \begin_layout Plain Layout
25083 <dt>\SpecialChar ldots
25084 </dt><dd>\SpecialChar ldots
25092 \begin_inset Flex Code
25095 \begin_layout Plain Layout
25101 : The label tag is output inside the item tag.
25104 \begin_layout Description
25105 \begin_inset Flex Code
25108 \begin_layout Plain Layout
25114 Information to be output in the
25115 \begin_inset Flex Code
25118 \begin_layout Plain Layout
25124 section when this style is used.
25125 This might, for example, be used to include a
25126 \begin_inset Flex Code
25129 \begin_layout Plain Layout
25136 \begin_inset Flex Code
25139 \begin_layout Plain Layout
25148 \begin_layout Description
25149 \begin_inset Flex Code
25152 \begin_layout Plain Layout
25158 CSS style information to be included when this style is used.
25159 Note that this will automatically be wrapped in a layout-generated
25160 \begin_inset Flex Code
25163 \begin_layout Plain Layout
25169 block, so only the CSS itself need be included.
25171 \begin_inset Flex Code
25174 \begin_layout Plain Layout
25183 \begin_layout Description
25184 \begin_inset Flex Code
25187 \begin_layout Plain Layout
25194 \begin_inset Flex Code
25197 \begin_layout Plain Layout
25203 ] The tag to be used for the main label, replacing
25204 \begin_inset Flex Code
25207 \begin_layout Plain Layout
25213 in the examples above.
25215 \begin_inset Flex Code
25218 \begin_layout Plain Layout
25227 \begin_layout Description
25228 \begin_inset Flex Code
25231 \begin_layout Plain Layout
25238 \begin_inset Flex Code
25241 \begin_layout Plain Layout
25251 ] Marks this style as the one to be used to generate the
25252 \begin_inset Flex Code
25255 \begin_layout Plain Layout
25261 tag for the XHTML file.
25262 By default, it is false.
25264 \begin_inset Flex Code
25267 \begin_layout Plain Layout
25273 file sets it to true for the
25274 \begin_inset Flex Code
25277 \begin_layout Plain Layout
25287 \begin_layout Subsection
25291 \begin_layout Standard
25292 The XHTML output of insets can also be controlled by information in layout
25297 \begin_layout Plain Layout
25298 At present, this is true only for
25299 \begin_inset Quotes eld
25303 \begin_inset Quotes erd
25306 insets (insets you can type into) and is not true for
25307 \begin_inset Quotes eld
25311 \begin_inset Quotes erd
25314 insets (insets that are associated with dialog boxes).
25319 Here, too, \SpecialChar LyX
25320 tries to provide sensible defaults, and it constructs default
25322 But everything can be customized.
25325 \begin_layout Standard
25326 The XHTML \SpecialChar LyX
25327 outputs for an inset has the following form:
25330 \begin_layout LyX-Code
25332 \begin_inset Quotes erd
25336 \begin_inset Quotes erd
25342 \begin_layout LyX-Code
25343 <labeltag>Label</labeltag>
25346 \begin_layout LyX-Code
25348 \begin_inset Quotes erd
25352 \begin_inset Quotes erd
25355 >Contents of the inset.</innertag>
25358 \begin_layout LyX-Code
25362 \begin_layout Standard
25363 If the inset permits multiple paragraphs—that is, if
25364 \begin_inset Flex Code
25367 \begin_layout Plain Layout
25373 is true—then the contents of the inset will itself be output as paragraphs
25374 formatted according to the styles used for those paragraphs (standard,
25375 quote, and the like).
25376 The label tag is of course omitted if the paragraph does not have a label
25377 and, at present, is always
25378 \begin_inset Flex Code
25381 \begin_layout Plain Layout
25388 The inner tag is optional and, by default, does not appear.
25391 \begin_layout Standard
25392 The specific tags and attributes output for each inset can be controlled
25393 by means of the following layout tags.
25396 \begin_layout Description
25397 \begin_inset Flex Code
25400 \begin_layout Plain Layout
25407 \begin_inset Flex Code
25410 \begin_layout Plain Layout
25416 ] Specifies attribute information to be output with the main tag.
25418 \begin_inset Quotes eld
25422 \begin_inset Flex Code
25425 \begin_layout Plain Layout
25426 class=`myinset' onclick=`\SpecialChar ldots
25433 \begin_inset Quotes erd
25437 By default, \SpecialChar LyX
25439 \begin_inset Quotes eld
25443 \begin_inset Flex Code
25446 \begin_layout Plain Layout
25453 \begin_inset Quotes erd
25457 \begin_inset Flex Code
25460 \begin_layout Plain Layout
25466 is the \SpecialChar LyX
25467 name of the inset, made lowercase and with non-alphanumeric characters
25468 converted to underscores, for example: footnote.
25471 \begin_layout Description
25472 \begin_inset Flex Code
25475 \begin_layout Plain Layout
25482 \begin_inset Flex Code
25485 \begin_layout Plain Layout
25495 ] Whether to output the default CSS information \SpecialChar LyX
25496 generates for this layout,
25497 even if additional information is explicitly provided via
25498 \begin_inset Flex Code
25501 \begin_layout Plain Layout
25509 \begin_inset Flex Code
25512 \begin_layout Plain Layout
25518 allows you to alter or augment the generated CSS, rather than to override
25523 \begin_layout Description
25524 \begin_inset Flex Code
25527 \begin_layout Plain Layout
25534 \begin_inset Flex Code
25537 \begin_layout Plain Layout
25543 ] Attributes for the inner tag.
25545 \begin_inset Newline newline
25549 \begin_inset Quotes eld
25553 \begin_inset Flex Code
25556 \begin_layout Plain Layout
25557 class=`insetname_inner'
25563 \begin_inset Quotes erd
25569 \begin_layout Description
25570 \begin_inset Flex Code
25573 \begin_layout Plain Layout
25580 \begin_inset Flex Code
25583 \begin_layout Plain Layout
25589 ] The inner tag, replacing
25590 \begin_inset Flex Code
25593 \begin_layout Plain Layout
25599 in the examples above.
25600 By default, there is none.
25603 \begin_layout Description
25604 \begin_inset Flex Code
25607 \begin_layout Plain Layout
25614 \begin_inset Flex Code
25617 \begin_layout Plain Layout
25625 ] Whether this inset represents a standalone block of text (such as a footnote)
25626 or instead represents material that is included in the surrounding text
25627 (such as a branch).
25631 \begin_layout Description
25632 \begin_inset Flex Code
25635 \begin_layout Plain Layout
25642 \begin_inset Flex Code
25645 \begin_layout Plain Layout
25651 ] A label for this inset, possibly including a reference to a counter.
25652 For example, for footnote, it might be:
25653 \begin_inset Flex Code
25656 \begin_layout Plain Layout
25665 This is optional, and there is no default.
25668 \begin_layout Description
25669 \begin_inset Flex Code
25672 \begin_layout Plain Layout
25678 Information to be output in the
25679 \begin_inset Flex Code
25682 \begin_layout Plain Layout
25688 section when this style is used.
25689 This might, for example, be used to include a
25690 \begin_inset Flex Code
25693 \begin_layout Plain Layout
25700 \begin_inset Flex Code
25703 \begin_layout Plain Layout
25712 \begin_layout Description
25713 \begin_inset Flex Code
25716 \begin_layout Plain Layout
25722 CSS style information to be included when this style is used.
25723 Note that this will automatically be wrapped in a layout-generated
25724 \begin_inset Flex Code
25727 \begin_layout Plain Layout
25733 block, so only the CSS itself need be included.
25736 \begin_layout Description
25737 \begin_inset Flex Code
25740 \begin_layout Plain Layout
25747 \begin_inset Flex Code
25750 \begin_layout Plain Layout
25756 ] The tag to be used for the main label, replacing
25757 \begin_inset Flex Code
25760 \begin_layout Plain Layout
25766 in the examples above.
25767 The default depends upon the setting of
25768 \begin_inset Flex Code
25771 \begin_layout Plain Layout
25778 \begin_inset Flex Code
25781 \begin_layout Plain Layout
25787 is true, the default is
25788 \begin_inset Flex Code
25791 \begin_layout Plain Layout
25797 ; if it is false, the default is
25798 \begin_inset Flex Code
25801 \begin_layout Plain Layout
25810 \begin_layout Subsection
25814 \begin_layout Standard
25815 The XHTML output for floats too can be controlled by layout information.
25816 The output has the following form:
25819 \begin_layout LyX-Code
25821 \begin_inset Quotes erd
25825 \begin_inset Quotes erd
25831 \begin_layout LyX-Code
25832 Contents of the float.
25835 \begin_layout LyX-Code
25839 \begin_layout Standard
25840 The caption, if there is one, is a separate inset and will be output as
25842 Its appearance can be controlled via the InsetLayout for caption insets.
25846 \begin_layout Description
25847 \begin_inset Flex Code
25850 \begin_layout Plain Layout
25857 \begin_inset Flex Code
25860 \begin_layout Plain Layout
25866 ] Specifies attribute information to be output with the main tag.
25868 \begin_inset Quotes eld
25872 \begin_inset Flex Code
25875 \begin_layout Plain Layout
25876 class=`myfloat' onclick=`\SpecialChar ldots
25883 \begin_inset Quotes erd
25887 By default, \SpecialChar LyX
25889 \begin_inset Quotes eld
25893 \begin_inset Flex Code
25896 \begin_layout Plain Layout
25897 class=`float float-floattype'
25903 \begin_inset Quotes erd
25907 \begin_inset Flex Code
25910 \begin_layout Plain Layout
25916 is \SpecialChar LyX
25917 's name for this type of float, as determined by the float declaration
25919 \begin_inset CommandInset ref
25921 reference "subsec:Floats"
25925 ), though made lowercase and with non-alphanumeric characters converted
25926 to underscores, for example: float-table.
25929 \begin_layout Description
25930 \begin_inset Flex Code
25933 \begin_layout Plain Layout
25939 CSS style information to be included when this float is used.
25940 Note that this will automatically be wrapped in a layout-generated
25941 \begin_inset Flex Code
25944 \begin_layout Plain Layout
25950 block, so only the CSS itself need be included.
25953 \begin_layout Description
25954 \begin_inset Flex Code
25957 \begin_layout Plain Layout
25964 \begin_inset Flex Code
25967 \begin_layout Plain Layout
25973 ] The tag to be used for this float, replacing
25974 \begin_inset Quotes eld
25978 \begin_inset Flex Code
25981 \begin_layout Plain Layout
25988 \begin_inset Quotes erd
25991 in the example above.
25993 \begin_inset Flex Code
25996 \begin_layout Plain Layout
26002 and will rarely need changing.
26005 \begin_layout Subsection
26006 Bibliography formatting
26009 \begin_layout Standard
26010 The bibliography can be formatted using
26011 \begin_inset Flex Code
26014 \begin_layout Plain Layout
26022 \begin_inset CommandInset ref
26024 reference "subsec:Citation-format-description"
26031 \begin_layout Subsection
26036 \begin_layout Standard
26037 We have several times mentioned that \SpecialChar LyX
26038 will generate default CSS style rules
26039 for both insets and paragraph styles, based upon the other layout information
26041 In this section, we shall say a word about which layout information \SpecialChar LyX
26046 \begin_layout Standard
26047 At present, \SpecialChar LyX
26048 auto-generates CSS only for font information, making use of
26050 \begin_inset Flex Code
26053 \begin_layout Plain Layout
26060 \begin_inset Flex Code
26063 \begin_layout Plain Layout
26070 \begin_inset Flex Code
26073 \begin_layout Plain Layout
26080 \begin_inset Flex Code
26083 \begin_layout Plain Layout
26090 \begin_inset Flex Code
26093 \begin_layout Plain Layout
26100 \begin_inset CommandInset ref
26102 reference "subsec:Font-description"
26107 The translation is mostly straightforward and obvious.
26109 \begin_inset Quotes eld
26113 \begin_inset Flex Code
26116 \begin_layout Plain Layout
26123 \begin_inset Quotes erd
26127 \begin_inset Quotes eld
26131 \begin_inset Flex Code
26134 \begin_layout Plain Layout
26135 font-family: sans-serif;
26141 \begin_inset Quotes erd
26145 The correspondence of \SpecialChar LyX
26146 sizes and CSS sizes is a little less obvious but
26147 nonetheless intuitive.
26149 \begin_inset Flex Code
26152 \begin_layout Plain Layout
26159 \begin_inset Flex URL
26162 \begin_layout Plain Layout
26172 \begin_layout Chapter
26173 Including External Material
26174 \begin_inset CommandInset label
26176 name "chap:Including-External-Material"
26183 \begin_layout Standard
26184 \begin_inset Box Shadowbox
26194 height_special "totalheight"
26199 backgroundcolor "none"
26202 \begin_layout Plain Layout
26203 WARNING: This portion of the documentation has not been updated for some
26205 We certainly hope that it is still accurate, but there are no guarantees.
26213 \begin_layout Standard
26214 The use of material from sources external to \SpecialChar LyX
26215 is covered in detail in the
26221 This part of the manual covers what needs to happen behind the scenes for
26222 new sorts of material to be included.
26225 \begin_layout Section
26229 \begin_layout Standard
26230 The external material feature is based on the concept of a
26235 A template is a specification of how \SpecialChar LyX
26236 should interface with a certain kind
26238 As bundled, \SpecialChar LyX
26239 comes with predefined templates for Xfig figures, various
26240 raster format images, chess diagrams, and LilyPond music notation.
26241 You can check the actual list by using the menu
26242 \begin_inset Flex Noun
26245 \begin_layout Plain Layout
26246 Insert\SpecialChar menuseparator
26247 File\SpecialChar menuseparator
26254 Furthermore, it is possible to roll your own template to support a specific
26256 Later we'll describe in more detail what is involved, and hopefully you
26257 will submit all the templates you create so we can include them in a later
26262 \begin_layout Standard
26263 Another basic idea of the external material feature is to distinguish between
26264 the original file that serves as a base for final material and the produced
26265 file that is included in your exported or printed document.
26266 For example, consider the case of a figure produced with
26267 \begin_inset Flex Code
26270 \begin_layout Plain Layout
26277 The Xfig application itself works on an original file with the
26278 \begin_inset Flex Code
26281 \begin_layout Plain Layout
26288 Within Xfig, you create and change your figure, and when you are done,
26290 \begin_inset Flex Code
26293 \begin_layout Plain Layout
26300 When you want to include the figure in your document, you invoke
26301 \begin_inset Flex Code
26304 \begin_layout Plain Layout
26310 in order to create a PostScript file that can readily be included in your
26314 \begin_inset Flex Code
26317 \begin_layout Plain Layout
26323 file is the original file, and the PostScript file is the produced file.
26326 \begin_layout Standard
26327 This distinction is important in order to allow updating of the material
26328 while you are in the process of writing the document.
26329 Furthermore, it provides us with the flexibility that is needed to support
26330 multiple export formats.
26331 For instance, in the case of a plain text file, it is not exactly an award-winn
26332 ing idea to include the figure as raw PostScript.
26333 Instead, you would either prefer to just include a reference to the figure
26334 or try to invoke some graphics to ASCII converter to make the final result
26335 look similar to the real graphics.
26336 The external material management allows you to do this, because it is parametri
26337 zed on the different export formats that \SpecialChar LyX
26341 \begin_layout Standard
26342 Besides supporting the production of different products according to the
26343 exported format, it supports tight integration with editing and viewing
26345 In the case of an Xfig figure, you are able to invoke Xfig on the original
26346 file with a single click from within the external material dialog in \SpecialChar LyX
26348 and also preview the produced PostScript file with Ghostview with another
26350 No more fiddling around with the command line and/or file browsers to locate
26351 and manipulate the original or produced files.
26352 In this way, you are finally able to take full advantage of the many different
26353 applications that are relevant to use when you write your documents, and
26354 ultimately be more productive.
26357 \begin_layout Section
26358 The external template configuration files
26361 \begin_layout Standard
26362 It is relatively easy to add custom external template definitions to \SpecialChar LyX
26364 However, be aware that doing this in an careless manner most probably
26368 introduce an easily exploitable security hole.
26369 So before you do this, please read the discussion about security in
26370 \begin_inset CommandInset ref
26372 reference "sec:Security-discussion"
26379 \begin_layout Standard
26380 Having said that, we encourage you to submit any interesting templates that
26385 \begin_layout Standard
26386 The external templates are defined in the
26387 \begin_inset Flex Code
26390 \begin_layout Plain Layout
26396 files that are stored in the
26397 \begin_inset Flex Code
26400 \begin_layout Plain Layout
26401 LyXDir/lib/xtemplates/
26407 Each template is defined in a file of its own.
26408 You can place your own templates in
26409 \begin_inset Flex Code
26412 \begin_layout Plain Layout
26413 UserDir/xtemplates/
26418 or copy existing templates to that directory in order to modify them.
26421 \begin_layout Standard
26422 A typical template looks like this:
26425 \begin_layout LyX-Code
26429 \begin_layout LyX-Code
26430 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
26433 \begin_layout LyX-Code
26437 \begin_layout LyX-Code
26441 \begin_layout LyX-Code
26445 \begin_layout LyX-Code
26449 \begin_layout LyX-Code
26453 \begin_layout LyX-Code
26454 AutomaticProduction true
26457 \begin_layout LyX-Code
26461 \begin_layout LyX-Code
26465 \begin_layout LyX-Code
26469 \begin_layout LyX-Code
26470 TransformCommand Rotate RotationLatexCommand
26473 \begin_layout LyX-Code
26474 TransformCommand Resize ResizeLatexCommand
26477 \begin_layout LyX-Code
26478 Product "$$RotateFront$$ResizeFront
26481 \begin_layout LyX-Code
26486 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
26489 \begin_layout LyX-Code
26490 $$ResizeBack$$RotateBack"
26493 \begin_layout LyX-Code
26497 \begin_layout LyX-Code
26498 UpdateResult "$$AbsPath$$Basename.pstex_t"
26501 \begin_layout LyX-Code
26502 Requirement "graphicx"
26505 \begin_layout LyX-Code
26506 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
26509 \begin_layout LyX-Code
26510 ReferencedFile latex "$$AbsPath$$Basename.eps"
26513 \begin_layout LyX-Code
26514 ReferencedFile dvi "$$AbsPath$$Basename.eps"
26517 \begin_layout LyX-Code
26521 \begin_layout LyX-Code
26525 \begin_layout LyX-Code
26526 TransformCommand Rotate RotationLatexCommand
26529 \begin_layout LyX-Code
26530 TransformCommand Resize ResizeLatexCommand
26533 \begin_layout LyX-Code
26534 Product "$$RotateFront$$ResizeFront
26537 \begin_layout LyX-Code
26542 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
26545 \begin_layout LyX-Code
26546 $$ResizeBack$$RotateBack"
26549 \begin_layout LyX-Code
26550 UpdateFormat pdftex
26553 \begin_layout LyX-Code
26554 UpdateResult "$$AbsPath$$Basename.pdftex_t"
26557 \begin_layout LyX-Code
26558 Requirement "graphicx"
26561 \begin_layout LyX-Code
26562 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
26565 \begin_layout LyX-Code
26566 ReferencedFile latex "$$AbsPath$$Basename.pdf"
26569 \begin_layout LyX-Code
26573 \begin_layout LyX-Code
26577 \begin_layout LyX-Code
26578 Product "[XFig: $$FName]"
26581 \begin_layout LyX-Code
26585 \begin_layout LyX-Code
26589 \begin_layout LyX-Code
26590 Product "<graphic fileref=
26592 "$$AbsOrRelPathMaster$$Basename.eps
26597 \begin_layout LyX-Code
26601 \begin_layout LyX-Code
26605 \begin_layout LyX-Code
26606 UpdateResult "$$AbsPath$$Basename.eps"
26609 \begin_layout LyX-Code
26610 ReferencedFile docbook "$$AbsPath$$Basename.eps"
26613 \begin_layout LyX-Code
26614 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
26617 \begin_layout LyX-Code
26621 \begin_layout LyX-Code
26625 \begin_layout Standard
26626 As you can see, the template is enclosed in
26627 \begin_inset Flex Code
26630 \begin_layout Plain Layout
26638 \begin_inset Flex Code
26641 \begin_layout Plain Layout
26648 It contains a header specifying some general settings and, for each supported
26649 primary document file format, a section
26650 \begin_inset Flex Code
26653 \begin_layout Plain Layout
26661 \begin_inset Flex Code
26664 \begin_layout Plain Layout
26673 \begin_layout Subsection
26674 The template header
26677 \begin_layout Description
26678 \begin_inset Flex Code
26681 \begin_layout Plain Layout
26682 AutomaticProduction
26683 \begin_inset space ~
26691 Whether the file represented by the template must be generated by \SpecialChar LyX
26693 This command must occur exactly once.
26696 \begin_layout Description
26697 \begin_inset Flex Code
26700 \begin_layout Plain Layout
26702 \begin_inset space ~
26710 A glob pattern that is used in the file dialog to filter out the desired
26712 If there is more than one possible file extension (e.
26713 \begin_inset space \thinspace{}
26717 \begin_inset space \space{}
26721 \begin_inset Flex Code
26724 \begin_layout Plain Layout
26731 \begin_inset Flex Code
26734 \begin_layout Plain Layout
26740 ), use something like
26741 \begin_inset Flex Code
26744 \begin_layout Plain Layout
26751 This command must occur exactly once.
26754 \begin_layout Description
26755 \begin_inset Flex Code
26758 \begin_layout Plain Layout
26760 \begin_inset space ~
26768 The text that is displayed on the button.
26769 This command must occur exactly once.
26772 \begin_layout Description
26773 \begin_inset Flex Code
26776 \begin_layout Plain Layout
26778 \begin_inset space ~
26782 \begin_inset space ~
26790 The help text that is used in the External dialog.
26791 Provide enough information to explain to the user just what the template
26792 can provide him with.
26793 This command must occur exactly once.
26796 \begin_layout Description
26797 \begin_inset Flex Code
26800 \begin_layout Plain Layout
26802 \begin_inset space ~
26810 The file format of the original file.
26811 This must be the name of a format that is known to \SpecialChar LyX
26813 \begin_inset CommandInset ref
26815 reference "sec:Formats"
26821 \begin_inset Quotes eld
26825 \begin_inset Flex Code
26828 \begin_layout Plain Layout
26835 \begin_inset Quotes erd
26838 if the template can handle original files of more than one format.
26840 will attempt to interrogate the file itself in order to deduce its format
26842 This command must occur exactly once.
26845 \begin_layout Description
26846 \begin_inset Flex Code
26849 \begin_layout Plain Layout
26851 \begin_inset space ~
26859 A unique name for the template.
26860 It must not contain substitution macros (see below).
26863 \begin_layout Description
26864 \begin_inset Flex Code
26867 \begin_layout Plain Layout
26869 \begin_inset space ~
26872 Rotate|Resize|Clip|Extra
26877 This command specifies which transformations are supported by this template.
26878 It may occur zero or more times.
26879 This command enables the corresponding tabs in the external dialog.
26881 \begin_inset Flex Code
26884 \begin_layout Plain Layout
26890 command must have either a corresponding
26891 \begin_inset Flex Code
26894 \begin_layout Plain Layout
26901 \begin_inset Flex Code
26904 \begin_layout Plain Layout
26911 \begin_inset Flex Code
26914 \begin_layout Plain Layout
26921 Otherwise the transformation will not be supported by that format.
26924 \begin_layout Subsection
26928 \begin_layout Description
26929 \begin_inset Flex Code
26932 \begin_layout Plain Layout
26934 \begin_inset space ~
26937 LaTeX|PDFLaTeX|PlainText|DocBook|XHTML
26942 The primary document file format that this format definition is for.
26943 Not every template has a sensible representation in all document file formats.
26944 Please define nevertheless a
26945 \begin_inset Flex Code
26948 \begin_layout Plain Layout
26954 section for all templates.
26955 Use a dummy text when no representation is available.
26956 Then you can at least see a reference to the external material in the exported
26960 \begin_layout Description
26961 \begin_inset Flex Code
26964 \begin_layout Plain Layout
26966 \begin_inset space ~
26970 \begin_inset space ~
26978 This command defines an additional macro
26979 \begin_inset Flex Code
26982 \begin_layout Plain Layout
26988 for substitution in
26989 \begin_inset Flex Code
26992 \begin_layout Plain Layout
27000 \begin_inset Flex Code
27003 \begin_layout Plain Layout
27009 itself may contain substitution macros.
27010 The advantage over using
27011 \begin_inset Flex Code
27014 \begin_layout Plain Layout
27021 \begin_inset Flex Code
27024 \begin_layout Plain Layout
27030 is that the substituted value of
27031 \begin_inset Flex Code
27034 \begin_layout Plain Layout
27040 is sanitized so that it is a valid optional argument in the document format.
27041 This command may occur zero or more times.
27044 \begin_layout Description
27045 \begin_inset Flex Code
27048 \begin_layout Plain Layout
27050 \begin_inset space ~
27058 The text that is inserted in the exported document.
27059 This is actually the most important command and can be quite complex.
27060 This command must occur exactly once.
27063 \begin_layout Description
27064 \begin_inset Flex Code
27067 \begin_layout Plain Layout
27069 \begin_inset space ~
27077 This command specifies a preamble snippet that will be included in the
27080 It has to be defined using
27081 \begin_inset Flex Code
27084 \begin_layout Plain Layout
27092 \begin_inset Flex Code
27095 \begin_layout Plain Layout
27102 This command may occur zero or more times.
27105 \begin_layout Description
27106 \begin_inset Flex Code
27109 \begin_layout Plain Layout
27111 \begin_inset space ~
27115 \begin_inset space ~
27123 This command denotes files that are created by the conversion process and
27124 are needed for a particular export format.
27125 If the filename is relative, it is interpreted relative to the master document.
27126 This command may be given zero or more times.
27129 \begin_layout Description
27130 \begin_inset Flex Code
27133 \begin_layout Plain Layout
27135 \begin_inset space ~
27143 The name of a required \SpecialChar LaTeX
27145 The package is included via
27146 \begin_inset Flex Code
27149 \begin_layout Plain Layout
27157 in the \SpecialChar LaTeX
27159 This command may occur zero or more times.
27162 \begin_layout Description
27163 \begin_inset Flex Code
27166 \begin_layout Plain Layout
27168 \begin_inset space ~
27172 \begin_inset space ~
27175 RotationLatexCommand
27180 This command specifies that the built in \SpecialChar LaTeX
27181 command should be used for rotation.
27182 This command may occur once or not at all.
27185 \begin_layout Description
27186 \begin_inset Flex Code
27189 \begin_layout Plain Layout
27191 \begin_inset space ~
27195 \begin_inset space ~
27203 This command specifies that the built in \SpecialChar LaTeX
27204 command should be used for resizing.
27205 This command may occur once or not at all.
27208 \begin_layout Description
27209 \begin_inset Flex Code
27212 \begin_layout Plain Layout
27214 \begin_inset space ~
27218 \begin_inset space ~
27221 RotationLatexOption
27226 This command specifies that rotation is done via an optional argument.
27227 This command may occur once or not at all.
27230 \begin_layout Description
27231 \begin_inset Flex Code
27234 \begin_layout Plain Layout
27236 \begin_inset space ~
27240 \begin_inset space ~
27248 This command specifies that resizing is done via an optional argument.
27249 This command may occur once or not at all.
27252 \begin_layout Description
27253 \begin_inset Flex Code
27256 \begin_layout Plain Layout
27258 \begin_inset space ~
27262 \begin_inset space ~
27270 This command specifies that clipping is done via an optional argument.
27271 This command may occur once or not at all.
27274 \begin_layout Description
27275 \begin_inset Flex Code
27278 \begin_layout Plain Layout
27280 \begin_inset space ~
27284 \begin_inset space ~
27292 This command specifies that an extra optional argument is used.
27293 This command may occur once or not at all.
27296 \begin_layout Description
27297 \begin_inset Flex Code
27300 \begin_layout Plain Layout
27302 \begin_inset space ~
27310 The file format of the converted file.
27311 This must be the name of a format that is known to \SpecialChar LyX
27313 \begin_inset Flex Noun
27316 \begin_layout Plain Layout
27317 Tools\SpecialChar menuseparator
27318 Preferences\SpecialChar menuseparator
27319 File Handling\SpecialChar menuseparator
27326 This command must occur exactly once.
27327 If the resulting file format is PDF, you need to specify the format
27328 \begin_inset Flex Code
27331 \begin_layout Plain Layout
27338 This is the PDF format used for including graphics.
27339 The other defined PDF formats are for document export.
27342 \begin_layout Description
27343 \begin_inset Flex Code
27346 \begin_layout Plain Layout
27348 \begin_inset space ~
27356 The file name of the converted file.
27357 The file name must be absolute.
27358 This command must occur exactly once.
27361 \begin_layout Subsection
27362 Preamble definitions
27365 \begin_layout Standard
27366 The external template configuration file may contain additional preamble
27367 definitions enclosed by
27368 \begin_inset Flex Code
27371 \begin_layout Plain Layout
27379 \begin_inset Flex Code
27382 \begin_layout Plain Layout
27389 They can be used by the templates in the
27390 \begin_inset Flex Code
27393 \begin_layout Plain Layout
27402 \begin_layout Section
27403 The substitution mechanism
27406 \begin_layout Standard
27407 When the external material facility invokes an external program, it is done
27408 on the basis of a command defined in the template configuration file.
27409 These commands can contain various macros that are expanded before execution.
27410 Execution always take place in the directory of the containing document.
27413 \begin_layout Standard
27414 Also, whenever external material is to be displayed, the name will be produced
27415 by the substitution mechanism, and most other commands in the template
27416 definition support substitution as well.
27419 \begin_layout Standard
27420 The available macros are the following:
27423 \begin_layout Description
27424 \begin_inset Flex Code
27427 \begin_layout Plain Layout
27428 $$AbsOrRelPathMaster
27433 The file path, absolute or relative to the master \SpecialChar LyX
27437 \begin_layout Description
27438 \begin_inset Flex Code
27441 \begin_layout Plain Layout
27442 $$AbsOrRelPathParent
27447 The file path, absolute or relative to the \SpecialChar LyX
27451 \begin_layout Description
27452 \begin_inset Flex Code
27455 \begin_layout Plain Layout
27461 The absolute file path.
27464 \begin_layout Description
27465 \begin_inset Flex Code
27468 \begin_layout Plain Layout
27474 The filename without path and without the extension.
27477 \begin_layout Description
27478 \begin_inset Flex Code
27481 \begin_layout Plain Layout
27483 \begin_inset Quotes eld
27487 \begin_inset Quotes erd
27495 This macro will expand to the contents of the file with the name
27496 \begin_inset Flex Code
27499 \begin_layout Plain Layout
27508 \begin_layout Description
27509 \begin_inset Flex Code
27512 \begin_layout Plain Layout
27518 The file extension (including the dot).
27521 \begin_layout Description
27522 \begin_inset Flex Code
27525 \begin_layout Plain Layout
27531 This will be the string
27532 \begin_inset Quotes eld
27536 \begin_inset Quotes erd
27539 if the file is in JPEG format, otherwise it will be the string
27540 \begin_inset Quotes eld
27544 \begin_inset Quotes erd
27548 This is useful to avoid uneeded conversions for output formats that support
27549 both PNG and JPEG fomats.
27550 The predefined RasterImage template uses this macro for the pdf\SpecialChar TeX
27555 \begin_layout Description
27556 \begin_inset Flex Code
27559 \begin_layout Plain Layout
27565 The filename of the file specified in the external material dialog.
27566 This is either an absolute name, or it is relative to the \SpecialChar LyX
27570 \begin_layout Description
27571 \begin_inset Flex Code
27574 \begin_layout Plain Layout
27581 \begin_inset Flex Code
27584 \begin_layout Plain Layout
27590 (absolute name or relative to the \SpecialChar LyX
27594 \begin_layout Description
27595 \begin_inset Flex Code
27598 \begin_layout Plain Layout
27604 The file path, relative to the master \SpecialChar LyX
27608 \begin_layout Description
27609 \begin_inset Flex Code
27612 \begin_layout Plain Layout
27618 The file path, relative to the \SpecialChar LyX
27622 \begin_layout Description
27623 \begin_inset Flex Code
27626 \begin_layout Plain Layout
27632 This macro will expand to the absolute path of the system directory.
27633 This is typically used to point to the various helper scripts that are
27634 bundled with \SpecialChar LyX
27638 \begin_layout Description
27639 \begin_inset Flex Code
27642 \begin_layout Plain Layout
27648 A name and full path to a temporary file which will be automatically deleted
27649 whenever the containing document is closed, or the external material insertion
27653 \begin_layout Standard
27654 All path macros contain a trailing directory separator, so you can construct
27656 \begin_inset space \thinspace{}
27660 \begin_inset space \space{}
27663 the absolute filename with
27664 \begin_inset Flex Code
27667 \begin_layout Plain Layout
27668 $$AbsPath$$Basename$$Extension
27676 \begin_layout Standard
27677 The macros above are substituted in all commands unless otherwise noted.
27679 \begin_inset Flex Code
27682 \begin_layout Plain Layout
27688 supports additionally the following substitutions if they are enabled by
27690 \begin_inset Flex Code
27693 \begin_layout Plain Layout
27700 \begin_inset Flex Code
27703 \begin_layout Plain Layout
27712 \begin_layout Description
27713 \begin_inset Flex Code
27716 \begin_layout Plain Layout
27722 The front part of the resize command.
27725 \begin_layout Description
27726 \begin_inset Flex Code
27729 \begin_layout Plain Layout
27735 The back part of the resize command.
27738 \begin_layout Description
27739 \begin_inset Flex Code
27742 \begin_layout Plain Layout
27748 The front part of the rotation command.
27751 \begin_layout Description
27752 \begin_inset Flex Code
27755 \begin_layout Plain Layout
27761 The back part of the rotation command.
27764 \begin_layout Standard
27765 The value string of the
27766 \begin_inset Flex Code
27769 \begin_layout Plain Layout
27775 command supports additionally the following substitutions if they are enabled
27777 \begin_inset Flex Code
27780 \begin_layout Plain Layout
27787 \begin_inset Flex Code
27790 \begin_layout Plain Layout
27799 \begin_layout Description
27800 \begin_inset Flex Code
27803 \begin_layout Plain Layout
27812 \begin_layout Description
27813 \begin_inset Flex Code
27816 \begin_layout Plain Layout
27825 \begin_layout Description
27826 \begin_inset Flex Code
27829 \begin_layout Plain Layout
27838 \begin_layout Description
27839 \begin_inset Flex Code
27842 \begin_layout Plain Layout
27848 The rotation option.
27851 \begin_layout Standard
27852 You may ask why there are so many path macros.
27853 There are mainly two reasons:
27856 \begin_layout Enumerate
27857 Relative and absolute file names should remain relative or absolute, respectivel
27859 Users may have reasons to prefer either form.
27860 Relative names are useful for portable documents that should work on different
27861 machines, for example.
27862 Absolute names may be required by some programs.
27865 \begin_layout Enumerate
27867 treats relative file names differently than \SpecialChar LyX
27868 and other programs in nested
27870 For \SpecialChar LyX
27871 , a relative file name is always relative to the document that contains
27873 For \SpecialChar LaTeX
27874 , it is always relative to the master document.
27875 These two definitions are identical if you have only one document, but
27876 differ if you have a master document that includes part documents.
27877 That means that relative filenames must be transformed when presented to
27880 Fortunately \SpecialChar LyX
27881 does this automatically for you if you choose the right macros.
27884 \begin_layout Standard
27885 So which path macro should be used in new template definitions? The rule
27889 \begin_layout Itemize
27891 \begin_inset Flex Code
27894 \begin_layout Plain Layout
27900 if an absolute path is required.
27903 \begin_layout Itemize
27905 \begin_inset Flex Code
27908 \begin_layout Plain Layout
27909 $$AbsOrRelPathMaster
27914 if the substituted string is some kind of \SpecialChar LaTeX
27918 \begin_layout Itemize
27920 \begin_inset Flex Code
27923 \begin_layout Plain Layout
27924 $$AbsOrRelPathParent
27929 in order to preserve the user's choice.
27932 \begin_layout Standard
27933 There are special cases where this rule does not work and e.
27934 \begin_inset space \thinspace{}
27938 \begin_inset space \space{}
27941 relative names are needed, but normally it will work just fine.
27942 One example for such a case is the command
27943 \begin_inset Flex Code
27946 \begin_layout Plain Layout
27947 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
27952 in the XFig template above: We can't use the absolute name because the
27954 \begin_inset Flex Code
27957 \begin_layout Plain Layout
27963 files needs the relative name in order to rewrite the file content.
27966 \begin_layout Section
27967 Security discussion
27968 \begin_inset CommandInset label
27970 name "sec:Security-discussion"
27977 \begin_layout Standard
27978 The external material feature interfaces with a lot of external programs
27979 and does so automatically, so we have to consider the security implications
27981 In particular, since you have the option of including your own filenames
27982 and/or parameter strings and those are expanded into a command, it seems
27983 that it would be possible to create a malicious document which executes
27984 arbitrary commands when a user views or prints the document.
27985 This is something we definitely want to avoid.
27988 \begin_layout Standard
27989 However, since the external program commands are specified in the template
27990 configuration file only, there are no security issues if \SpecialChar LyX
27991 is properly configure
27992 d with safe templates only.
27993 This is so because the external programs are invoked with the
27994 \begin_inset Flex Code
27997 \begin_layout Plain Layout
28003 -system call rather than the
28004 \begin_inset Flex Code
28007 \begin_layout Plain Layout
28013 system-call, so it's not possible to execute arbitrary commands from the
28014 filename or parameter section via the shell.
28017 \begin_layout Standard
28018 This also implies that you are restricted in what command strings you can
28019 use in the external material templates.
28020 In particular, pipes and redirection are not readily available.
28021 This has to be so if \SpecialChar LyX
28022 should remain safe.
28023 If you want to use some of the shell features, you should write a safe
28024 script to do this in a controlled manner, and then invoke the script from
28025 the command string.
28029 \begin_layout Standard
28030 It is possible to design a template that interacts directly with the shell,
28031 but since this would allow a malicious user to execute arbitrary commands
28032 by writing clever filenames and/or parameters, we generally recommend that
28033 you only use safe scripts that work with the
28034 \begin_inset Flex Code
28037 \begin_layout Plain Layout
28043 system call in a controlled manner.
28044 Of course, for use in a controlled environment, it can be tempting to just
28045 fall back to use ordinary shell scripts.
28046 If you do so, be aware that you
28050 provide an easily exploitable security hole in your system.
28051 Of course it stands to reason that such unsafe templates will never be
28052 included in the standard \SpecialChar LyX
28053 distribution, although we do encourage people
28054 to submit new templates in the open source tradition.
28055 But \SpecialChar LyX
28056 as shipped from the official distribution channels will never have
28060 \begin_layout Standard
28061 Including external material provides a lot of power, and you have to be
28062 careful not to introduce security hazards with this power.
28063 A subtle error in a single line in an innocent looking script can open
28064 the door to huge security problems.
28065 So if you do not fully understand the issues, we recommend that you consult
28066 a knowledgeable security professional or the \SpecialChar LyX
28067 development team if you have
28068 any questions about whether a given template is safe or not.
28069 And do this before you use it in an uncontrolled environment.
28072 \begin_layout Chapter
28074 List of supported \SpecialChar LyX
28075 functions to be used in layouts
28076 \begin_inset CommandInset label
28078 name "chap:List-of-functions"
28085 \begin_layout Standard
28087 \begin_inset Tabular
28088 <lyxtabular version="3" rows="11" columns="8">
28089 <features tabularvalignment="middle">
28090 <column alignment="left" valignment="top">
28091 <column alignment="left" valignment="top">
28092 <column alignment="left" valignment="top">
28093 <column alignment="left" valignment="top">
28094 <column alignment="left" valignment="top">
28095 <column alignment="left" valignment="top">
28096 <column alignment="left" valignment="top">
28097 <column alignment="left" valignment="top">
28099 <cell alignment="left" valignment="top" usebox="none">
28102 \begin_layout Plain Layout
28108 <cell alignment="left" valignment="top" usebox="none">
28111 \begin_layout Plain Layout
28117 <cell alignment="left" valignment="top" usebox="none">
28120 \begin_layout Plain Layout
28126 <cell alignment="left" valignment="top" usebox="none">
28129 \begin_layout Plain Layout
28135 <cell alignment="center" valignment="top" usebox="none">
28138 \begin_layout Plain Layout
28144 <cell alignment="center" valignment="top" usebox="none">
28147 \begin_layout Plain Layout
28153 <cell alignment="center" valignment="top" usebox="none">
28156 \begin_layout Plain Layout
28162 <cell alignment="center" valignment="top" usebox="none">
28165 \begin_layout Plain Layout
28173 <cell alignment="left" valignment="top" usebox="none">
28176 \begin_layout Plain Layout
28182 <cell alignment="left" valignment="top" usebox="none">
28185 \begin_layout Plain Layout
28191 <cell alignment="left" valignment="top" usebox="none">
28194 \begin_layout Plain Layout
28200 <cell alignment="left" valignment="top" usebox="none">
28203 \begin_layout Plain Layout
28209 <cell alignment="center" valignment="top" usebox="none">
28212 \begin_layout Plain Layout
28218 <cell alignment="center" valignment="top" usebox="none">
28221 \begin_layout Plain Layout
28227 <cell alignment="center" valignment="top" usebox="none">
28230 \begin_layout Plain Layout
28236 <cell alignment="center" valignment="top" usebox="none">
28239 \begin_layout Plain Layout
28247 <cell alignment="left" valignment="top" usebox="none">
28250 \begin_layout Plain Layout
28256 <cell alignment="left" valignment="top" usebox="none">
28259 \begin_layout Plain Layout
28265 <cell alignment="left" valignment="top" usebox="none">
28268 \begin_layout Plain Layout
28274 <cell alignment="left" valignment="top" usebox="none">
28277 \begin_layout Plain Layout
28283 <cell alignment="center" valignment="top" usebox="none">
28286 \begin_layout Plain Layout
28292 <cell alignment="center" valignment="top" usebox="none">
28295 \begin_layout Plain Layout
28301 <cell alignment="center" valignment="top" usebox="none">
28304 \begin_layout Plain Layout
28310 <cell alignment="center" valignment="top" usebox="none">
28313 \begin_layout Plain Layout
28321 <cell alignment="left" valignment="top" usebox="none">
28324 \begin_layout Plain Layout
28330 <cell alignment="left" valignment="top" usebox="none">
28333 \begin_layout Plain Layout
28339 <cell alignment="left" valignment="top" usebox="none">
28342 \begin_layout Plain Layout
28348 <cell alignment="left" valignment="top" usebox="none">
28351 \begin_layout Plain Layout
28357 <cell alignment="center" valignment="top" usebox="none">
28360 \begin_layout Plain Layout
28366 <cell alignment="center" valignment="top" usebox="none">
28369 \begin_layout Plain Layout
28375 <cell alignment="center" valignment="top" usebox="none">
28378 \begin_layout Plain Layout
28384 <cell alignment="center" valignment="top" usebox="none">
28387 \begin_layout Plain Layout
28395 <cell alignment="left" valignment="top" usebox="none">
28398 \begin_layout Plain Layout
28404 <cell alignment="left" valignment="top" usebox="none">
28407 \begin_layout Plain Layout
28413 <cell alignment="left" valignment="top" usebox="none">
28416 \begin_layout Plain Layout
28422 <cell alignment="left" valignment="top" usebox="none">
28425 \begin_layout Plain Layout
28431 <cell alignment="center" valignment="top" usebox="none">
28434 \begin_layout Plain Layout
28440 <cell alignment="center" valignment="top" usebox="none">
28443 \begin_layout Plain Layout
28449 <cell alignment="center" valignment="top" usebox="none">
28452 \begin_layout Plain Layout
28458 <cell alignment="center" valignment="top" usebox="none">
28461 \begin_layout Plain Layout
28469 <cell alignment="left" valignment="top" usebox="none">
28472 \begin_layout Plain Layout
28478 <cell alignment="left" valignment="top" usebox="none">
28481 \begin_layout Plain Layout
28487 <cell alignment="left" valignment="top" usebox="none">
28490 \begin_layout Plain Layout
28496 <cell alignment="left" valignment="top" usebox="none">
28499 \begin_layout Plain Layout
28505 <cell alignment="center" valignment="top" usebox="none">
28508 \begin_layout Plain Layout
28514 <cell alignment="center" valignment="top" usebox="none">
28517 \begin_layout Plain Layout
28523 <cell alignment="center" valignment="top" usebox="none">
28526 \begin_layout Plain Layout
28532 <cell alignment="center" valignment="top" usebox="none">
28535 \begin_layout Plain Layout
28543 <cell alignment="left" valignment="top" usebox="none">
28546 \begin_layout Plain Layout
28552 <cell alignment="left" valignment="top" usebox="none">
28555 \begin_layout Plain Layout
28561 <cell alignment="left" valignment="top" usebox="none">
28564 \begin_layout Plain Layout
28570 <cell alignment="left" valignment="top" usebox="none">
28573 \begin_layout Plain Layout
28579 <cell alignment="center" valignment="top" usebox="none">
28582 \begin_layout Plain Layout
28588 <cell alignment="center" valignment="top" usebox="none">
28591 \begin_layout Plain Layout
28597 <cell alignment="center" valignment="top" usebox="none">
28600 \begin_layout Plain Layout
28606 <cell alignment="center" valignment="top" usebox="none">
28609 \begin_layout Plain Layout
28617 <cell alignment="left" valignment="top" usebox="none">
28620 \begin_layout Plain Layout
28626 <cell alignment="left" valignment="top" usebox="none">
28629 \begin_layout Plain Layout
28635 <cell alignment="left" valignment="top" usebox="none">
28638 \begin_layout Plain Layout
28644 <cell alignment="left" valignment="top" usebox="none">
28647 \begin_layout Plain Layout
28653 <cell alignment="center" valignment="top" usebox="none">
28656 \begin_layout Plain Layout
28662 <cell alignment="center" valignment="top" usebox="none">
28665 \begin_layout Plain Layout
28671 <cell alignment="center" valignment="top" usebox="none">
28674 \begin_layout Plain Layout
28680 <cell alignment="center" valignment="top" usebox="none">
28683 \begin_layout Plain Layout
28691 <cell alignment="left" valignment="top" usebox="none">
28694 \begin_layout Plain Layout
28700 <cell alignment="left" valignment="top" usebox="none">
28703 \begin_layout Plain Layout
28709 <cell alignment="left" valignment="top" usebox="none">
28712 \begin_layout Plain Layout
28718 <cell alignment="left" valignment="top" usebox="none">
28721 \begin_layout Plain Layout
28727 <cell alignment="center" valignment="top" usebox="none">
28730 \begin_layout Plain Layout
28736 <cell alignment="center" valignment="top" usebox="none">
28739 \begin_layout Plain Layout
28745 <cell alignment="center" valignment="top" usebox="none">
28748 \begin_layout Plain Layout
28754 <cell alignment="center" valignment="top" usebox="none">
28757 \begin_layout Plain Layout
28765 <cell alignment="left" valignment="top" usebox="none">
28768 \begin_layout Plain Layout
28774 <cell alignment="left" valignment="top" usebox="none">
28777 \begin_layout Plain Layout
28783 <cell alignment="left" valignment="top" usebox="none">
28786 \begin_layout Plain Layout
28792 <cell alignment="left" valignment="top" usebox="none">
28795 \begin_layout Plain Layout
28801 <cell alignment="center" valignment="top" usebox="none">
28804 \begin_layout Plain Layout
28810 <cell alignment="center" valignment="top" usebox="none">
28813 \begin_layout Plain Layout
28819 <cell alignment="center" valignment="top" usebox="none">
28822 \begin_layout Plain Layout
28828 <cell alignment="center" valignment="top" usebox="none">
28831 \begin_layout Plain Layout
28839 <cell alignment="center" valignment="top" usebox="none">
28842 \begin_layout Plain Layout
28848 <cell alignment="center" valignment="top" usebox="none">
28851 \begin_layout Plain Layout
28857 <cell alignment="center" valignment="top" usebox="none">
28860 \begin_layout Plain Layout
28866 <cell alignment="center" valignment="top" usebox="none">
28869 \begin_layout Plain Layout
28875 <cell alignment="center" valignment="top" usebox="none">
28878 \begin_layout Plain Layout
28884 <cell alignment="center" valignment="top" usebox="none">
28887 \begin_layout Plain Layout
28893 <cell alignment="center" valignment="top" usebox="none">
28896 \begin_layout Plain Layout
28902 <cell alignment="center" valignment="top" usebox="none">
28905 \begin_layout Plain Layout
28919 \begin_layout Chapter
28920 Names of available colors to be used in layouts
28921 \begin_inset CommandInset label
28923 name "chap:Names-of-colors"
28930 \begin_layout Standard
28931 The colors listed below are the standard colors and those that you can adjust
28932 in the \SpecialChar LyX
28936 \begin_layout Section
28940 \begin_layout Standard
28941 The following are no real colors, but rather act on color definitions:
28944 \begin_layout Description
28945 ignore The color is ignored
28948 \begin_layout Description
28949 inherit The color is inherited
28952 \begin_layout Description
28965 No particular color – clear or default
28968 \begin_layout Section
28972 \begin_layout Standard
28973 These are fixed colors that cannot me customized:
28976 \begin_layout Description
28980 \begin_layout Description
28984 \begin_layout Description
28988 \begin_layout Description
28992 \begin_layout Description
28996 \begin_layout Description
29000 \begin_layout Description
29004 \begin_layout Description
29008 \begin_layout Description
29012 \begin_layout Description
29016 \begin_layout Description
29020 \begin_layout Description
29024 \begin_layout Description
29028 \begin_layout Description
29032 \begin_layout Description
29036 \begin_layout Description
29040 \begin_layout Description
29044 \begin_layout Description
29048 \begin_layout Description
29052 \begin_layout Section
29056 \begin_layout Standard
29057 These are the colors allocated to specific elements in
29060 arg "dialog-show prefs"
29066 \begin_layout Description
29067 added_space Added space color
29070 \begin_layout Description
29071 addedtext Added text color
29074 \begin_layout Description
29075 appendix Appendix marker color
29078 \begin_layout Description
29079 background Background color
29082 \begin_layout Description
29083 bottomarea Bottom area color
29086 \begin_layout Description
29087 branchlabel Label color for branches
29090 \begin_layout Description
29091 buttonbg Color used for button background
29094 \begin_layout Description
29095 buttonframe Color for inset button frames
29098 \begin_layout Description
29099 buttonhoverbg Color used for button background under focus
29102 \begin_layout Description
29103 changebar Changebar color
29106 \begin_layout Description
29107 changedtextauthor1 Changed text color author 1
29110 \begin_layout Description
29111 changedtextauthor2 Changed text color author 2
29114 \begin_layout Description
29115 changedtextauthor3 Changed text color author 3
29118 \begin_layout Description
29119 changedtextauthor4 Changed text color author 4
29122 \begin_layout Description
29123 changedtextauthor5 Changed text color author 5
29126 \begin_layout Description
29127 collapsible Collapsible insets text color
29130 \begin_layout Description
29131 collapsibleframe Collapsible insets framecolor
29134 \begin_layout Description
29135 command Text color for command insets
29138 \begin_layout Description
29139 commandbg Background color for command insets
29142 \begin_layout Description
29143 commandframe Frame color for command insets
29146 \begin_layout Description
29147 comment Label color for comments
29150 \begin_layout Description
29151 commentbg Background color of comments
29154 \begin_layout Description
29155 cursor Cursor color
29158 \begin_layout Description
29159 deletedtext Deleted text color
29162 \begin_layout Description
29163 deletedtextmodifier Deleted text modifying color
29166 \begin_layout Description
29167 depthbar Color for the depth bars in the margin
29170 \begin_layout Description
29171 eolmarker End of line marker color
29174 \begin_layout Description
29175 error Color of the \SpecialChar LaTeX
29179 \begin_layout Description
29180 footlabel Label color for footnotes
29183 \begin_layout Description
29184 foreground Foreground color
29187 \begin_layout Description
29188 graphicsbg Graphics inset background color
29191 \begin_layout Description
29192 greyedoutbg Background color of greyedout inset
29195 \begin_layout Description
29196 greyedoutlabel Label color for greyedout insets
29199 \begin_layout Description
29200 greyedouttext Color for greyedout inset text
29203 \begin_layout Description
29204 indexlabel Label color for index insets
29207 \begin_layout Description
29208 inlinecompletion Inline completion color
29211 \begin_layout Description
29212 insetbg Inset marker background color
29215 \begin_layout Description
29216 insetframe Inset marker frame color
29219 \begin_layout Description
29220 language Color for marking foreign language words
29223 \begin_layout Description
29224 latex Text color in \SpecialChar LaTeX
29228 \begin_layout Description
29229 listingsbg Background color of listings inset
29232 \begin_layout Description
29233 marginlabel Label color for margin notes
29236 \begin_layout Description
29237 math Math inset text color
29240 \begin_layout Description
29241 mathbg Math inset background color
29244 \begin_layout Description
29245 mathcorners Math inset frame color not under focus
29248 \begin_layout Description
29249 mathframe Math inset frame color under focus
29252 \begin_layout Description
29253 mathline Math line color
29256 \begin_layout Description
29257 mathmacrobg Macro math inset background color
29260 \begin_layout Description
29261 mathmacroblend Macro math blended color
29264 \begin_layout Description
29265 mathmacroframe Macro math frame color
29268 \begin_layout Description
29269 mathmacrohoverbg Macro math inset background color hovered
29272 \begin_layout Description
29273 mathmacrolabel Macro math label color
29276 \begin_layout Description
29277 mathmacronewarg Macro template color for new parameters
29280 \begin_layout Description
29281 mathmacrooldarg Macro template color for old parameters
29284 \begin_layout Description
29285 newpage New page color
29288 \begin_layout Description
29289 nonunique_inlinecompletion Inline completion color for the non-unique part
29292 \begin_layout Description
29293 note Label color for notes
29296 \begin_layout Description
29297 notebg Background color of notes
29300 \begin_layout Description
29301 pagebreak Page break/line break color
29304 \begin_layout Description
29305 paragraphmarker Color used for the pilcrow sign to mark the end of a paragraph
29308 \begin_layout Description
29309 phantomtext Text color for phantom insets
29312 \begin_layout Description
29313 preview The color used for previews
29316 \begin_layout Description
29317 previewframe Preview frame color
29320 \begin_layout Description
29321 regexpframe Color for regexp frame
29324 \begin_layout Description
29325 scroll Color that indicates when a row can be scrolled
29328 \begin_layout Description
29329 selection Background color of selected text
29332 \begin_layout Description
29333 selectiontext Foreground color of selected text
29336 \begin_layout Description
29337 shadedbg Background color of shaded box
29340 \begin_layout Description
29341 special Special chars text color
29344 \begin_layout Description
29345 tabularline Table line color
29348 \begin_layout Description
29349 tabularonoffline Table line color
29352 \begin_layout Description
29353 urllabel Label color for URL insets
29356 \begin_layout Description
29357 urltext Color for URL inset text