1 #LyX 1.5.0svn created this file. For more info see http://www.lyx.org/
8 \IfFileExists{isolatin.def}
9 {\usepackage[isolatin]{inputenc}}
10 {\usepackage[latin1]{inputenc}}
13 \inputencoding default
16 \font_typewriter default
17 \font_default_family default
23 \paperfontsize default
31 \paperorientation portrait
34 \paragraph_separation indent
36 \quotes_language english
39 \paperpagestyle headings
40 \tracking_changes false
43 \author "Jean-Marc Lasgouttes"
49 Customizing LyX: Features for the Advanced User
57 \begin_layout Standard
59 Principal maintainer of this file is
64 If you have comments or error corrections, please send them to the LyX
65 Documentation mailing list, <lyx-docs@lists.lyx.org>.
73 \begin_layout Standard
74 \begin_inset LatexCommand tableofcontents
85 \begin_layout Standard
86 This manual covers the customization features present in LyX.
87 In it, we discuss issues like keyboard shortcuts, screen previewing options,
88 printer options, sending commands to LyX via the LyX Server, internationalizati
89 on, installing new LaTeX classes and LyX layouts, etc.
90 We can't possibly hope to touch on everything you can change---our developers
91 add new features faster than we can document them---but we will explain
92 the most common customizations and hopefully point you in the right direction
93 for some of the more obscure ones.
97 LyX configuration files
100 \begin_layout Standard
101 \begin_inset LatexCommand label
106 This chapter aims to help you to find your way through the LyX configuration
108 Before continuing to read this chapter, you should find out where your
109 LyX library directory is by using
114 elp\SpecialChar \menuseparator
122 This directory is the place where LyX places its system-wide configuration
123 files, and we will simply name it
127 in the remainder of this document.
131 \begin_layout Section
139 \begin_layout Standard
144 and its sub-directories contain a number of files and that can be used
145 to customise LyX's behaviour.
146 You can change many of these files from within LyX itself through the
151 ools\SpecialChar \menuseparator
159 Most customization that you might want to do to LyX is possible through
161 However, many other inner aspects of LyX can be customized by modifying
167 They fall in different categories, described in the following subsections.
170 \begin_layout Subsection
171 Automatically generated files
174 \begin_layout Standard
175 These files are generated when you configure LyX.
176 They contain various default values that are guessed by inspection.
177 In general, it is not a good idea to modify them, since they might be overwritt
182 \labelwidthstring 00.00.0000
189 contains defaults for various commands.
193 \labelwidthstring 00.00.0000
200 contains the list of packages that have been recognized by LyX.
201 It is currently unused by the LyX program itself, but the information extracted
202 , and more, is made available with
207 elp\SpecialChar \menuseparator
219 \labelwidthstring 00.00.0000
226 is the list of text classes that have been found in your
230 directory, along with the associated LaTeX document class and their description.
234 \labelwidthstring 00.00.0000
239 is automatically generated during configuration from the file
246 \begin_layout Subsection
251 \labelwidthstring 00.00.0000
258 this directory contains files with the extension
262 that define the keybindings used in LyX (see section\InsetSpace ~
264 \begin_inset LatexCommand ref
265 reference "sec:bindings"
270 If there exists an internationalized version of the bind file named
274 , that will be used first.
275 See Chapter\InsetSpace ~
277 \begin_inset LatexCommand ref
278 reference "chap:i18n"
283 \begin_inset LatexCommand ref
284 reference "sec:bindings"
292 \labelwidthstring 00.00.0000
299 contains graphics files that can be included in documents.
304 \labelwidthstring 00.00.0000
311 contains LyX documentation files (including the one you are currently reading).
316 deserves special attention, as noted above.
317 If there exists an internationalized version of the help-document with
322 prepended to the name, that will be used first.
323 See Chapter\InsetSpace ~
325 \begin_inset LatexCommand ref
326 reference "chap:i18n"
334 \labelwidthstring 00.00.0000
341 contains example files that explain how to use some features.
342 In the file browser, press the
350 \labelwidthstring 00.00.0000
355 contains image files that are used by the
360 In addition, it also contains the individual icons used in the toolbar
361 and the banners that can be shown when LyX is launched.
365 \labelwidthstring 00.00.0000
372 contains keyboard keymapping files.
373 See Chapter\InsetSpace ~
375 \begin_inset LatexCommand ref
376 reference "sec:keymap"
384 \labelwidthstring 00.00.0000
391 contains the text class files described in Chapter\InsetSpace ~
393 \begin_inset LatexCommand ref
394 reference "chap:textclass"
402 \labelwidthstring 00.00.0000
407 contains some files that demonstrate the capabilities of the
409 External\InsetSpace ~
416 \labelwidthstring 00.00.0000
421 contains the standard LyX template files described in Chapter\InsetSpace ~
423 \begin_inset LatexCommand ref
424 reference "sec:templates"
432 \labelwidthstring 00.00.0000
437 contains some LaTeX cls files distributed with LyX.
441 \labelwidthstring 00.00.0000
446 contains files with the extension
450 that define the user interface to LyX.
451 That is, the files define which items appear in which menus and the items
452 appearing on the toolbar.
453 See Chapter\InsetSpace ~
455 \begin_inset LatexCommand ref
463 \begin_layout Subsection
464 Files you don't want to modify
467 \begin_layout Standard
468 These files are used internally by LyX and you generally do not need to
469 modify them unless you are a developer.
473 \labelwidthstring 00.00.0000
480 this file contains the list of LyX developers.
481 The contents are displayed with the menu entry
486 elp\SpecialChar \menuseparator
494 \labelwidthstring 00.00.0000
501 this is a LaTeX script used during the configuration process.
506 \labelwidthstring 00.00.0000
513 this is the script that is used to re-configure LyX.
514 It creates configuration files in the directory it was run from.
517 \begin_layout Subsection
518 Other files needing a line or two...
522 \labelwidthstring 00.00.0000
527 this contains tables describing how different character encodings can be
532 \labelwidthstring 00.00.0000
537 this file contains the templates available to the new
539 External\InsetSpace ~
546 \labelwidthstring 00.00.0000
551 this file contains a list of all the languages currently supported by LyX.
554 \begin_layout Section
555 Your local configuration directory
558 \begin_layout Standard
559 Even if you are using LyX as an unprivileged user, you might want to change
560 LyX configuration for your own use.
565 directory contains all your personal configuration files.
566 This is the directory described as
567 \begin_inset Quotes eld
571 \begin_inset Quotes erd
579 elp\SpecialChar \menuseparator
584 This directory is used as a mirror of
588 , which means that every file in
592 is a replacement for the corresponding file in
597 Any configuration file described in the above sections can be placed either
598 in the system-wide directory, in which case it will affect all users, or
599 in your local directory for your own use.
602 \begin_layout Standard
603 To make things clearer, let's provide a few examples:
606 \begin_layout Itemize
607 The preferences set in the
612 ools\SpecialChar \menuseparator
619 dialog are saved to a file
630 \begin_layout Itemize
631 When you reconfigure using
636 ools\SpecialChar \menuseparator
647 and the resulting files are written in your local configuration directory
648 (see section\InsetSpace ~
650 \begin_inset LatexCommand ref
651 reference "sec:autodetected"
655 to have a list of the
659 settings affected by this section).
660 This means that any additional text class file that you might have added
665 will be added to the list of classes in the
670 ayout\SpecialChar \menuseparator
680 \begin_layout Itemize
681 Similarly, if you have installed some LaTeX document classes in your home
682 directory, that LaTeX can find with your
686 path, they will show up in your list of text classes.
690 \begin_layout Standard
691 as long as LyX or yourself have a
695 file for it, of course.
703 \begin_layout Itemize
704 If you get some updated documentation from LyX ftp site and cannot install
705 it because you do not have sysadmin rights on your system, you can just
720 \begin_layout Section
721 Running LyX with multiple configurations
724 \begin_layout Standard
725 The configuration freedom of the local configuration directory may not suffice
726 if you want to have more than one configuration at your disposal.
727 For example, you may want to be use different key bindings or printer settings
729 You can achieve this by having several such directories.
730 You then specify which directory to use at run-time.
733 \begin_layout Standard
734 Invoking LyX with the command line switch
742 instructs the program to read the configuration from that directory, and
743 not from the default directory (you can determine the default directory
744 by running LyX without this switch as described above).
745 If this directory does not exist, LyX offers to create it for you, just
746 like it does for the default directory on the first time you run the program.
747 You can modify the configuration options in this additional
751 exactly as you would for the default directory.
752 These directories are completely independent (but read on).
753 Note that setting the environment variable
757 to some value has exactly the same effect
762 \begin_layout Standard
763 Having several configurations also requires more maintenance: if you want
764 to add a new layout to
768 which you want available from all your configurations, you must add it
769 to each directory separately.
770 You can avoid this with the following trick: after LyX creates the additional
771 directory, most of the subdirectories (see above) are empty.
772 If you want the new configuration to mirror an existing one, replace the
773 empty subdirectory with a symbolic link to the matching subdirectory in
774 the existing configuration.
781 subirectory, however, since it contains a file written by the configuration
782 script (also accessible through
787 ools\SpecialChar \menuseparator
793 \begin_inset LatexCommand ref
794 reference "sec:autodetected"
800 which is configuration-specific.
803 \begin_layout Chapter
814 \begin_layout Section
815 Using the dialog for the first time
818 \begin_layout Standard
823 file will contain only changes that you have made to the default behaviour,
824 some of which is hard-coded into LyX and some of which is contained in
827 LyXDir/lyxrc.defaults
830 Note that in both files lines beginning with a
831 \begin_inset Quotes eld
839 \begin_inset Quotes erd
842 are just comments and not interpreted.
843 However, only system administrators should edit
853 ools\SpecialChar \menuseparator
860 dialog to create and modify their own
867 \begin_layout Standard
873 ools\SpecialChar \menuseparator
880 dialog will be largely self-explanatory.
881 Almost all the commands have an associated comment, so you shouldn't have
882 too much trouble modifying it to taste.
883 Before we highlight a few of the more important commands below, however,
888 ing some of your changes (e.g., screen fonts) will have an instant effect.
890 changing the bind file) will not.
891 If nothing appears to have changed, just
895 the changes and restart LyX.
898 \begin_layout Section
902 \begin_layout Standard
903 The font used to display your documents on the LyX screen is very important,
904 since you'll be reading all your documents with this font.
905 Therefore it is important that the font is as readable and good-looking
907 The LyX team tried to provide the best possible default font for you, but
908 since practically all X11 systems are different, it's likely that the default
909 fonts will be sub-optimal on your system.
910 Fortunately, you can do something about this.
911 Before we explain how to do this, you should learn a bit more about fonts
912 so that you are better prepared for choosing your fonts, because it is
913 a trade-off that is specific to your preferences and the capabilities of
917 \begin_layout Standard
918 Notice that this section only deals with the fonts on the
922 inside the LyX window.
923 The fonts that appear on the
931 are independent from these fonts, and are determined by the document class.
936 to learn how to change the font of the printed version of your document.
939 \begin_layout Standard
940 Basically, screen fonts come in two different kinds: scalable outline fonts
941 and non-scalable bitmap fonts.
942 This distinction seems a bit arbitrary, since non-scalable fonts are actually
943 scalable in most modern font renderers.
944 The difference lies in the
948 of the scaling, and the
953 The most important decision is thus whether you should use non-scalable
954 bitmap fonts or scalable outline fonts.
957 \begin_layout Standard
958 The scalable fonts are built from
962 of the single glyphs (i.e.
963 characters) in the font.
964 This means that each glyph is defined using mathematical curves that are
965 well suited for scaling to any requested size.
966 This mathematical definition is interpreted by the font renderer and turned
967 into a small picture composed of pixels according to which size and glyph,
968 the programmer requests.
969 This means that scalable fonts will look pretty good in all sizes.
970 Well, almost all sizes.
971 Since scalable fonts are defined in an abstract way, it can be hard to
972 provide a good rendering at small sizes, where each pixel has to be very
973 carefully computed to provide a good image.
974 Technically it is possible to do this from the mathematical definition,
975 but in order to keep the rendering reasonably fast, tradeoffs have to be
976 made, and the result is that scalable fonts can be difficult to read at
980 \begin_layout Standard
981 Bitmap fonts on the other hand, are defined by bitmap graphics from the
982 start, so they will look good at all the sizes they are meant for.
983 However, they don't scale well, because in order to scale a glyph, each
984 pixel is enlarged into several pixels.
985 It is the same effect that happens if you try to enlarge a picture in
989 or any other picture manipulation program.
990 In order to relieve this effect, bitmap fonts are typically provided in
991 several fixed sizes typically from around 8 pixels high up to 34 pixels
992 or so high in steps according to what is believed to be useful.
993 The advantage of bitmap fonts is that no complicated computations are necessary
994 to display each glyph, so bitmap fonts are thus faster displayed than scalable
996 The disadvantage is that sizes that don't exists as fixed versions have
997 to be scaled by doubling pixels, and thus look bad.
1000 \begin_layout Standard
1001 The net result of all this, is that bitmap fonts are generally best for
1002 the small sizes, where they are available, while scalable fonts are generally
1003 best for large sizes.
1004 The logical conclusion would thus be to use bitmap fonts for the small
1005 sizes, and scalable fonts for the large sizes.
1006 Unfortunately, this is not a good idea, since bitmap fonts and scalable
1007 fonts are not designed to be used together, so the overall look of such
1008 a scheme would be bad.
1009 The best you can do is thus to try both schemes and decide for yourself
1013 \begin_layout Standard
1014 By default, LyX uses non-scalable bitmap fonts (when using the XForms frontend).
1019 is used, for sans serif fonts,
1027 is used as the monospaced/typewriter font.
1030 \begin_layout Standard
1031 In the following, we will describe what to do if the text does not look
1033 We'll start with the most important parameters: DPI and font zoom.
1036 \begin_layout Subsection
1037 DPI setting and Font Zoom
1040 \begin_layout Standard
1041 LyX automatically tries to scale the fonts to look as close as the paper
1042 output size as possible, except for the so-called font zoom factor.
1045 \begin_layout Standard
1046 In order for this to work on all systems, it relies on the screen DPI (dots
1047 per inch) setting to be correct.
1048 The DPI setting for your system is autodetected by LyX using the information
1049 the X server can provide.
1050 You can check what LyX autodetects the DPI setting to, by running LyX as
1058 \begin_layout Standard
1059 On many systems, X is not set up correctly, so you should check that it
1062 \begin_inset Quotes eld
1070 \begin_inset Quotes erd
1073 and write down what the DPI is for the resolution you use (this will be
1074 close to the value LyX detects).
1075 It is the number mentioned as
1076 \begin_inset Quotes eld
1080 \begin_inset Quotes erd
1084 Also write down the number of pixels you have in the width (the first number
1086 \begin_inset Quotes eld
1090 \begin_inset Quotes erd
1096 \begin_layout Standard
1097 Then get the good old ruler out of the closet, and measure the width of
1098 the visible screen-image on your monitor.
1099 Convert this measurement to inches if you used a centimeter ruler by dividing
1101 Now you can determine the correct DPI setting for your screen by dividing
1102 the number of pixels in the width by the width of the screen-image on the
1104 If this number is more than, say, 5 DPI from the detected value, you should
1105 either fix the X setup, or at least tell LyX that the DPI is different
1106 than the detected value.
1109 \begin_layout Standard
1110 If you can't fix the X setup (which of course is best since other programs
1111 than LyX will benefit from this as well), you can tell LyX the correct
1119 \begin_layout Standard
1120 If the text is too small or too big for your taste, you should fiddle with
1121 the font zoom setting.
1122 This setting is used to scale the point size of the text.
1123 If your DPI setting is correct, and the font zoom setting is set to 100,
1124 this means that LyX will try to display the text exactly the same size
1125 as it will appear on the paper-output.
1126 If you set the zoom factor to 200, the text will try to be 2 times as big
1128 Of course, this will only happen if LyX can find a font that has the appropriat
1129 e size, which you can't count on.
1130 Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
1134 \begin_layout Standard
1135 The default font zoom setting is 150, since a monitor is typically wider
1136 than a piece of paper, but you should try to fiddle with it through the
1150 dialog to find a size that you like.
1151 When you've found a setting that seems to work nicely for you (tip: use
1159 button to keep the dialog open while you experiment), you can make this
1160 setting the default by using the
1170 \begin_layout Standard
1171 While it is often possible to find a suitable size for the text on the screen,
1172 this doesn't necessarily mean that the fonts are the best ones available
1174 In order to help you get the most out of your system, you can use the font
1175 definition commands to fine-tune the look of the text in greater detail
1179 \begin_layout Subsection
1180 Font definition commands
1183 \begin_layout Standard
1184 As mentioned, LyX uses non-scalable bitmap fonts by default with the XForms
1190 is used, for sans serif fonts,
1198 is used as the monospaced/typewriter font.
1201 \begin_layout Standard
1202 You can change all of these from within the
1207 The number of fonts that are available on different systems vary, but the
1212 should be available everywhere.
1213 Use that program to find candidate fonts.
1214 When you've found a font that you like, try to insert the first two elements
1216 \begin_inset Quotes eld
1220 \begin_inset Quotes erd
1224 \begin_inset Quotes eld
1228 \begin_inset Quotes erd
1235 ) in the appropriate field in the
1247 LyX will then reformat your document using the new font, and if you like
1248 the font, you should
1256 One place to start for a new font is to see if the scalable font
1257 \begin_inset Quotes eld
1261 \begin_inset Quotes erd
1265 Tip: You can see whether a font is a bitmap font or a scalable font by
1267 \begin_inset Quotes eld
1271 \begin_inset Quotes erd
1275 \begin_inset Quotes eld
1279 \begin_inset Quotes erd
1287 If the value 0 is available, the font is scalable.
1288 If the value 0 isn't available, the font is a bitmap font.
1291 \begin_layout Standard
1292 Before you go about scrapping a bitmap font because the larger sizes look
1294 \begin_inset Quotes eld
1298 \begin_inset Quotes erd
1301 , you should toggle the
1302 \begin_inset Quotes eld
1306 \begin_inset Quotes erd
1310 This is only useful if you use bitmap fonts, because only these don't scale
1312 If you define this flag, LyX will only use the fixed font sizes that are
1313 available, and this guarantees that all bitmap fonts look well.
1314 (You can see which individual font sizes are available with the
1323 .) However, the prize is that the difference between the size of the fonts
1324 on screen and the size of fonts on paper will be larger because LyX will
1325 have to be satisfied with the closest available size, and not try to scale
1327 Also, you can risk that some logically different sizes, such as
1335 , will be mapped to the same screen font, making it hard for you to see
1336 the difference on screen.
1337 We've decided not to use scalable fonts by default because of these artifacts,
1338 but since LyX is a WYSIWYM system, many people like to use the flag anyways,
1339 well-knowing that the font size on the screen can't be trusted.
1340 But remember that this flag only makes a difference when you use bitmap
1342 Scalable fonts won't be affected for reasons you should understand by now.
1345 \begin_layout Standard
1346 One final note regarding this flag: you should know that there is nothing
1347 wrong with using bitmap and scalable fonts at the same time for different
1349 For instance, it's common to use the scalable
1350 \begin_inset Quotes eld
1354 \begin_inset Quotes erd
1357 for the serif text together with a bitmap version of
1358 \begin_inset Quotes eld
1362 \begin_inset Quotes erd
1366 And you can safely select the
1367 \begin_inset Quotes eld
1371 \begin_inset Quotes erd
1374 button without worries: It will only apply to the Helvetica font.
1377 \begin_layout Standard
1378 Sometimes the artifacts introduced by use of the flag can be relieved by
1379 using the fine-detail screen font sizes which defines which point sizes
1380 the different logical font sizes correspond to.
1385 to see exactly what concrete fonts the logical sizes map to, and try adjusting
1386 the corresponding entries in the
1390 dialog until you've managed to hit the nail and get the fonts you want.
1391 This can be hard to do, because LyX uses the DPI setting and the font zoom
1392 settings to calculate which exact screen font size to ask the X server
1393 for, thus obfuscating the mapping.
1394 If you can't make it by trial-and-error, you can make the process more
1395 transparent if you set both the DPI setting and font zoom settings to 100---eve
1396 n when this is known to be wrong.
1397 This will of course make your scalable fonts look weird, so use with care.
1400 \begin_layout Subsection
1404 \begin_layout Standard
1405 By default, LyX will use fonts meant to write Western European text, including
1406 all kinds of English.
1407 This is defined through the so-called
1416 If you want to use LyX to write for instance Eastern European text, Cyrillic
1417 or any other language not covered by the ISO-8859-1 font encoding, you
1418 can define a different one with the encoding setting.
1419 This requires you to have special fonts installed.
1424 to see whether this is the case: check the
1425 \begin_inset Quotes eld
1429 \begin_inset Quotes erd
1433 \begin_inset Quotes eld
1437 \begin_inset Quotes erd
1440 fields for ISO-8859-X values different from ISO-8859-1, and search for
1441 one that contains the national characters of your language.
1442 If you find any, enter this encoding in the dialog.
1443 If not, go searching the Web for appropriate fonts.
1444 For the Qt frontend, it's recommended you use an iso646 font set.
1447 \begin_layout Standard
1448 When you've set LyX up to use a different font encoding, you should also
1449 consider changing the font used by dialog windows in LyX.
1456 dialog will not be understandable unless you tell LyX to use a different
1458 By default the menu font is set to
1460 -*-helvetica-medium-r
1462 , but often Helvetica is not available in the font encoding you need, so
1463 the dialog allows this to be changed.
1466 \begin_layout Standard
1467 As you can see, there are quite a few options that can be used to fine tune
1468 the look of your fonts.
1469 This should not scare you from fiddling with the settings, because after
1470 all, you will hopefully be using LyX for many hours in the future.
1471 And contrary to real WYSIWYG word processors where you are tied to using
1472 fonts that have to look good both on paper and on screen, LyX gives you
1473 the possibility of using fonts that are designed to look good on the screen
1474 while using a different set of fonts to look good on paper.
1477 \begin_layout Section
1479 \begin_inset LatexCommand label
1487 \begin_layout Standard
1488 Bindings are used to, well, bind a function to a key.
1489 Several prepackaged binding files are available: a CUA set of bindings
1490 (familiar as the typical set of PC and CDE set of keyboard shortcuts),
1491 an Emacs set of bindings, for those of us who follow the One True Way and
1492 refuse to lower our standards,
1496 \begin_layout Standard
1497 I'm kidding here, of course!
1502 as well as specialty bindings (broadway and hollywood) and other languages
1503 (French, German, etc.).
1506 \begin_layout Standard
1507 If, however, you'd like to customise the keybindings to your own exacting
1508 tastes, then copy the best-fit file in
1517 Don't forget to load this new file into LyX using the
1522 (For the moment you'll have to restart LyX for these changes to take effect.)
1525 \begin_layout Standard
1526 LyX supports internationalization of the user interface (see Chapter\InsetSpace ~
1528 \begin_inset LatexCommand ref
1529 reference "chap:i18n"
1538 is set, with the environment variable
1542 , LyX will try to use bindfiles by prepending
1547 For example, you can put a translated copy of some standard bind file in
1552 directory, and LyX will use it automatically.
1555 \begin_layout Standard
1560 files is straightforward:
1563 \begin_layout Standard
1568 bind <key combination> <lyx-function>
1571 \begin_layout Standard
1572 Both key combination and lyx-function (including any arguments) must be
1573 enclosed in "double quotes".
1574 All the LyX functions are listed in the
1581 \begin_layout Section
1583 \begin_inset LatexCommand label
1591 \begin_layout Standard
1592 The appearance of both the menu and toolbar may both be changed using the
1607 For the moment, only one file exists,
1611 , but feel free to experiment.
1612 Just copy the file to the
1616 directory and play! Note that, for the moment, you'll have to restart LyX
1617 for these changes to take effect.
1620 \begin_layout Standard
1625 files is straightforward: have a look at
1638 entries must be ended with an explicit
1663 s and in the case of the
1664 \begin_inset Quotes eld
1668 \begin_inset Quotes erd
1676 One small word of warning.
1681 s may be inserted in a
1689 , but they are defined as
1700 \begin_layout Section
1701 Converters, Formats, Viewers, Editors and Copiers
1704 \begin_layout Standard
1705 LyX has a powerful mechanism to convert to and from any file format using
1707 Define a pair of formats, e.g.
1717 Now define a converter from one format to the other.
1718 In our example, two possible mechanisms exist.
1721 \begin_layout Enumerate
1722 A direct conversion, from LaTeX to PDF using pdflatex
1725 \begin_layout Enumerate
1726 A more convoluted route using intermediate formats and converters: LaTeX
1727 to DVI (using latex) to PostScript® (using dvips) to PDF (using ps2pdf).
1730 \begin_layout Standard
1731 LyX will always choose the shortest possible route, so you must specify
1732 two different Format names for
1736 files to be able to use either.
1737 Both are included by default in the
1742 Have a look and then invent your own!
1745 \begin_layout Standard
1746 Moreover, each Format can have a Viewer associated with it.
1747 For example, you might want to use
1751 to examine PostScript® files, or
1755 to preview the LaTeX output.
1756 You can alter the viewer to use (and what options to pass to it) via the
1762 ools\SpecialChar \menuseparator
1767 references:Conversion
1770 For example, to change the
1778 format in the dialog, change the viewer to be
1782 (or whatever), and hit
1792 \begin_layout Standard
1793 If the operating system has a default viewer associated to a format it is
1794 used instead of the one you can define via the
1799 ools\SpecialChar \menuseparator
1804 references:Conversion
1807 This does currently only work in the Windows® and Mac OS X ports of LyX,
1808 but it is planned to implement this feature on all other ports that can
1812 \begin_layout Standard
1813 Editors are like viewers: Each Format can have an Editor associated to it,
1814 and they can be altered via the
1819 ools\SpecialChar \menuseparator
1824 references:Conversion
1827 LyX uses them whenever an included file
1831 \begin_layout Standard
1832 This can be an included
1836 file, a verbatim included text file, external material or an included graphics
1845 \begin_layout Standard
1846 Finally, each Format can have a Copier associated to it.
1847 Since all conversions from one Format to another take place in a temporary
1848 directory, it is sometimes necessary to modify a file before copying it
1849 to the temporary directory
1853 \begin_layout Standard
1854 For example, the file may reference other files with relative filenames,
1855 which will become invalid in the temporary directory
1861 This is done by the Copier: It copies a file to (or from) the temporary
1862 directory and may modify it in the process.
1865 \begin_layout Standard
1866 Sometimes LyX needs to know a bit more about the properties of a format.
1867 These bits can be specified with flags.
1868 Currently there are two of them:
1871 \begin_layout Standard
1876 flag tells LyX that a format is suitable for document export.
1877 If this flag is set for a format, and if a suitable conversion route exists,
1878 then the format will appear in the
1883 ile\SpecialChar \menuseparator
1891 The format will also appear in the
1898 menu if it has a viewer associated to it.
1899 Pure image formats (e.g.\InsetSpace ~
1904 ) do not have this flag set, formats that can both represent images and
1905 documents (e.g.\InsetSpace ~
1913 \begin_layout Standard
1918 flag tells LyX whether a format can contain vector graphics.
1919 This information is used to determine the target format of included graphics
1925 Included graphics may need to be converted to either
1941 cannot handle other image formats.
1942 If an included graphic is not already in
1954 format it is converted to
1962 flag of the format is set, and otherwise to
1969 \begin_layout Section
1970 BibTeX and makeindex
1973 \begin_layout Standard
1974 Both the bibliography generating command (default
1978 ) and the index generating command (default
1991 As an alternative for
2003 \begin_layout Standard
2004 The command to enter is
2010 makeindex.sh -m $$lang
2013 \begin_layout Standard
2014 where the placeholder
2018 will be replaced by the chosen document (babel) language.
2022 \begin_layout Standard
2023 have installed the packages
2040 at a shell prompt for a help page.
2043 \begin_layout Section
2044 Plain text export options
2047 \begin_layout Standard
2048 \begin_inset VSpace bigskip
2054 \begin_layout Standard
2056 There are a couple of commands that can be used to
2057 \begin_inset Quotes eld
2061 \begin_inset Quotes erd
2064 exported plain text files.
2065 Note that LyX automatically detects and uses the best settings for your
2066 system at installation time, but you can modify them if you disagree with
2070 \begin_layout Description
2074 Plain text\InsetSpace ~
2078 This option defines the command used to produce better plain text tables
2083 UNIX-commands (refer to their manpages for more information about them).
2084 Setting this as empty tells LyX to use the internal (inferior) formatter.
2087 \begin_layout Description
2091 Plain text\InsetSpace ~
2096 With this command you can set the default line length of the plain text
2098 Setting it to 0 means endless lines.
2101 \begin_layout Section
2105 \begin_layout Standard
2106 There are a bunch of configuration options that are used for interaction
2107 with the external print command from LyX.
2108 Normally the defaults are fine: if, however, your print command takes different
2109 option names, you can modify them here.
2112 \begin_layout Subsection
2116 \begin_layout Standard
2117 You can change the colors used by LyX on-screen using the new
2122 Alternatively, if you're feeling particularly perverse you could use the
2127 bindable function (see the
2132 Input would have the format:
2135 \begin_layout Standard
2138 set-color LyXName X11Color
2141 \begin_layout Standard
2142 Here is a (partial) list of the functions and default colors:
2145 \begin_layout Standard
2147 \begin_inset Tabular
2148 <lyxtabular version="3" rows="10" columns="3">
2150 <column alignment="left" valignment="top" leftline="true" width="0pt">
2151 <column alignment="left" valignment="top" leftline="true" width="0pt">
2152 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2153 <row topline="true" bottomline="true">
2154 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2157 \begin_layout Standard
2172 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2175 \begin_layout Standard
2190 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2193 \begin_layout Standard
2209 <row topline="true">
2210 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2213 \begin_layout Standard
2228 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2231 \begin_layout Standard
2246 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2249 \begin_layout Standard
2265 <row topline="true">
2266 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2269 \begin_layout Standard
2284 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2287 \begin_layout Standard
2302 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2305 \begin_layout Standard
2321 <row topline="true">
2322 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2325 \begin_layout Standard
2340 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2343 \begin_layout Standard
2358 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2361 \begin_layout Standard
2377 <row topline="true">
2378 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2381 \begin_layout Standard
2396 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2399 \begin_layout Standard
2414 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2417 \begin_layout Standard
2433 <row topline="true">
2434 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2437 \begin_layout Standard
2452 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2455 \begin_layout Standard
2465 fraction Lines, brackets, etc.
2470 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2473 \begin_layout Standard
2489 <row topline="true">
2490 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2493 \begin_layout Standard
2508 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2511 \begin_layout Standard
2517 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2520 \begin_layout Standard
2536 <row topline="true">
2537 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2540 \begin_layout Standard
2555 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2558 \begin_layout Standard
2564 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2567 \begin_layout Standard
2583 <row topline="true">
2584 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2587 \begin_layout Standard
2602 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2605 \begin_layout Standard
2611 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2614 \begin_layout Standard
2630 <row topline="true" bottomline="true">
2631 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2634 \begin_layout Standard
2649 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2652 \begin_layout Standard
2662 selection background
2667 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2670 \begin_layout Standard
2693 \begin_layout Section
2694 The autodetected settings
2697 \begin_layout Standard
2698 \begin_inset LatexCommand label
2699 name "sec:autodetected"
2703 There are several items that are detected for you when you run
2710 \SpecialChar \menuseparator
2716 In this section, we list those which pertain to the user preferences.
2719 \begin_layout Description
2725 plaintext_roff_command
2740 , depending on what is available.
2743 \begin_layout Description
2756 plus a bunch of options.
2759 \begin_layout Description
2772 on systems (so-called System V) who have this command, and
2776 otherwise (BSD systems).
2779 \begin_layout Description
2785 print_spool_printerprefix
2796 , depending on whether
2807 \begin_layout Description
2824 fonts are found and LaTeX has support for these fonts built-in.
2825 You can set it manually if you only have the so-called
2832 \begin_layout Section
2836 \begin_layout Standard
2837 There are many other configuration options that can be used to customize
2839 We still need to document them here, but again, most should be fairly obvious.
2840 Please ask on the mailing lists if you need some more information; it may
2841 even prompt us to expand this section.
2844 \begin_layout Chapter
2845 Internationalizing LyX
2846 \begin_inset LatexCommand label
2854 \begin_layout Standard
2855 LyX supports using a translated interface.
2856 Last time we checked, LyX provided text in 14 languages together with the
2857 default English text.
2858 The language of choice is called your
2863 (For further reading on locale settings, see also the documentation for
2864 locale that comes with your operating system.
2865 For Linux, the manual page for locale(5) could be a good place to start).
2868 \begin_layout Standard
2869 Notice that these translations will work, but do contain a few flaws.
2870 In particular, all dialogs have been designed with the English text in
2871 mind, which means that some of the translated text will be too large to
2872 fit within the space allocated.
2873 This is only a display problem and will not cause any harm.
2874 Also, you will find that some of the translations do not define short-cut
2875 keys for everything.
2876 Sometimes, there are simply not enough free letters to do it.
2877 Other times, the translator just hasn't got around to doing it yet.
2878 Our localization team -- which you may wish to join -- will try to fix
2879 these shortcomings in future versions of LyX.
2882 \begin_layout Section
2883 Selecting an alternative language for the user interface
2886 \begin_layout Standard
2887 This feature is disabled by default, meaning that system default language
2889 To enable an alternative language, you have to set an appropriate environment
2897 for csh class shells
2912 with the two letter code (or four letter code, like
2916 for British English) for the language you want.
2922 Besides the user interface texts being translated, also the appropriate
2923 manuals will be presented under the Help menu -- if available.
2926 \begin_layout Standard
2927 On some systems, you may have to redefine
2939 , to override the system settings; their preference is in this order
2943 \begin_layout Standard
2944 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
2950 , which corresponds to the way GNU
2955 Consult your system documentation.
2956 Normally, you'll want to put the appropriate line in a shell script run
2957 on start-up, so that the translation is on by default.
2958 Remember that this affects
2962 localized packages, not only LyX!
2965 \begin_layout Standard
2966 If LyX is configured and compiled with
2967 \begin_inset Quotes eld
2975 \begin_inset Quotes erd
2978 , this mechanism will not work.
2981 \begin_layout Section
2985 \begin_layout Subsection
2986 Translating the graphical user interface (text messages).
2989 \begin_layout Standard
2994 library to handle the internationalization of the interface.
2995 To have LyX speak your favorite language in all menus and dialogs, you
3000 -file for that language.
3001 When this is available, you'll have to generate a mo-file from it and install
3007 The process of doing all of this is explained in the documentation for
3012 , but in short, this is what you do (
3016 denotes the language code):
3019 \begin_layout Standard
3023 \begin_layout Standard
3035 \begin_layout Itemize
3038 LYX-SOURCE-DIR/po/lyx.pot
3051 doesn't exist, it can be remade with
3055 in that directory, or you can use an existing po-file for some other language
3059 \begin_layout Itemize
3066 \begin_layout Standard
3067 We recommend that you use Emacs to do this, since the
3071 distribution includes a nice mode that supports you in doing this.
3079 For some menu- and widget-labels, there are also shortcut keys that should
3081 Those keys are marked after a `|', and should be translated according to
3082 the words and phrases of the
3087 There is a tool named
3091 written in Prolog in
3093 LYX-SOURCE-DIR/development/tools/
3095 that may be useful to help determine short-cut keys.
3096 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
3097 characters as shortcut keys.
3098 You should also fill also out the information at the beginning of the new
3103 -file with your email-address, etc., so people know where to reach you with
3104 suggestions and entertaining flames.
3107 \begin_layout Itemize
3116 This can be done with
3137 \begin_layout Itemize
3142 -file to your locale-tree, at the correct directory for application messages
3147 , and under the name
3156 /usr/local/share/locale/
3167 \begin_layout Standard
3171 \begin_layout Standard
3183 \begin_layout Standard
3184 Adding a new po-file to the
3188 of LyX involves altering the configure scripts and more, but the way
3192 works, you don't actually need the source-code of LyX to translate it---having
3208 \begin_layout Standard
3209 If you've written a translation file for a language that LyX does not currently
3210 support, feel free to submit it for inclusion by sending a patch.
3211 In this case, we recommend that you read the
3219 directory for more instructions.
3222 \begin_layout Subsubsection
3226 \begin_layout Standard
3227 Sometimes it turns out that one english message needs to be translated into
3228 different messages in the target language.
3229 One example is the message
3233 which has the german translation
3250 does not handle such ambigous translations.
3251 Therefore you have to add some context information to the message: Instead
3258 To[[as in 'From format x to format y']]
3262 To[[as in 'From page x to page y']].
3265 Now the two occurences of
3273 and can be translated correctly to
3288 \begin_layout Standard
3289 Of course the context information needs to be stripped off the original
3290 message when no translation is used.
3291 Therefore you have to put it in double square brackets at the end of the
3292 message (see the example above).
3293 The translation mechanism of LyX ensures that everything in double square
3294 brackets at the end of messages is removed before displaying the message.
3297 \begin_layout Subsection
3298 Translating the documentation.
3301 \begin_layout Standard
3302 The online documentation (in the
3309 -menu) can (and should!) be translated.
3310 If there are translated versions of the documentation available
3314 \begin_layout Standard
3315 As of February 2003, almost all of the docs have been translated into German
3321 has been translated into at least 12 other languages, with other translations
3323 The library of translated documents is growing rapidly.
3328 , and the locale is set accordingly, these will be used automagically by
3330 LyX looks for translated versions as
3344 denotes the language as set by the environmental variable
3349 If there are none, the default English versions will be displayed.
3350 Note that the translated versions must have the same filenames (
3354 above) as the original.
3355 If you feel up to translating the documentation (an excellent way to proof-read
3356 the original documentation BTW!), there are a few things you should do
3360 \begin_layout Itemize
3365 , the guide to writing LyX documentation.
3366 Pay special attention to the translator's section.
3369 \begin_layout Itemize
3370 Check out the documentation translation web page at
3371 \begin_inset LatexCommand url
3372 name "The LyX Developer's Web Site"
3373 target "http://www.devel.lyx.org"
3378 That way, you can find out which (if any) documents have already been translate
3379 d into your language.
3380 You can also find out who (if anyone) is organizing the effort to translate
3381 the documentation into your language.
3382 If no one is organizing the effort, please let us know that you're interested.
3385 \begin_layout Standard
3386 Once you get to actually translating, here's a few hints for you that may
3390 \begin_layout Itemize
3391 Join the documentation team! There is information on how to do that in
3400 elp\SpecialChar \menuseparator
3407 ), which by the way is the first document you should translate.
3410 \begin_layout Itemize
3411 Learn the typographic conventions for the language you are translating to.
3412 Typography is an ancient art and over the centuries, a great variety of
3413 conventions have developed throughout different parts of the world.
3414 Also study the professional terminology amongst typographers in your country.
3415 Inventing your own terminology will only confuse the users.
3418 (Warning! Typography is addictive!)
3421 \begin_layout Itemize
3422 Make a copy of the document.
3423 This will be your working copy.
3424 You can use this as your personal translated help-file by placing it in
3432 \begin_layout Itemize
3433 Sometimes the original document (from the LyX-team) will be updated.
3434 Use the ViewCVS tool available at
3435 \begin_inset LatexCommand htmlurl
3436 target "http://www.lyx.org/viewcvs.cgi/lyxdoc/"
3440 to see what has been changed
3444 \begin_layout Standard
3445 Alternatively, you can keep a copy of the latest version of the English
3446 document which you've translated.
3452 That way you can easily see which parts of the translated document need
3456 \begin_layout Itemize
3457 If you ever find an error in the original document, fix it and notify the
3458 rest of the documentation team of the changes! (You didn't forget to join
3459 the documentation team did you?)
3462 \begin_layout Section
3463 International Keyboard Support
3466 \begin_layout Standard
3469 [Editor's Note: The following section is by
3477 It needs to be fixed to conform to the new Documentation Style sheet and
3478 to make use of the new v1.0 features.
3479 The whole thing also needs to be merged with the section following it.-jw]
3482 \begin_layout Subsection
3483 Defining Own Keymaps: Keymap File Format
3486 \begin_layout Standard
3487 Let's look at a keyboard definition file a little closer.
3488 It is a plain text file defining
3491 \begin_layout Itemize
3492 key-to-key or key-to-string translations
3495 \begin_layout Itemize
3499 \begin_layout Itemize
3500 dead keys exceptions
3503 \begin_layout Standard
3504 To define key-to-key or key-to-string translation, use this command:
3507 \begin_layout Quotation
3523 \begin_layout Standard
3528 is the key to be translated and
3532 is the string to be inserted into the document.
3533 To define dead keys, use:
3536 \begin_layout Quotation
3552 \begin_layout Standard
3562 The following dead keys are supported (shortcut name is in parentheses):
3565 \begin_layout Quotation
3573 \begin_layout Quotation
3579 \begin_layout Quotation
3585 \begin_layout Quotation
3591 \begin_layout Quotation
3597 \begin_layout Quotation
3604 \begin_layout Standard
3616 \begin_layout Quotation
3622 \begin_layout Quotation
3629 \begin_layout Standard
3641 \begin_layout Quotation
3647 \begin_layout Quotation
3653 \begin_layout Quotation
3660 \begin_layout Standard
3672 \begin_layout Quotation
3679 \begin_layout Standard
3691 \begin_layout Quotation
3697 \begin_layout Quotation
3698 hungarian umlaut (hug)
3703 \begin_layout Quotation
3709 \begin_layout Quotation
3716 \begin_layout Standard
3728 \begin_layout Standard
3729 Since in many international keyboards there are exceptions to what some
3730 dead keys should do, you can define them using
3733 \begin_layout Quotation
3742 deadkey key outstring
3745 \begin_layout Standard
3746 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3750 \begin_layout Quotation
3764 \begin_layout Standard
3765 to make it work correctly.
3766 Also, you have to define as exceptions dead keys over i and j, to remove
3767 the dot from them before inserting an accent mark.
3768 I will change this when the time comes, but so far I haven't had time.
3771 \begin_layout Standard
3772 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3778 have different meaning.
3783 marks comments, quotes start and end LaTeX-style commands.
3784 To enter quote, you'll need to use
3803 \begin_layout Standard
3804 If you make a keyboard description file that works for your language, please
3805 mail it to me, so I can include it in the next keymap distribution.
3808 \begin_layout Standard
3809 More keywords will be supported in keymap configuration file in future,
3813 \begin_layout Itemize
3831 \begin_layout Itemize
3846 an external keymap translation program
3849 \begin_layout Standard
3850 Also, it should look into
3854 file for defaults, too (for example, a
3860 option to include default keyboard).
3863 \begin_layout Section
3864 International Keymap Stuff
3865 \begin_inset LatexCommand label
3873 \begin_layout Standard
3874 The next two sections describe the
3886 file syntax in detail.
3887 These sections should help you design your own key map if the ones provided
3888 do not meet your needs.
3891 \begin_layout Subsection
3895 \begin_layout Standard
3904 file maps keystrokes to characters or strings.
3905 As the name suggests it sets a keyboard mapping.
3930 are described in this section.
3934 \labelwidthstring 00.00.0000
3941 Map a character to a string
3944 \begin_layout LyX-Code
3959 \begin_layout Standard
3992 the double-quote (")
4009 must be escaped with a preceding backslash (
4020 \begin_layout Standard
4027 statement to cause the symbol
4033 to be output for the keystroke
4042 \begin_layout LyX-Code
4049 \labelwidthstring 00.00.0000
4056 Specify an accent character
4059 \begin_layout LyX-Code
4068 \begin_layout Standard
4069 This will make the cha
4107 This is the dead key
4111 \begin_layout Standard
4118 refers to a key that does not produce a character by itself, but when followed
4119 with another key, produces the desired accent character.
4120 For example, a German characte
4122 r with an umlaut like
4132 can be produced in this manner.
4141 \begin_layout Standard
4154 and then another key not in
4171 followed by the other, unallowed key, as output.
4180 cancels a dead key, so if
4197 , the cursor will not go one position backwards but will instead cancel
4214 might have had on the next keystroke.
4218 \begin_layout Standard
4219 The following example specifies that the character ' is to be an acute accent,
4220 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4223 \begin_layout LyX-Code
4226 kmod ' acute aeiouAEIOU
4230 \labelwidthstring 00.00.0000
4235 Specify an exception to the accent character
4238 \begin_layout LyX-Code
4247 \begin_layout Standard
4248 This defines an exce
4289 have been assigned a keystroke with a previous
4312 must not belong in the
4364 If such a declaration does not exist in
4420 \begin_layout Standard
4421 The following command produces causes äi to be produced when you enter acute-i
4425 \begin_layout LyX-Code
4440 \labelwidthstring 00.00.0000
4445 Combine two accent characters
4448 \begin_layout LyX-Code
4454 accent1 accent2 allowed
4457 \begin_layout Standard
4458 This one is getting pretty esoteric.
4459 It allows you to combine the effect
4540 \begin_layout Standard
4541 Consider this example from the
4550 \begin_layout LyX-Code
4553 kmod ; acute aeioyvhAEIOYVH
4557 kcomb acute umlaut iyIY
4560 \begin_layout Standard
4561 This allows you to press
4567 and get the effect of
4584 in this case cancels the last dead key, so if you press
4601 \begin_layout Subsection
4605 \begin_layout Standard
4612 mapping is performed, a
4619 file maps the strings that the symbols generate to characters in the current
4621 The LyX distribution currently includes at least the
4636 \begin_layout Standard
4643 file is a sequence of declarations of the form
4646 \begin_layout LyX-Code
4659 \begin_layout Standard
4660 For example, in order to map
4668 to the corresponding character in the iso-8859-1 set (233), the following
4672 \begin_layout LyX-Code
4680 \begin_layout Standard
4703 the same character can apply to more than one string.
4714 \begin_layout LyX-Code
4740 \begin_layout Standard
4741 If LyX cannot find a mapping for the string produced by the keystroke or
4742 a deadkey sequence, it will check if it looks like an accented char and
4743 try to draw an accent over the character on screen.
4746 \begin_layout Subsection
4750 \begin_layout Standard
4751 There is a second way to add support for international characters through
4752 so-called dead-keys.
4753 A dead-key works in combination with a letter to produce an accented character.
4754 Here, we'll explain how to create a really simple dead-key to illustrate
4758 \begin_layout Standard
4759 Suppose you happen to need the circumflex character,
4760 \begin_inset Quotes eld
4764 \begin_inset Quotes erd
4772 -key [a.k.a.\InsetSpace ~
4777 ] to the LyX command
4786 Now, whenever you type the
4790 -key followed by a letter, that letter will have a circumflex accent on
4792 For example, the sequence
4793 \begin_inset Quotes eld
4801 \begin_inset Quotes erd
4804 produces the letter:
4805 \begin_inset Quotes eld
4809 \begin_inset Quotes erd
4813 If you tried to type
4814 \begin_inset Quotes eld
4822 \begin_inset Quotes erd
4825 , however, LyX will complain with a beep, since a
4826 \begin_inset Quotes eld
4834 \begin_inset Quotes erd
4837 never takes a circumflex accent.
4842 after a dead-key produces the bare-accent.
4843 Please note this last point! If you bind a key to a dead-key, you'll need
4844 to rebind the character on that key to yet another key.
4849 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4852 \begin_layout Standard
4853 One common way to bind dead-keys is to use
4865 in combination with an accent, like
4866 \begin_inset Quotes eld
4874 \begin_inset Quotes erd
4878 \begin_inset Quotes eld
4886 \begin_inset Quotes erd
4890 \begin_inset Quotes eld
4898 \begin_inset Quotes erd
4902 Another way involves using
4910 [remember them from section?] to set up the special
4919 acts in some ways just like
4923 and permits you to bind keys to accented characters.
4924 You can also turn keys into dead-keys by binding them to something like
4929 and then binding this symbolic key to the corresponding LyX command.
4933 \begin_layout Standard
4938 : This is exactly what I do in my
4956 and a bunch of these
4957 \begin_inset Quotes eld
4965 \begin_inset Quotes erd
4968 symbolic keys bound such things as
4979 This is how I produce my accented characters.
4984 You can make just about anything into the
4992 keys, a spare function key, etc.
4993 As for the LyX commands that produce accents, check the entry for
5002 You'll find the complete list there.
5005 \begin_layout Subsection
5006 Saving your Language Configuration
5009 \begin_layout Standard
5010 \begin_inset LatexCommand label
5015 You can edit your preferences so that your desired language environment
5016 is automatically configured when LyX starts up, via the
5021 dit\SpecialChar \menuseparator
5031 \begin_layout Chapter
5032 Installing New Document Classes, Layouts, and Templates
5033 \begin_inset LatexCommand label
5034 name "chap:textclass"
5042 \begin_layout Standard
5043 Installing New Document Classes
5051 \begin_layout Standard
5052 In this chapter, we describe the procedures for creating and installing
5053 new LyX layout and template files, as well as offer a refresher on correctly
5054 installing new LaTeX document classes.
5055 Some definitions: a document class is a LaTeX file (usually ending in
5063 ) which describes the format of a document such as an article, report, journal
5065 and all the commands needed to realize that format.
5066 A layout file is a LyX file which corresponds to a LaTeX document class
5067 and which tells LyX how to
5068 \begin_inset Quotes eld
5072 \begin_inset Quotes erd
5075 things on the screen to make the display look something like the final
5077 More precisely, a layout file describes a
5078 \begin_inset Quotes eld
5082 \begin_inset Quotes erd
5085 which is the internal construct LyX uses to render the screen display.
5087 \begin_inset Quotes eld
5091 \begin_inset Quotes erd
5095 \begin_inset Quotes eld
5099 \begin_inset Quotes erd
5102 can be used somewhat interchangeably, but it is better to refer to the
5103 file as the layout, and the thing living in LyX's memory as the text class.
5104 A template file is simply a LyX document which contains a set of predefined
5105 entries for a given document class which are generally required for that
5107 Templates are especially useful for things like journal manuscripts which
5108 are to be submitted electronically.
5111 \begin_layout Section
5112 Installing a new LaTeX package
5115 \begin_layout Standard
5116 Some installations may not include a LaTeX package that you would like to
5118 For example, you might need FoilTeX, a common (and very powerful) package
5119 for preparing slides or viewgraphs for overhead projectors.
5120 Here are the formal steps involved in getting the package up and running
5121 if you are using teTeX or some other web2c based distribution.
5125 \begin_layout Enumerate
5126 Get the package from CTAN or wherever.
5130 \begin_layout Standard
5133 Inventory of your LaTeX configuration
5135 manual for details of what CTAN is and where supported document classes
5144 \begin_layout Enumerate
5149 (this usually lives in the directory
5153 , though you can run
5158 It describes how to add a local
5162 directory; follow the instructions.
5163 You need to insert the name of your local
5176 is a logical place to install software that did not come with your distribution
5182 Usually, you will have to modify only two things:
5186 \begin_layout Enumerate
5191 to the directory you chose; e.g.
5196 TEXMFLOCAL = /usr/local/texmf
5199 \begin_layout Enumerate
5213 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
5217 \begin_layout Enumerate
5228 You must follow the directory structure of your existing
5232 directory (for example, latex packages should go under
5234 /usr/local/texmf/tex/latex/
5239 \begin_layout Enumerate
5240 Install the package.
5241 For example, you would unpack the FoilTeX tarball and create
5243 /usr/local/texmf/tex/latex/foiltex
5250 directory contains various files.
5253 \begin_layout Enumerate
5261 /usr/local/texmf/ls-R
5266 \begin_layout Enumerate
5267 From within LyX, do:
5272 ools\SpecialChar \menuseparator
5283 \begin_layout Standard
5284 Now you should see your new package---for example
5293 ayout\SpecialChar \menuseparator
5308 Note that there are simpler ways of installing packages: you can add a
5309 link to the new package directory in the system LaTeX directory (
5313 , don't forget to then run
5317 ), or sometimes simply set the
5321 environment variable to include the new package.
5322 However, the formal procedure described in
5326 is guaranteed to work, so you should follow it unless circumstances absolutely
5327 prevent it: such as, when you don't have superuser access.
5330 \begin_layout Section
5334 \begin_layout Standard
5335 This section describes how to write and install your own LyX layout files
5336 (also known as text classes) and walks through the
5340 text class format as an example.
5345 files describe what paragraph styles are available for a given document
5346 class and how LyX should display them.
5347 We try to provide a thorough description of the process here; however,
5348 there are so many different types of documents supported by LaTeX classes
5349 we can't hope to cover every different possibility or problem you might
5354 \begin_layout Standard
5355 When you plan to write a new layout, it is extremely helpful to look at
5356 the example layouts distributed with LyX.
5357 If you use a nice LaTeX document class that might be of interest for others,
5358 too, and have a nice corresponding LyX layout, feel free to contribute
5359 the stuff to us, so we may put it into the distribution.
5362 \begin_layout Standard
5363 All the tags described in this chapter are case-insensitive; this means
5376 are really the same command.
5377 The possible values are printed in brackets after the feature's name.
5378 The default value if a feature isn't specified inside a text class-description
5386 If the argument has a datatype like
5387 \begin_inset Quotes eld
5391 \begin_inset Quotes erd
5395 \begin_inset Quotes eld
5399 \begin_inset Quotes erd
5402 , the default is shown like this:
5412 \begin_layout Subsection
5413 Supporting new document classes
5416 \begin_layout Standard
5417 There are two situations you are likely to encounter when wanting to support
5418 a new LaTeX document class, involving LaTeX2e class (
5429 \begin_layout Subsection
5437 \begin_layout Standard
5438 If your new document class is provided as a style file that is used in conjuncti
5439 on with an existing, supported document class, start by copying the existing
5440 class's layout file into your local directory.
5441 For the sake of example we'll assume that the style file is called
5445 and it is meant to be used with
5449 which is a standard class.
5452 \begin_layout LyX-Code
5453 cp report.layout ~/.lyx/layouts/myclass.layout
5456 \begin_layout Standard
5461 and change the line:
5464 \begin_layout LyX-Code
5467 DeclareLaTeXClass{report}
5470 \begin_layout Standard
5474 \begin_layout LyX-Code
5477 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5480 \begin_layout Standard
5484 \begin_layout LyX-Code
5494 \begin_layout Standard
5495 near the top of the file.
5498 \begin_layout Standard
5499 Start LyX and select
5504 ools\SpecialChar \menuseparator
5512 Restart LyX and try creating a new document.
5517 " as a document class option in the
5522 ocument\SpecialChar \menuseparator
5530 It is likely that some of the sectioning commands and such will differ
5531 from how the base class
5535 \begin_layout Standard
5545 works, so you can fiddle around with the settings for the different sections
5547 See below for more discussion on this.
5550 \begin_layout Subsection
5558 \begin_layout Standard
5559 In this case, you will probably have to
5560 \begin_inset Quotes eld
5564 \begin_inset Quotes erd
5568 We strongly suggest copying an existing layout file which uses a similar
5569 LaTeX class and modifying it if at all possible.
5570 At least use an existing file as a starting point so you can find out what
5571 items you need to worry about.
5572 Again, the specifics are covered below.
5575 \begin_layout Section
5576 Declaring a new text class
5579 \begin_layout Standard
5580 When it's finally time to get your hands dirty and create or edit your own
5581 layout file, the following sections describe what you're up against.
5582 Our advice is to go slowly, save and test often, listen to soothing music,
5583 and enjoy one or two of your favorite adult beverages; more if you are
5584 getting particularly stuck.
5585 It's really not that hard, except that the multitude of options can become
5586 overwhelming if you try to do to much in one sitting.
5587 Go have another adult beverage, just for good measure.
5590 \begin_layout Standard
5594 \begin_layout Standard
5595 Lines in a layout file which begin with a
5600 There is one exception to this rule: all layouts should begin with lines
5604 \begin_layout LyX-Code
5607 #% Do not delete the line below; configure depends on this
5610 \begin_layout LyX-Code
5615 DeclareLaTeXClass{article}
5618 \begin_layout Standard
5619 The second line is used when you configure LyX.
5620 The layout file is read by the LaTeX script
5624 , in a special mode where
5629 The first line is just a LaTeX comment, and the second one contains the
5630 declaration of the text class.
5631 If these lines appear in a file named
5635 , then they define a text class of name
5639 (the name of the layout file) which uses the LaTeX document class
5643 (the default is to use the same name as the layout).
5645 \begin_inset Quotes eld
5649 \begin_inset Quotes erd
5652 that appears above is used as a description of the text class in the
5657 ocument\SpecialChar \menuseparator
5667 \begin_layout Standard
5668 Let's assume that you wrote your own text class that uses the
5672 documentclass, but where you changed the appearance of the section headings.
5673 If you put it in a file
5677 , the header of this file should be:
5680 \begin_layout LyX-Code
5683 #% Do not delete the line below; configure depends on this
5686 \begin_layout LyX-Code
5691 DeclareLaTeXClass[article]{article (with my own headings)}
5694 \begin_layout Standard
5695 This declares a text class
5699 , associated with the LaTeX document class
5704 \begin_inset Quotes eld
5707 article (with my own headings)
5708 \begin_inset Quotes erd
5712 If your text class depends on several packages, you can declare it as:
5715 \begin_layout LyX-Code
5718 #% Do not delete the line below; configure depends on this
5721 \begin_layout LyX-Code
5726 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5729 \begin_layout Standard
5730 This indicates that your text class uses the foo.sty package.
5731 Finally, it is also possible to declare classes for SGML and DocBook code.
5732 Typical declarations will look like
5735 \begin_layout LyX-Code
5738 #% Do not delete the line below; configure depends on this
5741 \begin_layout LyX-Code
5746 DeclareSGMLClass{SGML (LinuxDoc)}
5749 \begin_layout Standard
5753 \begin_layout LyX-Code
5754 #% Do not delete the line below; configure depends on this
5757 \begin_layout LyX-Code
5760 DeclareDocBookClass[article]{SGML (DocBook article)}
5763 \begin_layout Standard
5764 Note that these declarations can also be given an optional parameter declaring
5765 the name of the document class (but not a list).
5768 \begin_layout Standard
5769 When the text class has been modified to your taste, all you have to do
5770 is to copy it either in
5783 ools\SpecialChar \menuseparator
5791 Exit LyX and restart it; then your new text class should be available along
5795 \begin_layout Subsection
5799 \begin_layout Standard
5800 The first non-comment line must contain the file format number:
5803 \begin_layout Description
5814 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
5815 don't have an explicit file format).
5816 The file format that is documented here is
5823 \begin_layout Subsection
5824 General text class parameters
5827 \begin_layout Standard
5828 These are the general parameters which describe the form of the entire document:
5831 \begin_layout Standard
5835 \begin_layout Standard
5847 \begin_layout Description
5861 ] Whether the class-default should have one or two columns.
5862 Can be changed in the
5867 ocument\SpecialChar \menuseparator
5875 This setting (same goes for
5879 , too) is important: if your text class has two columns by default but you
5880 forget to set it correctly, the
5888 be output when you select
5897 ocument\SpecialChar \menuseparator
5905 \begin_layout Description
5919 ] Whether the class-default should be printing on one or both sides of the
5921 Can be changed in the
5926 ocument\SpecialChar \menuseparator
5936 \begin_layout Description
5950 ] The class default pagestyle.
5951 Can be changed in the
5956 ocument\SpecialChar \menuseparator
5966 \begin_layout Description
5970 ClassOptions\SpecialChar \ldots{}
5974 This section describes various global options supported by the document
5976 See Section\InsetSpace ~
5978 \begin_inset LatexCommand ref
5979 reference "sec:classoptions"
5986 \begin_layout Description
6000 ] Whether the class already loads the
6005 This is the case of the
6016 \begin_layout Description
6030 ] Whether the class already provides the functionality of the
6035 This is the case of the
6046 \begin_layout Description
6060 ] Whether the class already provides the functionality of the
6065 This is the case of the
6072 \begin_layout Description
6079 This is used to describe the default font of the document.
6080 See Section\InsetSpace ~
6082 \begin_inset LatexCommand ref
6083 reference "sec:fonts"
6090 \begin_layout Description
6101 ] This is the style that will be assigned to new paragraphs, usually
6106 This will default to the first defined style if not given, but you are
6107 highly encouraged to use this directive.
6110 \begin_layout Description
6127 ] Indicates what kind of markup is used to define the title of a document.
6132 means that the macro with name
6136 will be inserted after the last layout which has
6137 \begin_inset Quotes eld
6145 \begin_inset Quotes erd
6153 corresponds to the case where the block of paragraphs which have
6154 \begin_inset Quotes eld
6162 \begin_inset Quotes erd
6165 should be enclosed into the
6174 \begin_layout Description
6185 ] The name of the command/environment mentionned above.
6188 \begin_layout Description
6192 Preamble\SpecialChar \ldots{}
6196 A set of macro definitions that will be output at the beginning of the
6198 Use this for global definitions.
6201 \begin_layout Description
6208 As its name implies, this command allows you to include another layout
6209 definition file within yours to avoid duplicating commands.
6210 Common examples are the standard layout files, for example,
6214 , which contains most of the basic layouts.
6217 \begin_layout Description
6221 Style\SpecialChar \ldots{}
6225 This sequence defines a new style.
6226 If the style already exists, it will redefine some of its parameters instead.
6227 See Section\InsetSpace ~
6229 \begin_inset LatexCommand ref
6230 reference "sec:style"
6237 \begin_layout Description
6244 This command deletes an existing style.
6245 This is particularly useful when you want to suppress a style that has
6246 be defined in an input file.
6249 \begin_layout Description
6253 Float\SpecialChar \ldots{}
6257 This sequence defines a new float.
6258 See Section\InsetSpace ~
6260 \begin_inset LatexCommand ref
6261 reference "sec:floats"
6268 \begin_layout Description
6275 This command deletes an existing float.
6276 This is particularly useful when you want to suppress a float that has
6277 be defined in an input file.
6280 \begin_layout Description
6284 CharStyle\SpecialChar \ldots{}
6288 This section defines a new character style.
6289 See Section\InsetSpace ~
6291 \begin_inset LatexCommand ref
6292 reference "sec:charstyle"
6299 \begin_layout Description
6303 Counter\SpecialChar \ldots{}
6307 This sequence defines a new counter.
6308 See Section\InsetSpace ~
6310 \begin_inset LatexCommand ref
6311 reference "sec:counter"
6318 \begin_layout Standard
6322 \begin_layout Standard
6334 \begin_layout Subsection
6342 \begin_layout Standard
6343 \begin_inset LatexCommand label
6344 name "sec:classoptions"
6352 section can contain the following entries:
6355 \begin_layout Description
6366 ] The list of available font sizes for the document's main font, separated
6368 \begin_inset Quotes eld
6376 \begin_inset Quotes erd
6382 \begin_layout Description
6391 string="empty|plain|headings|fancy"
6393 ] The list of available page styles, separated by
6394 \begin_inset Quotes eld
6402 \begin_inset Quotes erd
6408 \begin_layout Description
6419 ] Some document class options, separated by a comma, that will be added
6420 to the optional part of the
6429 \begin_layout Subsection
6430 Specific Paragraph Layouts
6433 \begin_layout Standard
6434 \begin_inset LatexCommand label
6439 A paragraph layout description looks like this
6443 \begin_layout Standard
6444 Note that this will either define a new layout or modify an existing one.
6452 \begin_layout LyX-Code
6459 \begin_layout LyX-Code
6463 \begin_layout LyX-Code
6467 \begin_layout Standard
6468 where the following commands are allowed:
6471 \begin_layout Standard
6475 \begin_layout Standard
6487 \begin_layout Description
6498 This is used to copy all the features of an existing layout into the current
6503 \begin_layout Description
6515 , Command, Environment, Item_Environment,
6521 ] How the layout should be translated into LaTeX.
6526 means nothing special.
6539 {\SpecialChar \ldots{}
6554 }\SpecialChar \ldots{}
6578 is generated for each paragraph of this environment.
6591 is passed as an argument to the environment.
6596 can be defined in the
6601 ayout\SpecialChar \menuseparator
6615 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6616 Visit the SGML class files for specific examples.
6619 \begin_layout Description
6630 If 1, marks the layout as being part of a title block (see also the
6641 \begin_layout Description
6648 The name of the corresponding LaTeX stuff.
6649 Either the environment or command name.
6652 \begin_layout Description
6659 The optional parameter for the corresponding
6666 This parameter cannot be changed from within LyX.
6669 \begin_layout Description
6680 ] The number of optional arguments that can be used with this layout.
6681 This is useful for things like section headings, and only makes sense with
6685 \begin_layout Description
6697 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6701 The kind of margin that the layout has on the left side.
6706 just means a fixed margin.
6711 means that the left margin depends on the string entered in the
6716 dit\SpecialChar \menuseparator
6721 aragraph\InsetSpace ~
6725 This is used to typeset nice lists without tabulators.
6730 means that the margin depends on the size of the label.
6731 This is used for automatic enumerated headlines.
6732 It is obvious that the headline
6733 \begin_inset Quotes eld
6736 5.4.3.2.1 Very long headline
6737 \begin_inset Quotes erd
6740 must have a wider left margin (as wide as
6741 \begin_inset Quotes eld
6745 \begin_inset Quotes erd
6748 plus the space) than
6749 \begin_inset Quotes eld
6752 3.2 Very long headline
6753 \begin_inset Quotes erd
6756 , even if other word processors are not able to do this.
6761 is similar, but only the very first row of the paragraph is dynamic, while
6762 the others are static; this is used, for example, for descriptions.
6767 means the margin is chosen in a way that the longest row of this paragraph
6768 fits to the right margin.
6769 This is used to typeset an address on the right edge of the page.
6772 \begin_layout Description
6789 ] Whether the following Paragraph is allowed to indent its very first row.
6794 means that it is not allowed to do so,
6798 means it could do so if it wants to.
6801 \begin_layout Description
6812 ] The indent of the very first line of a paragraph.
6813 The argument is passed as a string.
6818 means that the paragraph is indented with the width of
6827 You can get a negative width by prefixing the string with
6832 This way was chosen so that the look is the same with each used screen
6838 will be fixed for a certain layout.
6839 The exception is Standard layout, since the indentation of a Standard layout
6840 paragraph can be prohibited with
6845 Also, Standard layout paragraphs inside environments use the
6849 of the environment, not their native one.
6850 For example, Standard paragraphs inside an enumeration are not indented.
6853 \begin_layout Description
6864 ] LyX allows to choose either
6865 \begin_inset Quotes eld
6869 \begin_inset Quotes erd
6873 \begin_inset Quotes eld
6877 \begin_inset Quotes erd
6880 to typeset a document.
6882 \begin_inset Quotes eld
6886 \begin_inset Quotes erd
6889 is chosen, this value is completely ignored.
6891 \begin_inset Quotes eld
6895 \begin_inset Quotes erd
6898 is chosen, the parindent of a LaTeXtype
6899 \begin_inset Quotes eld
6903 \begin_inset Quotes erd
6906 layout is ignored and all paragraphs are additionally separated by this
6908 The vertical space is calculated with
6910 value*DefaultHeight()
6916 is the height of a row with the normal font.
6917 This way, the look stays the same with different screen fonts.
6920 \begin_layout Description
6931 ] The vertical space with which the very first of a chain of paragraphs
6932 with this layout is separated from the previous paragraph.
6933 If the previous paragraph has another layout, the separations are not simply
6934 added, but the maximum is taken.
6937 \begin_layout Description
6952 for the very last paragraph.
6955 \begin_layout Description
6966 ] The vertical space between two paragraphs of this layout.
6969 \begin_layout Description
6980 ] This is an extra space between the paragraphs of an environment layout.
6981 If you put other layouts into an environment, each is separated with the
6987 But the whole items of the environment are additionally separated with
6996 \begin_layout Description
7007 ] If you put layouts into environments, the leftmargins are not simply added,
7008 but added with a factor
7009 \begin_inset Formula $\frac{4}{depth+4}$
7013 Note that this parameter is also used when the border is defined as
7022 Then it is added to the manual or dynamic border.
7023 This string has the same meaning as for
7030 \begin_layout Description
7048 \begin_layout Description
7060 , Manual, Static, Top_Environment,
7062 Centered_Top_Environment, Sensitive,
7071 means the label is the very first word (up to the first real blank).
7076 means it is defined in the layout (see
7087 Centered_Top_Environment
7089 are special cases of
7094 The label will be printed above the paragraph, but only at the top of an
7095 environment or the top of a chain of paragraphs with this layout.
7096 Usage is for example the
7105 This is also the case for
7109 labels with latex type
7113 , in order to make layouts for theorems work correctly.
7118 is a special case for the caption-labels
7119 \begin_inset Quotes eld
7123 \begin_inset Quotes erd
7127 \begin_inset Quotes eld
7131 \begin_inset Quotes erd
7139 means the (hardcoded) label string depends on the kind of float.
7144 label type defines automatically numbered labels.
7147 \begin_layout Description
7160 The name of the counter for automatic numbering (see Section\InsetSpace ~
7162 \begin_inset LatexCommand ref
7163 reference "sec:counter"
7168 This must be given if
7181 \begin_layout Description
7192 ] The horizontal space between the label and the text body.
7193 Only used for labels that are not above the text body.
7196 \begin_layout Description
7203 [float=0] The vertical space between the label and the text body.
7204 Only used for labels that are above the text body (
7210 Centered_Top_Environment
7215 \begin_layout Description
7226 ] The string used for a label with a
7235 this string is also used as a suggestion for the
7239 that can be set in the
7244 dit\SpecialChar \menuseparator
7249 aragraph\InsetSpace ~
7259 is set, this string can be contain special formatting commands as explained
7260 in Section\InsetSpace ~
7262 \begin_inset LatexCommand ref
7263 reference "sec:counter"
7270 \begin_layout Description
7281 ] If non-empty, this is used inside the appendix instead of
7289 \begin_layout Description
7296 The level of the style in the table of contents.
7297 This is used for automatic numbering of section headings.
7300 \begin_layout Description
7312 , Box, Filled_Box, Static
7314 ] The type of label that stands at the end of the paragraph (or sequence
7337 \begin_inset Quotes eld
7341 \begin_inset Quotes erd
7353 ) is a white (resp.\InsetSpace ~
7354 black) square suitable for end of proof markers,
7358 is an explicit text string.
7361 \begin_layout Description
7372 ] The string used for a label with a
7384 \begin_layout Description
7396 , left, right, center
7398 ] Paragraph alignment.
7401 \begin_layout Description
7413 , left, right, center
7420 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7422 For example a right-aligned or centered enumeration isn't possible.
7425 \begin_layout Description
7439 ] With this parameter the
7444 \begin_inset Quotes eld
7447 Vertical space above
7448 \begin_inset Quotes erd
7456 dit\SpecialChar \menuseparator
7461 aragraph\InsetSpace ~
7464 dialog can be set when initializing a paragraph with this layout
7468 \begin_layout Standard
7471 Note from Jean-Marc:
7473 I'm not sure that this setting has much use, and it should probably be
7474 removed in later versions.
7483 \begin_layout Description
7504 \begin_layout Description
7518 ] Whether fragile commands in this layout should be
7527 \begin_layout Description
7544 ] Whether newlines are translated into LaTeX newlines (
7553 The translation can be switched off to allow more comfortable LaTeX editing
7557 \begin_layout Description
7571 ] Whether the contents of this paragraph should be output in raw form, meaning
7572 without special translations that LaTeX would require.
7573 This somehow replaces the older
7580 \begin_layout Description
7594 ] Usually LyX doesn't allow you to insert more than one space between words,
7595 since a space is considered as the separation between two words, not a
7596 character or symbol of its own.
7597 This is a very fine thing but sometimes annoying, for example when typing
7598 program code or plain LaTeX code.
7604 Note that LyX will create protected blanks for the additional blanks when
7605 in another mode than LaTeX-mode.
7608 \begin_layout Description
7622 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7623 lead to empty LaTeX output.
7624 There are some cases where this could be desirable however: in a letter
7625 template, the required fields can be provided as empty fields, so that
7626 people do not forget them; in some special classes, a layout can be used
7627 as some kind of break, which does not contain actual text.
7630 \begin_layout Description
7642 , onehalf, double, other
7648 ] This defines what the default spacing should be in the layout.
7661 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7662 If you specify the argument
7666 , then you should also provide a numerical argument which will be the actual
7668 Note that, contrary to other parameters,
7672 implies the generation of specific LaTeX code, using the package
7679 \begin_layout Description
7686 The font used for both the text body
7691 See section\InsetSpace ~
7693 \begin_inset LatexCommand ref
7694 reference "sec:fonts"
7699 Note that defining this font automatically defines the
7706 \begin_layout Description
7713 The font used for the text body .
7714 See section\InsetSpace ~
7716 \begin_inset LatexCommand ref
7717 reference "sec:fonts"
7724 \begin_layout Description
7731 The font used for the label.
7732 See section\InsetSpace ~
7734 \begin_inset LatexCommand ref
7735 reference "sec:fonts"
7742 \begin_layout Description
7746 Preamble\SpecialChar \ldots{}
7750 A set of macro definitions that will be output at the beginning of the
7751 LaTeX files when the layout is used.
7752 Use this to define the macros needed by this particular layout.
7755 \begin_layout Description
7762 the name of a style which preamble should be output
7766 the one mentionned above.
7767 This allows to ensure some ordering of the preamble snippets when macros
7768 definitions depend on one another
7772 \begin_layout Standard
7773 Note that, besides that functionality, there is no way to ensure any ordering
7775 The ordering that you see in a given version of LyX may change without
7776 warning in later versions.
7784 \begin_layout Standard
7788 \begin_layout Standard
7800 \begin_layout Subsection
7804 \begin_layout Standard
7805 \begin_inset LatexCommand label
7810 Since version 1.3.0 of LyX, it is necessary to define the floats (
7818 , \SpecialChar \ldots{}
7819 ) in the text class itself.
7820 If you are looking here to learn how to upgrade an existing text class,
7821 it will probably turn out that all you have to do is to add
7824 \begin_layout LyX-Code
7828 \begin_layout Standard
7829 at a reasonable location of the text class.
7833 \begin_layout Standard
7834 Don't forget to also have a look at counters in next section.
7839 If you want to implement a text class that proposes some other float types
7840 (like the AGU class bundled with LyX), the information below will hopefully
7844 \begin_layout Description
7856 \begin_inset Quotes erd
7860 \begin_inset Quotes erd
7864 \begin_inset Quotes eld
7868 \begin_inset Quotes erd
7871 of the new class of floats, like program or algorithm.
7872 After the appropriate
7893 \begin_layout Description
7905 \begin_inset Quotes erd
7909 \begin_inset Quotes erd
7912 ] The string that will be used in the menus and also for the caption.
7915 \begin_layout Description
7936 if the float is already defined by the documentclass.
7941 , the float will be defined using the LaTeX package
7948 \begin_layout Description
7960 \begin_inset Quotes erd
7964 \begin_inset Quotes erd
7967 ] This (optional) argument determines whether floats of this class will
7968 be numbered within some sectional unit of the document.
7969 For example, if within is equal to
7973 , the floats will be numbered within chapters.
7977 \begin_layout Description
7989 \begin_inset Quotes erd
7993 \begin_inset Quotes erd
7996 ] The style used when defining the float using
8005 \begin_layout Description
8017 \begin_inset Quotes erd
8021 \begin_inset Quotes erd
8024 ] The default placement for the given class of floats.
8025 They are like in standard LaTeX:
8041 for top, bottom, page, and here, respectively.
8045 \begin_layout Standard
8046 Note that the order of these letters in the string is irrelevant, like in
8052 On top of that there is a new type,
8056 , which does not really correspond to a float, since it means: put it
8057 \begin_inset Quotes eld
8061 \begin_inset Quotes erd
8065 Note, however that the
8069 specifier is special and, because of implementation details cannot be used
8070 in non-builtin float types.
8071 If you do not understand what this means, just use
8078 \begin_layout Description
8090 \begin_inset Quotes erd
8094 \begin_inset Quotes erd
8097 ] The file name extension of an auxiliary file for the list of figures (or
8099 LaTeX writes the captions to this file.
8102 \begin_layout Description
8114 \begin_inset Quotes erd
8118 \begin_inset Quotes erd
8121 ] The heading used for the list of floats.
8124 \begin_layout Subsection
8128 \begin_layout Standard
8129 \begin_inset LatexCommand label
8130 name "sec:charstyle"
8134 You can define character styles since version 1.4.0 of LyX.
8139 section can contain the following entries:
8142 \begin_layout Description
8149 The font used for both the text body
8154 See section\InsetSpace ~
8156 \begin_inset LatexCommand ref
8157 reference "sec:fonts"
8162 Note that defining this font automatically defines the
8169 \begin_layout Description
8176 The font used for the label.
8177 See section\InsetSpace ~
8179 \begin_inset LatexCommand ref
8180 reference "sec:fonts"
8187 \begin_layout Description
8194 The name of the corresponding LaTeX stuff.
8195 Either the environment or command name.
8198 \begin_layout Description
8205 The optional parameter for the corresponding
8212 This parameter cannot be changed from within LyX.
8215 \begin_layout Description
8222 See section\InsetSpace ~
8224 \begin_inset LatexCommand ref
8225 reference "sec:style"
8232 \begin_layout Description
8236 Preamble\SpecialChar \ldots{}
8240 See section\InsetSpace ~
8242 \begin_inset LatexCommand ref
8243 reference "sec:style"
8250 \begin_layout Subsection
8254 \begin_layout Standard
8255 \begin_inset LatexCommand label
8260 Since version 1.3.0 of LyX, it is necessary to define the counters (
8268 , \SpecialChar \ldots{}
8269 ) in the text class itself.
8270 If you are looking here to learn how to upgrade an existing text class,
8271 it will probably turn out that all you have to do is to add
8274 \begin_layout LyX-Code
8275 Input stdcounters.inc
8278 \begin_layout Standard
8279 The definition of counters is presently a bit primitive in LyX, since many
8280 things are still hardcoded.
8281 The following two parameters can be used:
8284 \begin_layout Description
8296 \begin_inset Quotes erd
8300 \begin_inset Quotes erd
8303 ] The name of the counter
8306 \begin_layout Description
8318 \begin_inset Quotes erd
8322 \begin_inset Quotes erd
8325 ] If this is set to the name of another counter, the present counter will
8326 be reset everytime the other one is increased (is that unclear enough?).
8329 \begin_layout Standard
8330 When a counter has been associated to a style, it is possible to use some
8331 special constructs in
8346 \begin_layout Itemize
8355 will be replaced the expanded
8366 This is used for example to define the label of a subsection in terms of
8367 the label of a section.
8370 \begin_layout Itemize
8371 counter values can be expressed using LaTeX-like macros
8395 \begin_layout Description
8406 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8411 \begin_layout Standard
8421 Actually, the situation is a bit more complicated than that: any
8440 other than those descibed below will produce arabic numerals.
8441 It would not be surprising to see this change in the future.
8449 \begin_layout Description
8456 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8460 \begin_layout Description
8467 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8471 \begin_layout Description
8478 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8482 \begin_layout Description
8489 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8493 \begin_layout Description
8500 for hebrew numerals.
8504 \begin_layout Subsection
8508 \begin_layout Standard
8509 \begin_inset LatexCommand label
8514 A font description looks like that:
8517 \begin_layout LyX-Code
8527 \begin_layout LyX-Code
8531 \begin_layout LyX-Code
8535 \begin_layout Standard
8536 and the following commands are available:
8539 \begin_layout Description
8556 \begin_layout Description
8573 \begin_layout Description
8585 , Italic, SmallCaps, Slanted
8590 \begin_layout Description
8606 , large, larger, largest, huge, giant
8611 \begin_layout Description
8623 , black, white, red, green, blue, cyan, magenta, yellow
8628 \begin_layout Subsection
8629 Upgrading old layout files
8632 \begin_layout Standard
8633 The file format of layout files changes from time to time, so old layout
8634 files need to be converted.
8635 This process has been automated in LyX 1.4.0: If LyX reads an old format
8636 layout file it will call the conversion tool
8638 $LyXDir/scripts/layout2layout.py
8640 and convert it to a temporary file in current format.
8641 The original file is left untouched, so that you can still use it with
8643 If you want to convert the layout file permanently, just call the converter
8647 \begin_layout LyX-Code
8648 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8651 \begin_layout Standard
8663 \begin_layout Standard
8664 The automatic conversion does only handle syntax changes.
8665 It cannot handle the case where the contents of included files was changed.
8666 For example, layout files based on
8679 If you get error messages about undefined counters, try to convert your
8699 \begin_layout Section
8701 \begin_inset LatexCommand label
8702 name "sec:templates"
8709 \begin_layout Standard
8710 Templates are created just like usual documents.
8711 The only difference is that usual documents contain all possible settings,
8712 including the fontscheme and the papersize.
8713 Usually a user doesn't want a template to overwrite his defaults in these
8715 For that reason, the designer of a template should remove the corresponding
8728 from the template LyX file.
8729 This can be done with any simple text-editor, for example
8741 \begin_layout Standard
8742 Put the edited template files you create in
8746 , copy the ones you use from the global template directory in
8750 to the same place, and redefine the template path in the
8755 dit\SpecialChar \menuseparator
8774 \begin_layout Standard
8775 Note that there is a template which has a particular meaning:
8780 This template is loaded everytime you create a new document with
8787 \SpecialChar \menuseparator
8795 in order to provide useful defaults.
8796 To create this template from inside LyX, all you have to do is to open
8797 a document with the correct settings, and use the
8803 e as Document Defaults
8808 \begin_layout Chapter
8809 Including External Material
8812 \begin_layout Section
8816 \begin_layout Standard
8817 \begin_inset Note Note
8820 \begin_layout Standard
8821 This section is completely outdated.
8826 One often requested feature from LyX users is to be able to interface LyX
8827 with Xfig, Dia, or other similar applications that specialize in producing
8828 a certain kind of diagram, figure, schematic or whatever material might
8829 be relevant to include in your document.
8830 Previously, it was only possible to include boring, static, fixed images
8831 in LyX documents with the graphics feature, but there are several limitations
8832 attached to this approach:
8835 \begin_layout Itemize
8836 If you want to change the figure, you have to invoke an external program
8840 \begin_layout Itemize
8841 LyX does not notice that the referenced files change, so the on-screen display
8842 can fast become obsolete, and this is aggravated by the lack of a means
8843 of updating the display
8846 \begin_layout Itemize
8847 The graphics stuff does not provide any mechanisms for coping with different
8848 exported formats such as DocBook, HTML or plain text
8851 \begin_layout Standard
8852 The external material facility attempts to solve all of these problems
8856 \begin_layout Standard
8857 Even if the graphics facility can't solve all problems, it is still valuable
8858 because it does provide in-line preview of the graphics, and supports advanced
8859 geometric transformations with a comfortable user interface.
8865 It does this by offering a general method to interface LyX to external
8867 Instead of introducing a long list of different constructs tailored for
8868 each specific application, we chose to sacrifice the in-line displaying
8869 of the included material in order to provide a general construct to cover
8870 a wide range of applications.
8871 The result is the external material construct.
8872 External material presents itself in the document simply as a button, but
8873 don't let this fool you.
8874 When you click on it, a dialog will appear that allows you to chose exactly
8875 what material to include, and in the following sections you will learn
8876 that this is indeed a powerful mechanism that can solve all of the above
8880 \begin_layout Section
8884 \begin_layout Standard
8885 The external material feature is based on the concept of a
8890 A template is a specification of how LyX should interface with a certain
8892 As bundled, LyX comes with predefined templates for Xfig figures, Dia diagrams,
8893 various raster format images, gnuplot, and more.
8894 You can check the actual list by using the menu
8896 Insert\SpecialChar \menuseparator
8897 File\SpecialChar \menuseparator
8906 Furthermore, it is possible to roll your own template to support a specific
8908 Later we'll describe in more detail what is involved, and hopefully you
8909 will submit all the templates you create so we can include them in a later
8913 \begin_layout Standard
8914 Another basic idea of the external material feature is to distinguish between
8915 the original file that serves as a base for final material and the produced
8916 file that is included in your exported or printed document.
8917 For example, consider the case of a figure produced with
8922 The Xfig application itself works on an original file with the
8927 Within XFig, you create and change your figure, and when you are done,
8933 When you want to include the figure in your document, you invoke
8937 in order to create a PostScript file that can readily be included in your
8943 file is the original file, and the PostScript file is the produced file.
8946 \begin_layout Standard
8947 This distinction is important in order to allow updating of the material
8948 while you are in the process of writing the document.
8949 Furthermore, it provides us with the flexibility that is needed to support
8950 multiple export formats.
8951 For instance, in the case of a plain text file, it is not exactly an award-winn
8952 ing idea to include the figure as raw PostScript.
8953 Instead, you'd either prefer to just include a reference to the figure,
8954 or try to invoke some graphics to Ascii converter to make the final result
8955 look similar to the real graphics.
8956 The external material management allows you to do this, because it is parameter
8957 ized on the different export formats that LyX supports.
8960 \begin_layout Standard
8961 Besides supporting the production of different products according to the
8962 exported format, it supports tight integration with editing and viewing
8964 In the case of an XFig figure, you are able to invoke
8968 on the original file with a single click from within the external material
8969 dialog in LyX, and also preview the produced PostScript file with
8974 No more fiddling around with the command line and/or file browsers to locate
8975 and manipulate the original or produced files.
8976 In this way, you are finally able to take full advantage of the many different
8977 applications that are relevant to use when you write your documents, and
8978 ultimately be more productive.
8981 \begin_layout Section
8982 External material dialog
8985 \begin_layout Standard
8990 dialog is described in the
8999 \begin_layout Section
9003 \begin_layout Standard
9004 In this section, we should include some examples of use of the external
9006 Those examples could include:
9009 \begin_layout Itemize
9010 External raster images
9013 \begin_layout Itemize
9014 External XFig figures
9017 \begin_layout Itemize
9021 \begin_layout Itemize
9025 \begin_layout Itemize
9026 The use of makefiles
9029 \begin_layout Itemize
9030 Recursive external LyX templates
9033 \begin_layout Section
9034 The external template configuration file
9037 \begin_layout Standard
9038 It is relatively easy to add custom external template definitions to LyX.
9039 However, be aware this doing this in an careless manner most probably
9043 introduce an easily exploitable security hole.
9044 So before you do this, please read the discussion about security which
9048 \begin_layout Standard
9049 Having said that, we encourage you to submit any interesting templates that
9054 \begin_layout Standard
9055 The external templates are defined in the
9057 lib/external_templates
9060 You can place your own version in
9062 .lyx/external_templates
9067 \begin_layout Standard
9068 A typical template looks like this:
9071 \begin_layout LyX-Code
9075 \begin_layout LyX-Code
9076 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
9079 \begin_layout LyX-Code
9083 \begin_layout LyX-Code
9087 \begin_layout LyX-Code
9091 \begin_layout LyX-Code
9095 \begin_layout LyX-Code
9099 \begin_layout LyX-Code
9100 AutomaticProduction true
9103 \begin_layout LyX-Code
9107 \begin_layout LyX-Code
9111 \begin_layout LyX-Code
9115 \begin_layout LyX-Code
9116 TransformCommand Rotate RotationLatexCommand
9119 \begin_layout LyX-Code
9120 TransformCommand Resize ResizeLatexCommand
9123 \begin_layout LyX-Code
9124 Product "$$RotateFront$$ResizeFront
9127 \begin_layout LyX-Code
9132 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
9135 \begin_layout LyX-Code
9136 $$ResizeBack$$RotateBack"
9139 \begin_layout LyX-Code
9143 \begin_layout LyX-Code
9144 UpdateResult "$$AbsPath$$Basename.pstex_t"
9147 \begin_layout LyX-Code
9148 Requirement "graphicx"
9151 \begin_layout LyX-Code
9152 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9155 \begin_layout LyX-Code
9156 ReferencedFile latex "$$AbsPath$$Basename.eps"
9159 \begin_layout LyX-Code
9160 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9163 \begin_layout LyX-Code
9167 \begin_layout LyX-Code
9171 \begin_layout LyX-Code
9172 TransformCommand Rotate RotationLatexCommand
9175 \begin_layout LyX-Code
9176 TransformCommand Resize ResizeLatexCommand
9179 \begin_layout LyX-Code
9180 Product "$$RotateFront$$ResizeFront
9183 \begin_layout LyX-Code
9188 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9191 \begin_layout LyX-Code
9192 $$ResizeBack$$RotateBack"
9195 \begin_layout LyX-Code
9199 \begin_layout LyX-Code
9200 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9203 \begin_layout LyX-Code
9204 Requirement "graphicx"
9207 \begin_layout LyX-Code
9208 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9211 \begin_layout LyX-Code
9212 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9215 \begin_layout LyX-Code
9219 \begin_layout LyX-Code
9223 \begin_layout LyX-Code
9224 Product "$$Contents(
9226 "$$AbsPath$$Basename.asc
9231 \begin_layout LyX-Code
9232 UpdateFormat asciixfig
9235 \begin_layout LyX-Code
9236 UpdateResult "$$AbsPath$$Basename.asc"
9239 \begin_layout LyX-Code
9243 \begin_layout LyX-Code
9247 \begin_layout LyX-Code
9248 Product "<graphic fileref=
9250 "$$AbsOrRelPathMaster$$Basename.eps
9255 \begin_layout LyX-Code
9259 \begin_layout LyX-Code
9263 \begin_layout LyX-Code
9264 UpdateResult "$$AbsPath$$Basename.eps"
9267 \begin_layout LyX-Code
9268 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9271 \begin_layout LyX-Code
9272 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9275 \begin_layout LyX-Code
9279 \begin_layout LyX-Code
9283 \begin_layout LyX-Code
9284 Product "[XFig: $$FName]"
9287 \begin_layout LyX-Code
9291 \begin_layout LyX-Code
9295 \begin_layout Standard
9296 As you can see, the template is enclosed in
9300 \SpecialChar \ldots{}
9306 It contains a header specifying some general settings, and for each supported
9307 primary document file format a section
9311 \SpecialChar \ldots{}
9319 \begin_layout Subsection
9323 \begin_layout Description
9327 Template\InsetSpace ~
9331 A unique name for the template.
9332 It must not contain substitution macros (see below).
9335 \begin_layout Description
9339 GuiName\InsetSpace ~
9343 The text that is displayed on the button.
9344 This command must occur exactly once.
9347 \begin_layout Description
9351 HelpText\InsetSpace ~
9356 The help text that is used in the External dialog.
9357 Provide enough information to explain to the user just what the template
9358 can provide him with.
9359 This command must occur exactly once.
9362 \begin_layout Description
9366 InputFormat\InsetSpace ~
9370 The file format of the original file.
9371 This must be the name of a format that is known to LyX (see the
9376 ools\SpecialChar \menuseparator
9381 references:Conversion
9388 if the template can handle original files of more than one format.
9389 LyX will attempt to interrogate the file itself in order to deduce its
9390 format in this case.
9391 This command must occur exactly once.
9394 \begin_layout Description
9398 FileFilter\InsetSpace ~
9402 A glob pattern that is used in the file dialog to filter out the desired
9404 If there is more than one possible file extension (e.g.\InsetSpace ~
9413 ), use something like
9418 This command must occur exactly once.
9421 \begin_layout Description
9425 AutomaticProduction\InsetSpace ~
9429 Wether the file represented by the template must be generated by LyX.
9430 This command must occur exactly once.
9433 \begin_layout Description
9437 Transform\InsetSpace ~
9438 Rotate|Resize|Clip|Extra
9441 This command specifies which transformations are supported by this template.
9442 It may occur zero or more times.
9443 This command enables the corresponding tabs in the external dialog.
9448 command must have either a corresponding
9461 Otherwise the transformation will not be supported by that format.
9464 \begin_layout Subsection
9468 \begin_layout Description
9473 LaTeX|PDFLaTeX|PlainText|DocBook|LinuxDoc
9476 The primary document file format that this format definition is for.
9477 Not every template has a sensible representation in all document file formats.
9478 Please define nevertheless a
9482 section for all formats.
9483 Use a dummy text when no representation is available (see the LinuxDoc
9484 format in the example above).
9485 Then you can at least see a reference to the external material in the exported
9489 \begin_layout Description
9493 TransformCommand\InsetSpace ~
9495 RotationLatexCommand
9498 This command specifies that the built in LaTeX command should be used for
9500 This command may occur once or not at all.
9503 \begin_layout Description
9507 TransformCommand\InsetSpace ~
9512 This command specifies that the built in LaTeX command should be used for
9514 This command may occur once or not at all.
9517 \begin_layout Description
9521 TransformOption\InsetSpace ~
9526 This command specifies that rotation is done via an optional argument.
9527 This command may occur once or not at all.
9530 \begin_layout Description
9534 TransformOption\InsetSpace ~
9539 This command specifies that resizing is done via an optional argument.
9540 This command may occur once or not at all.
9543 \begin_layout Description
9547 TransformOption\InsetSpace ~
9552 This command specifies that clipping is done via an optional argument.
9553 This command may occur once or not at all.
9556 \begin_layout Description
9560 TransformOption\InsetSpace ~
9565 This command specifies that an extra optional argument is used.
9566 This command may occur once or not at all.
9569 \begin_layout Description
9573 Product\InsetSpace ~
9577 The text that is inserted in the exported document.
9578 This is actually the most important command and can be quite complex.
9579 This command must occur exactly once.
9582 \begin_layout Description
9586 UpdateFormat\InsetSpace ~
9590 The file format of the converted file.
9591 This must be the name of a format that is known to LyX (see the
9596 ools\SpecialChar \menuseparator
9601 references:Conversion
9604 This command must occur exactly once.
9607 \begin_layout Description
9611 UpdateResult\InsetSpace ~
9615 The file name of the converted file.
9616 The file name must be absolute.
9617 This command must occur exactly once.
9620 \begin_layout Description
9624 ReferencedFile\InsetSpace ~
9625 <format>\InsetSpace ~
9629 This command denotes files that are created by the conversion process and
9630 are needed for a particular export format.
9631 If the filename is relative, it is interpreted relative to the master document.
9632 This command may be given zero or more times.
9635 \begin_layout Description
9639 Requirement\InsetSpace ~
9643 The name of a required LaTeX package.
9644 The package is included via
9650 in the LaTeX preamble.
9651 This command may occur zero or more times.
9654 \begin_layout Description
9658 Preamble\InsetSpace ~
9662 This command specifies a preamble snippet that will be included in the
9664 It has to be defined using
9668 \SpecialChar \ldots{}
9674 This command may occur zero or more times.
9677 \begin_layout Description
9686 This command defines an additional macro
9699 itself may contain substitution macros.
9700 The advantage over using
9708 is that the substituted value of
9712 is sanitized so that it is a valid optional argument in the document format.
9713 This command may occur zero or more times.
9716 \begin_layout Subsection
9717 Preamble definitions
9720 \begin_layout Standard
9721 The external template configuration file may contain additional preamble
9722 definitions enclosed by
9726 \SpecialChar \ldots{}
9732 They can be used by the templates in the
9739 \begin_layout Section
9740 The substitution mechanism
9743 \begin_layout Standard
9744 When the external material facility invokes an external program, it is done
9745 on the basis of a command defined in the template configuration file.
9746 These commands can contain various macros that are expanded before execution.
9747 Execution always take place in the directory of the containing document.
9750 \begin_layout Standard
9751 Also, whenever external material is to be displayed, the name will be produced
9752 by the substitution mechanism, and most other commands in the template
9753 definition support substitution as well.
9756 \begin_layout Standard
9757 The available macros are the following:
9760 \begin_layout Description
9761 $$FName The filename of the file specified in the external material dialog.
9762 This is either an absolute name, or it is relative to the LyX document.
9765 \begin_layout Description
9766 $$Basename The filename without path and without the extension.
9769 \begin_layout Description
9770 $$Extension The file extension (including the dot).
9773 \begin_layout Description
9774 $$FPath The path part of
9778 (absolute name or relative to the LyX document).
9781 \begin_layout Description
9782 $$AbsPath The absolute file path.
9785 \begin_layout Description
9786 $$RelPathMaster The file path, relative to the master LyX document.
9789 \begin_layout Description
9790 $$RelPathParent The file path, relative to the LyX document.
9793 \begin_layout Description
9794 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9798 \begin_layout Description
9799 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9802 \begin_layout Description
9803 $$Tempname A name and full path to a temporary file which will be automatically
9804 deleted whenever the containing document is closed, or the external material
9808 \begin_layout Description
9810 \begin_inset Quotes eld
9814 \begin_inset Quotes erd
9817 ) This macro will expand to the contents of the file with the name
9824 \begin_layout Description
9825 $$Sysdir This macro will expand to the absolute path of the system directory.
9826 This is typically used to point to the various helper scripts that are
9830 \begin_layout Standard
9831 All path macros contain a trailing directory separator, so you can construct
9833 the absolute filename with
9835 $$AbsPath$$Basename$$Extension
9840 \begin_layout Standard
9841 The macros above are substituted in all commands unless otherwise noted.
9846 supports additionally the following substitutions if they are enabled by
9858 \begin_layout Description
9859 $$ResizeFront The front part of the resize command.
9862 \begin_layout Description
9863 $$ResizeBack The back part of the resize command.
9866 \begin_layout Description
9867 $$RotateFront The front part of the rotation command.
9870 \begin_layout Description
9871 $$RotateBack The back part of the rotation command.
9874 \begin_layout Standard
9875 The value string of the
9879 command supports additionally the following substitutions if they are enabled
9891 \begin_layout Description
9892 $$Clip The clip option.
9895 \begin_layout Description
9896 $$Extra The extra option.
9899 \begin_layout Description
9900 $$Resize The resize option.
9903 \begin_layout Description
9904 $$Rotate The rotation option.
9907 \begin_layout Standard
9908 You may ask why there are so many path macros.
9909 There are mainly two reasons:
9912 \begin_layout Standard
9913 First, relative and absolute file names should remain relative or absolute,
9915 Users may have reasons to prefer either form.
9916 Relative names are useful for portable documents that should work on different
9917 machines, for example.
9918 Absolute names may be required by some programs.
9921 \begin_layout Standard
9922 Second, LaTeX treats relative file names differently than LyX and other
9923 programs in nested included files.
9924 For LyX, a relative file name is always relative to the document that contains
9926 For LaTeX, it is always relative to the master document.
9927 These two definitions are identical if you have only one document, but
9928 differ if you have a master document that includes part documents.
9929 That means that relative filenames must be transformed when presented to
9931 Fortunately LyX does this automatically for you if you choose the right
9935 \begin_layout Standard
9936 So which path macro should be used in new template definitions? The rule
9940 \begin_layout Itemize
9945 if an absolute path is required.
9948 \begin_layout Itemize
9951 $$AbsOrRelPathMaster
9953 if the substituted string is some kind of LaTeX input.
9956 \begin_layout Itemize
9959 $$AbsOrRelPathParent
9961 in order to preserve the user's choice.
9964 \begin_layout Standard
9965 There are special cases where this rule does not work and e.g.\InsetSpace ~
9967 are needed, but normally it will work just fine.
9968 One example for such a case is the command
9970 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9972 in the XFig template above: We can't use the absolute name because the
9977 files needs the relative name in order to rewrite the file content.
9980 \begin_layout Section
9984 \begin_layout Standard
9985 \begin_inset Note Note
9988 \begin_layout Standard
9989 This section is outdated
9994 The external material feature interfaces with a lot of external programs
9995 and does so automatically, so we have to consider the security implications
9997 In particular, since you have the option of including your own filenames
9998 and/or parameter strings and those are expanded into a command, it seems
9999 that it would be possible to create a malicious document which executes
10000 arbitrary commands when a user views or prints the document.
10001 This is something we definately want to avoid.
10004 \begin_layout Standard
10005 However, since the external program commands are specified in the template
10006 configuration file only, there are no security issues if LyX is properly
10007 configured with safe templates only.
10008 This is so because the external programs are invoked with the
10012 -system call rather than the
10016 system-call, so it's not possible to execute arbitrary commands from the
10017 filename or parameter section via the shell.
10020 \begin_layout Standard
10021 This also implies that you are restricted in what command strings you can
10022 use in the external material templates.
10023 In particular, pipes and redirection are not readily available.
10024 This has to be so if LyX should remain safe.
10025 If you want to use some of the shell features, you should write a safe
10026 script to do this in a controlled manner, and then invoke the script from
10027 the command string.
10032 directory of the LyX installation, you can find a safe wrapper script
10034 general_command_wrapper.py
10036 that supports redirection of input and output.
10037 That can serve as an example for how to write safe template scripts.
10038 For a more advanced example that uses
10042 and friends, take a look at the
10049 \begin_layout Standard
10050 It is possible to design a template that interacts directly with the shell,
10051 but since this would allow a malicious user to execute arbitrary commands
10052 by writing clever filenames and/or parameters, we generally recommend that
10053 you only use safe scripts that work with the
10057 system call in a controlled manner.
10058 Of course, for use in a controlled environment, it can be tempting to just
10059 fall back to use ordinary shell scripts.
10060 If you do so, be aware that you
10064 provide an easily exploitable security hole in your system.
10065 Of course it stands to reason that such unsafe templates will never be
10066 included in the standard LyX distribution, although we do encourage people
10067 to submit new templates in the open source tradition.
10068 But LyX as shipped from the official distribution channels will never have
10072 \begin_layout Standard
10073 Including external material provides a lot of power, and you have to be
10074 careful not to introduce security hazards with this power.
10075 A subtle error in a single line in an innocent looking script can open
10076 the door to huge security problems.
10077 So if you do not fully understand the issues, we recommend that you consult
10078 a knowledgable security professional or the LyX development team if you
10079 have any questions about whether a given template is safe or not.
10080 And do this before you use it in an uncontrolled environment.
10083 \begin_layout Chapter
10087 \begin_layout Section
10091 \begin_layout Standard
10092 The LyX server is a method implemented in LyX that will enable other programs
10093 to talk to LyX, invoke LyX commands, and retrieve information about the
10094 LyX internal state.
10095 This is only intended for advanced users, but they should find it useful.
10098 \begin_layout Section
10099 Starting the LyX Server
10102 \begin_layout Standard
10103 The LyX server works through the use of a pair of named pipes.
10104 These are usually located in your home directory and have the names
10105 \begin_inset Quotes eld
10113 \begin_inset Quotes erd
10117 \begin_inset Quotes eld
10125 \begin_inset Quotes erd
10129 External programs write into
10133 and read back data from
10138 The stem of the pipe names can be defined in the
10143 ools\SpecialChar \menuseparator
10150 dialog, for example
10152 "/home/myhome/.lyxpipe"
10157 \begin_layout Standard
10166 ' to create the pipes.
10167 The above setting also has the effect of activating the LyX server.
10168 If one of the pipes already exists, LyX will assume that another LyX process
10169 is already running and will not start the server.
10170 To have several LyX processes with servers at the same time, you have to
10171 change the configuration between the start of the programs.
10174 \begin_layout Standard
10175 If you are developing a client program, you might find it useful to enable
10176 debugging information from the LyX server.
10177 Do this by starting LyX as
10179 lyx -dbg lyxserver.
10182 \begin_layout Standard
10183 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10184 case you must remove them manually.
10185 If LyX starts and the pipes exist already, it will not start any server.
10188 \begin_layout Standard
10189 Other than this, there are a few points to consider:
10192 \begin_layout Itemize
10193 Both server and clients must run on UNIX or OS/2 machines.
10194 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10195 not possible right now.
10198 \begin_layout Itemize
10199 On OS/2, only one client can connect to LyXServer at a time.
10202 \begin_layout Itemize
10203 On OS/2, clients must open inpipe with
10210 \begin_layout Standard
10211 You can find a complete example client written in C in the source distribution
10214 development/server_monitor.c
10219 \begin_layout Section
10220 Normal communication
10223 \begin_layout Standard
10224 To issue a LyX call, the client writes a line of ASCII text into the input
10226 This line has the following format:
10229 \begin_layout Quote
10243 \begin_layout Standard
10248 is a name that the client can choose arbitrarily.
10249 Its only use is that LyX will echo it if it sends an answer - so a client
10250 can dispatch results from different requesters.
10253 \begin_layout Standard
10258 is the function you want LyX to perform.
10259 It is the same as the commands you'd use in the minibuffer.
10262 \begin_layout Standard
10267 is an optional argument which is meaningful only to some functions (for
10269 \begin_inset Quotes eld
10273 \begin_inset Quotes erd
10276 which will insert the argument as text at the cursor position.)
10279 \begin_layout Standard
10280 The answer from LyX will arrive in the output pipe and be of the form
10283 \begin_layout Quote
10297 \begin_layout Standard
10306 are just echoed from the command request, while
10310 is more or less useful information filled according to how the command
10311 execution worked out.
10312 Some commands will return information about the internal state of LyX,
10314 \begin_inset Quotes eld
10318 \begin_inset Quotes erd
10321 , while other will return an empty data-response.
10322 This means that the command execution went fine.
10325 \begin_layout Standard
10326 In case of errors, the response from LyX will have this form
10329 \begin_layout Quote
10343 \begin_layout Standard
10348 should contain an explanation of why the command failed.
10351 \begin_layout Standard
10355 \begin_layout LyX-Code
10356 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10359 \begin_layout LyX-Code
10360 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10362 read a <~/.lyxpipe.out
10367 \begin_layout Section
10371 \begin_layout Standard
10372 LyX can notify clients of events going on asynchronously.
10373 Currently it will only do this if the user binds a key sequence with the
10375 \begin_inset Quotes eld
10379 \begin_inset Quotes erd
10383 The format of the string LyX sends is as follows:
10386 \begin_layout Quote
10395 \begin_layout Standard
10400 is the printed representation of the key sequence that was actually typed
10404 \begin_layout Standard
10405 This mechanism can be used to extend LyX's command set and implement macros:
10406 bind some key sequence to
10407 \begin_inset Quotes eld
10411 \begin_inset Quotes erd
10414 , start a client that listens on the out pipe, dispatches the command according
10415 to the sequence and starts a function that may use LyX calls and LyX requests
10416 to issue a command or a series of commands to LyX.
10419 \begin_layout Section
10420 The simple LyX Server Protocol
10423 \begin_layout Standard
10424 LyX implements a simple protocol that can be used for session management.
10425 All messages are of the form
10428 \begin_layout Quote
10438 \begin_layout Standard
10444 \begin_inset Quotes eld
10448 \begin_inset Quotes erd
10452 \begin_inset Quotes eld
10456 \begin_inset Quotes erd
10461 \begin_inset Quotes eld
10465 \begin_inset Quotes erd
10468 is received from a client, LyX will report back to inform the client that
10469 it's listening to it's messages, while
10470 \begin_inset Quotes eld
10474 \begin_inset Quotes erd
10477 sent from LyX will inform clients that LyX is closing.
10480 \begin_layout Chapter
10485 \begin_layout Standard
10486 This appendix is a huge cross-reference to all the English language keybindings.
10487 Originally, we simply wanted to list all of the key bindings followed by
10488 the function it's bound to.
10489 That way, a user can look up a key to find out what it does.
10490 We then decided, what the hey, why not include the default toolbar and
10491 menu bindings, too.
10492 Please note this section is likely to be very out of date.
10495 \begin_layout Standard
10496 The form is really self-explanatory, but here are a few tips: all entries
10497 are arranged roughly alphabetically for a given modifier (
10506 For the general keyboard layout, simpler prefixes precede the more complex
10516 All entries were gleaned from the default user interface and binding files
10517 located in the directories
10519 \SpecialChar \ldots{}
10524 \SpecialChar \ldots{}
10527 ; they should be treated as the final word on the bindings.
10530 \begin_layout Standard
10531 As a final note, be aware that some window managers (such as FVWM) take
10532 control of some of the function keys or motion keys.
10537 is listed here as generating
10541 , but FVWM grabs it and uses it to change virtual desktops instead.
10542 Very annoying unless you instruct your window manager to stop intercepting
10546 \begin_layout Section
10550 \begin_layout LyX-Code
10554 \begin_layout LyX-Code
10558 \begin_layout LyX-Code
10562 \begin_layout LyX-Code
10563 Icon "buffer-write"
10566 \begin_layout LyX-Code
10567 Icon "buffer-print"
10570 \begin_layout LyX-Code
10574 \begin_layout LyX-Code
10578 \begin_layout LyX-Code
10582 \begin_layout LyX-Code
10586 \begin_layout LyX-Code
10590 \begin_layout LyX-Code
10594 \begin_layout LyX-Code
10598 \begin_layout LyX-Code
10602 \begin_layout LyX-Code
10606 \begin_layout LyX-Code
10610 \begin_layout LyX-Code
10614 \begin_layout LyX-Code
10618 \begin_layout LyX-Code
10619 Icon "footnote-insert"
10622 \begin_layout LyX-Code
10623 Icon "marginpar-insert"
10626 \begin_layout LyX-Code
10630 \begin_layout LyX-Code
10634 \begin_layout LyX-Code
10635 Icon "figure-insert"
10638 \begin_layout LyX-Code
10639 Icon "dialog-tabular-insert"
10642 \begin_layout LyX-Code
10646 \begin_layout Section
10650 \begin_layout Standard
10651 Note that the following bindings are for LyX with English menus.
10652 The second character of the binding depends on the menu language.
10654 \begin_inset Quotes eld
10662 \begin_inset Quotes erd
10665 is with German menus
10666 \begin_inset Quotes eld
10674 \begin_inset Quotes erd
10678 To find out the shortcuts of your language press the Meta (Alt)-key and
10679 press then the keys of the underlined characters of the menu names.
10682 \begin_layout Subsection
10687 \labelwidthstring 00.00.0000
10699 \labelwidthstring 00.00.0000
10711 \labelwidthstring 00.00.0000
10723 \labelwidthstring 00.00.0000
10737 \labelwidthstring 00.00.0000
10749 \labelwidthstring 00.00.0000
10763 \labelwidthstring 00.00.0000
10775 \labelwidthstring 00.00.0000
10787 \labelwidthstring 00.00.0000
10799 \labelwidthstring 00.00.0000
10811 \labelwidthstring 00.00.0000
10819 buffer-new-template
10823 \labelwidthstring 00.00.0000
10838 \labelwidthstring 00.00.0000
10849 \labelwidthstring 00.00.0000
10860 \labelwidthstring 00.00.0000
10871 \labelwidthstring 00.00.0000
10882 \labelwidthstring 00.00.0000
10893 \labelwidthstring 00.00.0000
10905 \labelwidthstring 00.00.0000
10916 \begin_layout Subsection
10921 \labelwidthstring 00.00.0000
10933 \labelwidthstring 00.00.0000
10945 \labelwidthstring 00.00.0000
10957 \labelwidthstring 00.00.0000
10969 \labelwidthstring 00.00.0000
10981 \labelwidthstring 00.00.0000
10993 \labelwidthstring 00.00.0000
11008 \labelwidthstring 00.00.0000
11015 tabular-feature append-row
11019 \labelwidthstring 00.00.0000
11026 tabular-feature toggle-line-bottom
11030 \labelwidthstring 00.00.0000
11037 tabular-feature align-center
11041 \labelwidthstring 00.00.0000
11048 tabular-feature delete-column
11052 \labelwidthstring 00.00.0000
11059 tabular-feature align-left
11063 \labelwidthstring 00.00.0000
11070 tabular-feature align-right
11074 \labelwidthstring 00.00.0000
11081 tabular-feature toggle-line-left
11085 \labelwidthstring 00.00.0000
11092 tabular-feature multicolumn
11096 \labelwidthstring 00.00.0000
11103 tabular-feature valign-center
11107 \labelwidthstring 00.00.0000
11114 tabular-feature valign-top
11118 \labelwidthstring 00.00.0000
11125 tabular-feature toggle-line-right
11129 \labelwidthstring 00.00.0000
11136 tabular-feature toggle-line-top
11140 \labelwidthstring 00.00.0000
11147 tabular-feature append-column
11151 \labelwidthstring 00.00.0000
11158 tabular-feature valign-bottom
11162 \labelwidthstring 00.00.0000
11169 tabular-feature delete-row
11174 \labelwidthstring 00.00.0000
11187 \labelwidthstring 00.00.0000
11194 floats-operate openfoot
11198 \labelwidthstring 00.00.0000
11205 floats-operate closefoot
11209 \labelwidthstring 00.00.0000
11216 floats-operate openfig
11220 \labelwidthstring 00.00.0000
11231 \labelwidthstring 00.00.0000
11242 \labelwidthstring 00.00.0000
11249 floats-operate closefig
11254 \labelwidthstring 00.00.0000
11266 \labelwidthstring 00.00.0000
11280 \labelwidthstring 00.00.0000
11292 \labelwidthstring 00.00.0000
11304 \labelwidthstring 00.00.0000
11318 \labelwidthstring 00.00.0000
11330 \labelwidthstring 00.00.0000
11345 \labelwidthstring 00.00.0000
11352 primary-selection-paste
11356 \labelwidthstring 00.00.0000
11363 primary-selection-paste paragraph
11367 \begin_layout Subsection
11372 \labelwidthstring 00.00.0000
11387 \labelwidthstring 00.00.0000
11394 buffer-float-insert algorithm
11398 \labelwidthstring 00.00.0000
11405 buffer-float-insert wide-tab
11409 \labelwidthstring 00.00.0000
11416 buffer-float-insert figure
11420 \labelwidthstring 00.00.0000
11427 buffer-float-insert table
11431 \labelwidthstring 00.00.0000
11438 buffer-float-insert wide-fig
11443 \labelwidthstring 00.00.0000
11451 dialog-tabular-insert
11455 \labelwidthstring 00.00.0000
11467 \labelwidthstring 00.00.0000
11479 \labelwidthstring 00.00.0000
11487 buffer-child-insert
11491 \labelwidthstring 00.00.0000
11503 \labelwidthstring 00.00.0000
11515 \labelwidthstring 00.00.0000
11527 \labelwidthstring 00.00.0000
11539 \labelwidthstring 00.00.0000
11551 \labelwidthstring 00.00.0000
11563 \labelwidthstring 00.00.0000
11575 \labelwidthstring 00.00.0000
11590 \labelwidthstring 00.00.0000
11601 \labelwidthstring 00.00.0000
11612 \labelwidthstring 00.00.0000
11623 \labelwidthstring 00.00.0000
11634 \labelwidthstring 00.00.0000
11645 \labelwidthstring 00.00.0000
11657 \labelwidthstring 00.00.0000
11669 \labelwidthstring 00.00.0000
11684 \labelwidthstring 00.00.0000
11691 protected-space-insert
11695 \labelwidthstring 00.00.0000
11702 end-of-sentence-period-insert
11706 \labelwidthstring 00.00.0000
11717 \labelwidthstring 00.00.0000
11728 \labelwidthstring 00.00.0000
11739 \labelwidthstring 00.00.0000
11746 menu-separator-insert
11750 \labelwidthstring 00.00.0000
11757 hyphenation-point-insert
11761 \labelwidthstring 00.00.0000
11772 \labelwidthstring 00.00.0000
11779 command-sequence math-insert ^;math-mode;
11783 \labelwidthstring 00.00.0000
11790 command-sequence math-insert _;math-mode;
11795 \labelwidthstring 00.00.0000
11810 \labelwidthstring 00.00.0000
11817 file-insert-plaintext lines
11821 \labelwidthstring 00.00.0000
11828 file-insert-plaintext paragraphs
11832 \labelwidthstring 00.00.0000
11844 \labelwidthstring 00.00.0000
11856 \labelwidthstring 00.00.0000
11868 \labelwidthstring 00.00.0000
11879 \begin_layout Subsection
11884 \labelwidthstring 00.00.0000
11896 \labelwidthstring 00.00.0000
11908 \labelwidthstring 00.00.0000
11920 \labelwidthstring 00.00.0000
11932 \labelwidthstring 00.00.0000
11944 \labelwidthstring 00.00.0000
11956 \labelwidthstring 00.00.0000
11968 \labelwidthstring 00.00.0000
11980 \labelwidthstring 00.00.0000
11988 layout-save-default
11992 \labelwidthstring 00.00.0000
12004 \labelwidthstring 00.00.0000
12016 \labelwidthstring 00.00.0000
12027 \begin_layout Subsubsection
12030 Layout\SpecialChar \menuseparator
12037 \labelwidthstring 00.00.0000
12049 \labelwidthstring 00.00.0000
12061 \labelwidthstring 00.00.0000
12073 \labelwidthstring 00.00.0000
12085 \labelwidthstring 00.00.0000
12097 \labelwidthstring 00.00.0000
12109 \labelwidthstring 00.00.0000
12121 \labelwidthstring 00.00.0000
12133 \labelwidthstring 00.00.0000
12145 \labelwidthstring 00.00.0000
12157 \labelwidthstring 00.00.0000
12169 \labelwidthstring 00.00.0000
12181 \labelwidthstring 00.00.0000
12193 \labelwidthstring 00.00.0000
12205 \labelwidthstring 00.00.0000
12217 \labelwidthstring 00.00.0000
12229 \labelwidthstring 00.00.0000
12241 \labelwidthstring 00.00.0000
12253 \labelwidthstring 00.00.0000
12265 \labelwidthstring 00.00.0000
12277 \labelwidthstring 00.00.0000
12289 \labelwidthstring 00.00.0000
12301 \labelwidthstring 00.00.0000
12313 \labelwidthstring 00.00.0000
12325 \labelwidthstring 00.00.0000
12337 \labelwidthstring 00.00.0000
12349 \labelwidthstring 00.00.0000
12361 \labelwidthstring 00.00.0000
12373 \labelwidthstring 00.00.0000
12385 \labelwidthstring 00.00.0000
12397 \labelwidthstring 00.00.0000
12409 \labelwidthstring 00.00.0000
12420 \begin_layout Subsection
12424 \begin_layout Subsection
12428 \begin_layout Subsection
12432 \begin_layout Subsection
12437 \labelwidthstring 00.00.0000
12449 \labelwidthstring 00.00.0000
12461 \labelwidthstring 00.00.0000
12473 \labelwidthstring 00.00.0000
12485 \labelwidthstring 00.00.0000
12497 \labelwidthstring 00.00.0000
12505 layout ShortFoilhead
12509 \labelwidthstring 00.00.0000
12521 \labelwidthstring 00.00.0000
12533 \labelwidthstring 00.00.0000
12545 \labelwidthstring 00.00.0000
12557 \labelwidthstring 00.00.0000
12565 layout ShortRotatefoilhead
12569 \labelwidthstring 00.00.0000
12581 \labelwidthstring 00.00.0000
12593 \labelwidthstring 00.00.0000
12605 \labelwidthstring 00.00.0000
12613 drop-layouts-choice
12617 \labelwidthstring 00.00.0000
12632 \labelwidthstring 00.00.0000
12647 \labelwidthstring 00.00.0000
12659 \labelwidthstring 00.00.0000
12671 \labelwidthstring 00.00.0000
12679 layout Subsubsection
12683 \labelwidthstring 00.00.0000
12695 \labelwidthstring 00.00.0000
12703 layout Subparagraph
12707 \labelwidthstring 00.00.0000
12711 asterisk\InsetSpace ~
12720 \labelwidthstring 00.00.0000
12724 asterisk\InsetSpace ~
12733 \labelwidthstring 00.00.0000
12737 asterisk\InsetSpace ~
12746 \labelwidthstring 00.00.0000
12750 asterisk\InsetSpace ~
12759 \labelwidthstring 00.00.0000
12763 asterisk\InsetSpace ~
12768 layout Subsubsection*
12772 \labelwidthstring 00.00.0000
12776 asterisk\InsetSpace ~
12785 \labelwidthstring 00.00.0000
12789 asterisk\InsetSpace ~
12794 layout Subparagraph*
12798 \labelwidthstring 00.00.0000
12810 \labelwidthstring 00.00.0000
12818 layout Bibliography
12822 \labelwidthstring 00.00.0000
12834 \labelwidthstring 00.00.0000
12846 \labelwidthstring 00.00.0000
12858 \labelwidthstring 00.00.0000
12870 \labelwidthstring 00.00.0000
12882 \labelwidthstring 00.00.0000
12890 layout Rotatefoilhead
12894 \labelwidthstring 00.00.0000
12902 layout RightAddress
12906 \labelwidthstring 00.00.0000
12918 \labelwidthstring 00.00.0000
12930 \labelwidthstring 00.00.0000
12942 \labelwidthstring 00.00.0000
12953 \begin_layout Standard
12954 These ones are kept for backwards compatibility, but only make sense on
12959 \labelwidthstring 00.00.0000
12971 \labelwidthstring 00.00.0000
12979 layout Subsubsection*
12983 \labelwidthstring 00.00.0000
12994 \begin_layout Section
12998 \begin_layout Subsection
13005 \labelwidthstring 00.00.0000
13016 \labelwidthstring 00.00.0000
13027 \labelwidthstring 00.00.0000
13038 \labelwidthstring 00.00.0000
13049 \labelwidthstring 00.00.0000
13060 \labelwidthstring 00.00.0000
13071 \labelwidthstring 00.00.0000
13078 hyphenation-point-insert
13082 \labelwidthstring 00.00.0000
13093 \labelwidthstring 00.00.0000
13100 line-delete-forward
13104 \labelwidthstring 00.00.0000
13115 \labelwidthstring 00.00.0000
13126 \labelwidthstring 00.00.0000
13137 \labelwidthstring 00.00.0000
13148 \labelwidthstring 00.00.0000
13159 \labelwidthstring 00.00.0000
13170 \labelwidthstring 00.00.0000
13181 \labelwidthstring 00.00.0000
13192 \labelwidthstring 00.00.0000
13203 \labelwidthstring 00.00.0000
13214 \labelwidthstring 00.00.0000
13225 \labelwidthstring 00.00.0000
13236 \labelwidthstring 00.00.0000
13248 \labelwidthstring 00.00.0000
13260 \labelwidthstring 00.00.0000
13272 \labelwidthstring 00.00.0000
13284 \labelwidthstring 00.00.0000
13297 \labelwidthstring 00.00.0000
13309 \labelwidthstring 00.00.0000
13321 \labelwidthstring 00.00.0000
13333 \labelwidthstring 00.00.0000
13345 \labelwidthstring 00.00.0000
13358 \labelwidthstring 00.00.0000
13370 \labelwidthstring 00.00.0000
13382 \labelwidthstring 00.00.0000
13395 \labelwidthstring 00.00.0000
13408 \labelwidthstring 00.00.0000
13421 \labelwidthstring 00.00.0000
13434 \labelwidthstring 00.00.0000
13447 \labelwidthstring 00.00.0000
13460 \labelwidthstring 00.00.0000
13472 \labelwidthstring 00.00.0000
13484 \labelwidthstring 00.00.0000
13496 \labelwidthstring 00.00.0000
13504 menu-open Documents
13508 \labelwidthstring 00.00.0000
13520 \labelwidthstring 00.00.0000
13532 \labelwidthstring 00.00.0000
13544 \labelwidthstring 00.00.0000
13556 \labelwidthstring 00.00.0000
13568 \labelwidthstring 00.00.0000
13576 buffer-toggle-read-only
13580 \labelwidthstring 00.00.0000
13592 \labelwidthstring 00.00.0000
13604 \labelwidthstring 00.00.0000
13616 \labelwidthstring 00.00.0000
13627 \labelwidthstring 00.00.0000
13638 \labelwidthstring 00.00.0000
13649 \labelwidthstring 00.00.0000
13660 \labelwidthstring 00.00.0000
13671 \labelwidthstring 00.00.0000
13682 \labelwidthstring 00.00.0000
13693 \labelwidthstring 00.00.0000
13704 \labelwidthstring 00.00.0000
13715 \labelwidthstring 00.00.0000
13726 \labelwidthstring 00.00.0000
13737 \labelwidthstring 00.00.0000
13748 \labelwidthstring 00.00.0000
13759 \labelwidthstring 00.00.0000
13770 \labelwidthstring 00.00.0000
13777 word-delete-forward
13781 \labelwidthstring 00.00.0000
13788 word-delete-backward
13792 \labelwidthstring 00.00.0000
13803 \labelwidthstring 00.00.0000
13810 end-of-sentence-period-insert
13814 \labelwidthstring 00.00.0000
13821 protected-space-insert
13825 \labelwidthstring 00.00.0000
13836 \labelwidthstring 00.00.0000
13847 \labelwidthstring 00.00.0000
13858 \labelwidthstring 00.00.0000
13869 \labelwidthstring 00.00.0000
13880 \labelwidthstring 00.00.0000
13891 \labelwidthstring 00.00.0000
13898 buffer-begin-select
13902 \labelwidthstring 00.00.0000
13913 \labelwidthstring 00.00.0000
13920 paragraph-up-select
13924 \labelwidthstring 00.00.0000
13931 paragraph-down-select
13935 \labelwidthstring 00.00.0000
13942 word-backward-select
13946 \labelwidthstring 00.00.0000
13953 word-forward-select
13957 \labelwidthstring 00.00.0000
13968 \labelwidthstring 00.00.0000
13975 word-delete-forward
13979 \labelwidthstring 00.00.0000
13990 \labelwidthstring 00.00.0000
14001 \labelwidthstring 00.00.0000
14012 \labelwidthstring 00.00.0000
14023 \labelwidthstring 00.00.0000
14030 break-paragraph-keep-layout
14034 \labelwidthstring 00.00.0000
14044 \begin_layout Subsection
14051 \labelwidthstring 00.00.0000
14062 \labelwidthstring 00.00.0000
14073 \labelwidthstring 00.00.0000
14084 \labelwidthstring 00.00.0000
14095 \labelwidthstring 00.00.0000
14106 \labelwidthstring 00.00.0000
14117 \labelwidthstring 00.00.0000
14128 \labelwidthstring 00.00.0000
14139 \labelwidthstring 00.00.0000
14150 \labelwidthstring 00.00.0000
14161 \labelwidthstring 00.00.0000
14172 \labelwidthstring 00.00.0000
14183 \labelwidthstring 00.00.0000
14194 \labelwidthstring 00.00.0000
14205 \labelwidthstring 00.00.0000
14216 \labelwidthstring 00.00.0000
14227 \labelwidthstring 00.00.0000
14238 \labelwidthstring 00.00.0000
14249 \labelwidthstring 00.00.0000
14260 \labelwidthstring 00.00.0000
14271 \labelwidthstring 00.00.0000
14282 \labelwidthstring 00.00.0000
14293 \labelwidthstring 00.00.0000
14300 protected-space-insert
14304 \labelwidthstring 00.00.0000
14315 \labelwidthstring 00.00.0000
14326 \labelwidthstring 00.00.0000
14337 \labelwidthstring 00.00.0000
14344 buffer-new-template
14348 \labelwidthstring 00.00.0000
14359 \labelwidthstring 00.00.0000
14370 \labelwidthstring 00.00.0000
14381 \labelwidthstring 00.00.0000
14392 \labelwidthstring 00.00.0000
14403 \labelwidthstring 00.00.0000
14414 \labelwidthstring 00.00.0000
14425 \labelwidthstring 00.00.0000
14432 end-of-sentence-period-insert
14436 \labelwidthstring 00.00.0000
14447 \labelwidthstring 00.00.0000
14458 \labelwidthstring 00.00.0000
14465 hyphenation-point-insert
14469 \labelwidthstring 00.00.0000
14480 \labelwidthstring 00.00.0000
14487 protected-space-insert
14491 \labelwidthstring 00.00.0000
14502 \labelwidthstring 00.00.0000
14513 \labelwidthstring 00.00.0000
14524 \labelwidthstring 00.00.0000
14535 \labelwidthstring 00.00.0000
14546 \labelwidthstring 00.00.0000
14557 \labelwidthstring 00.00.0000
14568 \labelwidthstring 00.00.0000
14579 \labelwidthstring 00.00.0000
14590 \labelwidthstring 00.00.0000
14601 \labelwidthstring 00.00.0000
14612 \labelwidthstring 00.00.0000
14623 \labelwidthstring 00.00.0000
14634 \labelwidthstring 00.00.0000
14645 \labelwidthstring 00.00.0000
14656 \labelwidthstring 00.00.0000
14663 word-delete-forward
14667 \labelwidthstring 00.00.0000
14674 word-delete-backward
14678 \labelwidthstring 00.00.0000
14689 \labelwidthstring 00.00.0000
14700 \labelwidthstring 00.00.0000
14711 \labelwidthstring 00.00.0000
14722 \labelwidthstring 00.00.0000
14729 paragraph-down-select
14733 \labelwidthstring 00.00.0000
14744 \labelwidthstring 00.00.0000
14751 buffer-begin-select
14755 \labelwidthstring 00.00.0000
14762 word-backward-select
14766 \labelwidthstring 00.00.0000
14773 word-forward-select
14777 \labelwidthstring 00.00.0000
14784 paragraph-up-select
14788 \labelwidthstring 00.00.0000
14799 \labelwidthstring 00.00.0000
14806 break-paragraph-keep-layout
14810 \labelwidthstring 00.00.0000
14821 \labelwidthstring 00.00.0000
14832 \labelwidthstring 00.00.0000
14843 \labelwidthstring 00.00.0000
14854 \labelwidthstring 00.00.0000
14865 \labelwidthstring 00.00.0000
14876 \labelwidthstring 00.00.0000
14887 \labelwidthstring 00.00.0000
14898 \labelwidthstring 00.00.0000
14909 \labelwidthstring 00.00.0000
14920 \labelwidthstring 00.00.0000
14930 \begin_layout Subsection
14936 \begin_layout Standard
14937 These are LyX keyboard definitions for mathematics, similar to those of
14941 \begin_layout Standard
14942 The bindings file and the present documentation were prepared by Serge Winitzki
14943 with assistance from Jean-Marc Lasgouttes.
14944 Version 1.3, for LyX 1.2.x and 1.3.x.
14947 \begin_layout Standard
14948 These definitions make it a lot easier to type equations without using the
14949 mouse, especially for people familiar with Scientific Word.
14950 The standard LyX bindings such as
14961 \begin_layout Standard
14962 Tip: to find the "LyX bind name" for a key, look at the status bar after
14963 typing some non-existent key combination.
14965 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
14966 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
14970 \labelwidthstring 00.00.0000
14979 -- Copy, cut, paste is as in Sciword,
14995 \labelwidthstring 00.00.0000
15004 -- Display equation toggle: type
15008 to insert a displayed formula (
15013 \begin_inset Quotes eld
15017 \begin_inset Quotes erd
15025 in a displayed formula to convert it back to an inline formula.
15029 \labelwidthstring 00.00.0000
15044 to insert a fraction (
15049 \begin_inset Quotes eld
15053 \begin_inset Quotes erd
15057 You can also select an expression and type
15061 to convert it to the numerator of a fraction.
15070 end of the denominator will delete the numerator and convert the denominator
15075 \labelwidthstring 00.00.0000
15087 \begin_inset Formula $\int$
15095 \begin_inset Quotes eld
15099 \begin_inset Quotes erd
15106 \labelwidthstring 00.00.0000
15113 line-delete-forward
15115 -- Emacs-like binding: delete forward of cursor to end of line.
15119 \labelwidthstring 00.00.0000
15128 -- A text/math toggle (
15133 \begin_inset Quotes eld
15137 \begin_inset Quotes erd
15140 ): switches to math in text mode, and also inserts roman text in math mode.
15150 \begin_inset Quotes eld
15154 \begin_inset Quotes erd
15161 \labelwidthstring 00.00.0000
15170 -- Add/remove numbering in a single equation.
15174 \labelwidthstring 00.00.0000
15183 -- Add/remove numbering at a line in equation arrays.
15186 \begin_layout Standard
15187 The above commands are toggles that control the numbering of equations (
15192 \begin_inset Quotes eld
15196 \begin_inset Quotes erd
15200 Note: when deleting a number in a labeled eqnarray, the label is not really
15201 removed (the TeX code becomes
15202 \begin_inset Quotes eld
15214 \begin_inset Quotes erd
15217 ) and this generates a (harmless) LaTeX warning.
15221 \labelwidthstring 00.00.0000
15230 -- Open a new document.
15235 \labelwidthstring 00.00.0000
15244 -- Insert a quote character " (
15249 \begin_inset Quotes eld
15253 \begin_inset Quotes erd
15258 \begin_inset Quotes eld
15262 \begin_inset Quotes erd
15265 double quote character that you get by default.
15269 \labelwidthstring 00.00.0000
15280 -- Square root sign
15281 \begin_inset Formula $\sqrt{x}$
15289 \begin_inset Quotes eld
15293 \begin_inset Quotes erd
15300 \labelwidthstring 00.00.0000
15312 \begin_inset Formula $\sqrt[n]{x}$
15319 \labelwidthstring 00.00.0000
15328 -- Another binding for a switch between the text and the math mode (
15333 \begin_inset Quotes eld
15337 \begin_inset Quotes erd
15341 Note that the roman text inserted in math mode is special.
15345 \labelwidthstring 00.00.0000
15358 the selected text (text mode only, use things like
15374 \labelwidthstring 00.00.0000
15383 -- W*ndows heritage.
15387 \labelwidthstring 00.00.0000
15396 -- Close the current document (again, a W*ndows heritage).
15400 \labelwidthstring 00.00.0000
15411 \labelwidthstring 00.00.0000
15422 \labelwidthstring 00.00.0000
15432 \begin_inset Quotes eld
15436 \begin_inset Quotes erd
15440 \begin_inset Quotes eld
15444 \begin_inset Quotes erd
15450 \begin_layout Standard
15451 Bracket delimiters: press
15455 -<bracket key> to insert a matching pair of delimiters.
15460 inserts a pair of parentheses
15461 \begin_inset Formula $\left[\right]$
15469 does the same thing.) It will switch to math mode if needed.
15470 The supported characters are ( [ { < |.
15471 It is the same to press the right or the left bracket.
15472 The corresponding delimiters are
15473 \begin_inset Formula $\left(\right)$
15477 \begin_inset Formula $\left[\right]$
15481 \begin_inset Formula $\left\{ \right\} $
15485 \begin_inset Formula $\left\langle \right\rangle $
15489 \begin_inset Formula $\left|\right|$
15494 \begin_inset Quotes eld
15498 \begin_inset Quotes erd
15501 and resize with their contents.
15502 Use Math Panel to get other or non-matching delimiters.
15503 Press backspace on the
15507 delimiter to remove both
15508 \begin_inset Quotes eld
15512 \begin_inset Quotes erd
15515 delimiters without removing their contents.
15519 \labelwidthstring 00.00.0000
15528 -- for convenience, pressing
15542 \labelwidthstring 00.00.0000
15553 \labelwidthstring 00.00.0000
15564 \labelwidthstring 00.00.0000
15575 \labelwidthstring 00.00.0000
15586 \labelwidthstring 00.00.0000
15597 \labelwidthstring 00.00.0000
15604 math-delim langle rangle
15606 -- angular delimiters
15607 \begin_inset Formula $\left\langle \right\rangle $
15610 , not to confuse with ordinary < > signs.
15614 \labelwidthstring 00.00.0000
15621 math-delim langle rangle
15624 \begin_layout Standard
15625 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15626 some British ones), the bar character
15631 -something and on some wayward Unices to "brokenbar".
15632 So we define all of these keys as well.
15636 \labelwidthstring 00.00.0000
15647 \labelwidthstring 00.00.0000
15658 \labelwidthstring 00.00.0000
15669 \labelwidthstring 00.00.0000
15680 \labelwidthstring 00.00.0000
15690 \begin_layout Standard
15691 Accents are in most cases
15695 -<accent key>, e.g.\InsetSpace ~
15709 for tilde (you also need to press
15715 \begin_inset Quotes eld
15727 \begin_inset Quotes erd
15731 Some accents work only in math mode and others only in text mode.
15735 \labelwidthstring 00.00.0000
15744 -- overdot accent, ȧ (text mode only).
15748 \labelwidthstring 00.00.0000
15760 \begin_inset Formula $\dot{a}$
15763 (math mode only -- in physics this denotes a first derivative).
15767 \labelwidthstring 00.00.0000
15778 -- Vector accent over math
15779 \begin_inset Formula $\overrightarrow{x}$
15786 \labelwidthstring 00.00.0000
15795 -- umlaut accent, ä (text mode only)
15799 \labelwidthstring 00.00.0000
15810 -- double dot accent,
15811 \begin_inset Formula $\ddot{a}$
15814 (math mode only -- in physics this denotes a second derivative).
15815 To get a triple dot in math mode, use
15823 \labelwidthstring 00.00.0000
15832 -- grave accent à (text mode only, use
15842 \labelwidthstring 00.00.0000
15851 -- tilde accent ã (text mode only, use
15861 \labelwidthstring 00.00.0000
15870 -- acute accent á (text mode only, use
15880 \labelwidthstring 00.00.0000
15889 -- circumflex (caret) accent â (text mode only, use
15898 \begin_layout Standard
15900 The new key S-F2 for creating a LaTeX file seems handy.
15904 \labelwidthstring 00.00.0000
15913 -- Save current document.
15917 \labelwidthstring 00.00.0000
15924 buffer-export latex
15926 -- Write a LaTeX file for the current document.
15930 \labelwidthstring 00.00.0000
15939 -- Find and replace dialog.
15943 \labelwidthstring 00.00.0000
15960 \labelwidthstring 00.00.0000
15973 to quit LyX is the W*ndows w*ndow manager's mnemonic.
15976 \begin_layout Standard
15985 are used to switch fonts.
15990 to switch back to the normal font.
15991 The non-default font switches
15999 all work as toggles.
16000 They also work on the whole word if you put the cursor in the middle of
16001 the word, or if you select some text.
16005 \labelwidthstring 00.00.0000
16014 -- stop using any special font
16018 \labelwidthstring 00.00.0000
16035 \labelwidthstring 00.00.0000
16052 \labelwidthstring 00.00.0000
16069 \labelwidthstring 00.00.0000
16083 (Used sometimes for people's names.)
16086 \begin_layout Standard
16092 \begin_inset Quotes eld
16096 \begin_inset Quotes erd
16103 key (useful e.g.\InsetSpace ~
16104 if the keyboard has no working
16111 \begin_layout Standard
16112 Here are some Sciword-inspired mnemonics for frequently used math symbols.
16113 Many symbols start with a
16122 cannot be itself bound to anything.
16126 \labelwidthstring 00.00.0000
16138 \begin_inset Quotes eld
16142 \begin_inset Quotes erd
16146 \begin_inset Formula $\prime$
16150 This is frequently unnecessary: in most cases the normal apostrophe works
16153 \begin_inset Formula $x'+2x=0$
16156 , but in some cases this would generate a double superscript error in LaTeX.
16158 \begin_inset Formula $x^{\prime2}$
16162 \begin_inset Formula $x$
16165 prime squared) must be entered with the prime character.
16169 \labelwidthstring 00.00.0000
16177 command-sequence math-superscript; math-insert
16181 -- Insert a prime as a superscript (see example above).
16185 \labelwidthstring 00.00.0000
16194 -- Insert an upper index.
16201 \labelwidthstring 00.00.0000
16210 -- Insert a lower index.
16217 \labelwidthstring 00.00.0000
16229 -- Partial derivative symbol
16230 \begin_inset Formula $\partial$
16237 \labelwidthstring 00.00.0000
16249 -- Summation symbol
16250 \begin_inset Formula $\sum$
16253 (not the same as the Greek letter uppercase Sigma
16254 \begin_inset Formula $\Sigma$
16257 because it can resize and allows smart upper/lower limits).
16261 \labelwidthstring 00.00.0000
16274 \begin_inset Formula $\prod$
16277 (not the same as the Greek letter uppercase Pi,
16278 \begin_inset Formula $\Pi$
16285 \labelwidthstring 00.00.0000
16298 \begin_inset Formula $\infty$
16305 \labelwidthstring 00.00.0000
16318 \begin_inset Formula $\times$
16325 \labelwidthstring 00.00.0000
16335 -- Insert a stacked array
16336 \begin_inset Formula $\begin{array}{c}
16338 \end{array}\end{array}$
16342 (Frequently useful in formulae.)
16346 \labelwidthstring 00.00.0000
16357 \begin_inset Formula $\times$
16361 \begin_inset Formula $\begin{array}{ccc}
16366 (Then you can modify its size using the
16368 Edit\SpecialChar \menuseparator
16375 \labelwidthstring 00.00.0000
16388 \begin_inset Quotes eld
16392 \begin_inset Quotes erd
16396 \begin_inset Formula $\dagger$
16403 \labelwidthstring 00.00.0000
16416 \begin_inset Quotes eld
16420 \begin_inset Quotes erd
16424 \begin_inset Formula $\equiv$
16431 \labelwidthstring 00.00.0000
16443 \begin_inset Quotes eld
16446 Approximate equality
16447 \begin_inset Quotes erd
16451 \begin_inset Formula $\approx$
16458 \labelwidthstring 00.00.0000
16470 \begin_inset Quotes eld
16474 \begin_inset Quotes erd
16478 \begin_inset Formula $\sim$
16485 \labelwidthstring 00.00.0000
16497 \begin_inset Formula $\rightarrow$
16501 \begin_inset Formula $\lim_{x\rightarrow0}$
16508 \labelwidthstring 00.00.0000
16520 \begin_inset Formula $\leq$
16527 \labelwidthstring 00.00.0000
16538 -- Greater-or-equal
16539 \begin_inset Formula $\geq$
16546 \labelwidthstring 00.00.0000
16559 \begin_inset Quotes eld
16563 \begin_inset Quotes erd
16567 \begin_inset Formula $\ll$
16570 (useful in physics)
16574 \labelwidthstring 00.00.0000
16587 \begin_inset Quotes eld
16591 \begin_inset Quotes erd
16595 \begin_inset Formula $\gg$
16601 \begin_layout Subsection
16602 Standard math bindings
16606 \labelwidthstring 00.00.0000
16620 \labelwidthstring 00.00.0000
16632 \labelwidthstring 00.00.0000
16644 \labelwidthstring 00.00.0000
16658 \labelwidthstring 00.00.0000
16670 \labelwidthstring 00.00.0000
16682 \labelwidthstring 00.00.0000
16696 \labelwidthstring 00.00.0000
16708 \labelwidthstring 00.00.0000
16720 \labelwidthstring 00.00.0000
16732 \labelwidthstring 00.00.0000
16746 \labelwidthstring 00.00.0000
16760 \labelwidthstring 00.00.0000
16774 \labelwidthstring 00.00.0000
16788 \labelwidthstring 00.00.0000
16802 \labelwidthstring 00.00.0000
16816 \labelwidthstring 00.00.0000
16828 \labelwidthstring 00.00.0000
16842 \labelwidthstring 00.00.0000
16854 \labelwidthstring 00.00.0000
16866 \labelwidthstring 00.00.0000
16878 \labelwidthstring 00.00.0000
16890 \labelwidthstring 00.00.0000
16904 \labelwidthstring 00.00.0000
16916 \labelwidthstring 00.00.0000
16928 \labelwidthstring 00.00.0000
16940 \labelwidthstring 00.00.0000
16948 math-delim langle rangle
16952 \labelwidthstring 00.00.0000
16960 math-delim rangle langle
16964 \labelwidthstring 00.00.0000
16976 \labelwidthstring 00.00.0000
16990 \labelwidthstring 00.00.0000
17003 \begin_layout Subsection
17008 \labelwidthstring 00.00.0000
17020 \labelwidthstring 00.00.0000
17032 \labelwidthstring 00.00.0000
17044 \labelwidthstring 00.00.0000
17056 \labelwidthstring 00.00.0000