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
42 \author "Richard Heck"
43 \author "Jean-Marc Lasgouttes"
50 Customizing LyX: Features for the Advanced User
58 \begin_layout Standard
60 Principal maintainer of this file is
65 If you have comments or error corrections, please send them to the LyX
66 Documentation mailing list, <lyx-docs@lists.lyx.org>.
74 \begin_layout Standard
75 \begin_inset LatexCommand tableofcontents
86 \begin_layout Standard
87 This manual covers the customization features present in LyX.
88 In it, we discuss issues like keyboard shortcuts, screen previewing options,
89 printer options, sending commands to LyX via the LyX Server, internationalizati
90 on, installing new LaTeX classes and LyX layouts, etc.
91 We can't possibly hope to touch on everything you can change---our developers
92 add new features faster than we can document them---but we will explain
93 the most common customizations and hopefully point you in the right direction
94 for some of the more obscure ones.
98 LyX configuration files
101 \begin_layout Standard
102 \begin_inset LatexCommand label
107 This chapter aims to help you to find your way through the LyX configuration
109 Before continuing to read this chapter, you should find out where your
110 LyX library directory is by using
115 elp\SpecialChar \menuseparator
123 This directory is the place where LyX places its system-wide configuration
124 files, and we will simply name it
128 in the remainder of this document.
132 \begin_layout Section
140 \begin_layout Standard
145 and its sub-directories contain a number of files and that can be used
146 to customise LyX's behaviour.
147 You can change many of these files from within LyX itself through the
152 ools\SpecialChar \menuseparator
160 Most customization that you might want to do to LyX is possible through
162 However, many other inner aspects of LyX can be customized by modifying
168 They fall in different categories, described in the following subsections.
171 \begin_layout Subsection
172 Automatically generated files
175 \begin_layout Standard
176 These files are generated when you configure LyX.
177 They contain various default values that are guessed by inspection.
178 In general, it is not a good idea to modify them, since they might be overwritt
183 \labelwidthstring 00.00.0000
190 contains defaults for various commands.
194 \labelwidthstring 00.00.0000
201 contains the list of packages that have been recognized by LyX.
202 It is currently unused by the LyX program itself, but the information extracted
203 , and more, is made available with
208 elp\SpecialChar \menuseparator
220 \labelwidthstring 00.00.0000
227 is the list of text classes that have been found in your
231 directory, along with the associated LaTeX document class and their description.
235 \labelwidthstring 00.00.0000
240 is automatically generated during configuration from the file
247 \begin_layout Subsection
252 \labelwidthstring 00.00.0000
259 this directory contains files with the extension
263 that define the keybindings used in LyX (see section\InsetSpace ~
265 \begin_inset LatexCommand ref
266 reference "sec:bindings"
271 If there exists an internationalized version of the bind file named
275 , that will be used first.
276 See Chapter\InsetSpace ~
278 \begin_inset LatexCommand ref
279 reference "chap:i18n"
284 \begin_inset LatexCommand ref
285 reference "sec:bindings"
293 \labelwidthstring 00.00.0000
300 contains graphics files that can be included in documents.
305 \labelwidthstring 00.00.0000
312 contains LyX documentation files (including the one you are currently reading).
317 deserves special attention, as noted above.
318 If there exists an internationalized version of the help-document with
323 prepended to the name, that will be used first.
324 See Chapter\InsetSpace ~
326 \begin_inset LatexCommand ref
327 reference "chap:i18n"
335 \labelwidthstring 00.00.0000
342 contains example files that explain how to use some features.
343 In the file browser, press the
351 \labelwidthstring 00.00.0000
356 contains image files that are used by the
361 In addition, it also contains the individual icons used in the toolbar
362 and the banners that can be shown when LyX is launched.
366 \labelwidthstring 00.00.0000
373 contains keyboard keymapping files.
374 See Chapter\InsetSpace ~
376 \begin_inset LatexCommand ref
377 reference "sec:keymap"
385 \labelwidthstring 00.00.0000
392 contains the text class files described in Chapter\InsetSpace ~
394 \begin_inset LatexCommand ref
395 reference "chap:textclass"
403 \labelwidthstring 00.00.0000
408 contains some files that demonstrate the capabilities of the
410 External\InsetSpace ~
417 \labelwidthstring 00.00.0000
422 contains the standard LyX template files described in Chapter\InsetSpace ~
424 \begin_inset LatexCommand ref
425 reference "sec:templates"
433 \labelwidthstring 00.00.0000
438 contains some LaTeX cls files distributed with LyX.
442 \labelwidthstring 00.00.0000
447 contains files with the extension
451 that define the user interface to LyX.
452 That is, the files define which items appear in which menus and the items
453 appearing on the toolbar.
454 See Chapter\InsetSpace ~
456 \begin_inset LatexCommand ref
464 \begin_layout Subsection
465 Files you don't want to modify
468 \begin_layout Standard
469 These files are used internally by LyX and you generally do not need to
470 modify them unless you are a developer.
474 \labelwidthstring 00.00.0000
481 this file contains the list of LyX developers.
482 The contents are displayed with the menu entry
487 elp\SpecialChar \menuseparator
495 \labelwidthstring 00.00.0000
502 this is a LaTeX script used during the configuration process.
507 \labelwidthstring 00.00.0000
514 this is the script that is used to re-configure LyX.
515 It creates configuration files in the directory it was run from.
518 \begin_layout Subsection
519 Other files needing a line or two...
523 \labelwidthstring 00.00.0000
528 this contains tables describing how different character encodings can be
533 \labelwidthstring 00.00.0000
538 this file contains the templates available to the new
540 External\InsetSpace ~
547 \labelwidthstring 00.00.0000
552 this file contains a list of all the languages currently supported by LyX.
555 \begin_layout Section
556 Your local configuration directory
559 \begin_layout Standard
560 Even if you are using LyX as an unprivileged user, you might want to change
561 LyX configuration for your own use.
566 directory contains all your personal configuration files.
567 This is the directory described as
568 \begin_inset Quotes eld
572 \begin_inset Quotes erd
580 elp\SpecialChar \menuseparator
585 This directory is used as a mirror of
589 , which means that every file in
593 is a replacement for the corresponding file in
598 Any configuration file described in the above sections can be placed either
599 in the system-wide directory, in which case it will affect all users, or
600 in your local directory for your own use.
603 \begin_layout Standard
604 To make things clearer, let's provide a few examples:
607 \begin_layout Itemize
608 The preferences set in the
613 ools\SpecialChar \menuseparator
620 dialog are saved to a file
631 \begin_layout Itemize
632 When you reconfigure using
637 ools\SpecialChar \menuseparator
648 and the resulting files are written in your local configuration directory
649 (see section\InsetSpace ~
651 \begin_inset LatexCommand ref
652 reference "sec:autodetected"
656 to have a list of the
660 settings affected by this section).
661 This means that any additional text class file that you might have added
666 will be added to the list of classes in the
671 ayout\SpecialChar \menuseparator
681 \begin_layout Itemize
682 Similarly, if you have installed some LaTeX document classes in your home
683 directory, that LaTeX can find with your
687 path, they will show up in your list of text classes.
691 \begin_layout Standard
692 as long as LyX or yourself have a
696 file for it, of course.
704 \begin_layout Itemize
705 If you get some updated documentation from LyX ftp site and cannot install
706 it because you do not have sysadmin rights on your system, you can just
721 \begin_layout Section
722 Running LyX with multiple configurations
725 \begin_layout Standard
726 The configuration freedom of the local configuration directory may not suffice
727 if you want to have more than one configuration at your disposal.
728 For example, you may want to be use different key bindings or printer settings
730 You can achieve this by having several such directories.
731 You then specify which directory to use at run-time.
734 \begin_layout Standard
735 Invoking LyX with the command line switch
743 instructs the program to read the configuration from that directory, and
744 not from the default directory (you can determine the default directory
745 by running LyX without this switch as described above).
746 If this directory does not exist, LyX offers to create it for you, just
747 like it does for the default directory on the first time you run the program.
748 You can modify the configuration options in this additional
752 exactly as you would for the default directory.
753 These directories are completely independent (but read on).
754 Note that setting the environment variable
758 to some value has exactly the same effect
763 \begin_layout Standard
764 Having several configurations also requires more maintenance: if you want
765 to add a new layout to
769 which you want available from all your configurations, you must add it
770 to each directory separately.
771 You can avoid this with the following trick: after LyX creates the additional
772 directory, most of the subdirectories (see above) are empty.
773 If you want the new configuration to mirror an existing one, replace the
774 empty subdirectory with a symbolic link to the matching subdirectory in
775 the existing configuration.
782 subirectory, however, since it contains a file written by the configuration
783 script (also accessible through
788 ools\SpecialChar \menuseparator
794 \begin_inset LatexCommand ref
795 reference "sec:autodetected"
801 which is configuration-specific.
804 \begin_layout Chapter
815 \begin_layout Section
816 Using the dialog for the first time
819 \begin_layout Standard
824 file will contain only changes that you have made to the default behaviour,
825 some of which is hard-coded into LyX and some of which is contained in
828 LyXDir/lyxrc.defaults
831 Note that in both files lines beginning with a
832 \begin_inset Quotes eld
840 \begin_inset Quotes erd
843 are just comments and not interpreted.
844 However, only system administrators should edit
854 ools\SpecialChar \menuseparator
861 dialog to create and modify their own
868 \begin_layout Standard
874 ools\SpecialChar \menuseparator
881 dialog will be largely self-explanatory.
882 Almost all the commands have an associated comment, so you shouldn't have
883 too much trouble modifying it to taste.
884 Before we highlight a few of the more important commands below, however,
889 ing some of your changes (e.g., screen fonts) will have an instant effect.
891 changing the bind file) will not.
892 If nothing appears to have changed, just
896 the changes and restart LyX.
899 \begin_layout Section
903 \begin_layout Standard
904 The font used to display your documents on the LyX screen is very important,
905 since you'll be reading all your documents with this font.
906 Therefore it is important that the font is as readable and good-looking
908 The LyX team tried to provide the best possible default font for you, but
909 since practically all X11 systems are different, it's likely that the default
910 fonts will be sub-optimal on your system.
911 Fortunately, you can do something about this.
912 Before we explain how to do this, you should learn a bit more about fonts
913 so that you are better prepared for choosing your fonts, because it is
914 a trade-off that is specific to your preferences and the capabilities of
918 \begin_layout Standard
919 Notice that this section only deals with the fonts on the
923 inside the LyX window.
924 The fonts that appear on the
932 are independent from these fonts, and are determined by the document class.
937 to learn how to change the font of the printed version of your document.
940 \begin_layout Standard
941 Basically, screen fonts come in two different kinds: scalable outline fonts
942 and non-scalable bitmap fonts.
943 This distinction seems a bit arbitrary, since non-scalable fonts are actually
944 scalable in most modern font renderers.
945 The difference lies in the
949 of the scaling, and the
954 The most important decision is thus whether you should use non-scalable
955 bitmap fonts or scalable outline fonts.
958 \begin_layout Standard
959 The scalable fonts are built from
963 of the single glyphs (i.e.
964 characters) in the font.
965 This means that each glyph is defined using mathematical curves that are
966 well suited for scaling to any requested size.
967 This mathematical definition is interpreted by the font renderer and turned
968 into a small picture composed of pixels according to which size and glyph,
969 the programmer requests.
970 This means that scalable fonts will look pretty good in all sizes.
971 Well, almost all sizes.
972 Since scalable fonts are defined in an abstract way, it can be hard to
973 provide a good rendering at small sizes, where each pixel has to be very
974 carefully computed to provide a good image.
975 Technically it is possible to do this from the mathematical definition,
976 but in order to keep the rendering reasonably fast, tradeoffs have to be
977 made, and the result is that scalable fonts can be difficult to read at
981 \begin_layout Standard
982 Bitmap fonts on the other hand, are defined by bitmap graphics from the
983 start, so they will look good at all the sizes they are meant for.
984 However, they don't scale well, because in order to scale a glyph, each
985 pixel is enlarged into several pixels.
986 It is the same effect that happens if you try to enlarge a picture in
990 or any other picture manipulation program.
991 In order to relieve this effect, bitmap fonts are typically provided in
992 several fixed sizes typically from around 8 pixels high up to 34 pixels
993 or so high in steps according to what is believed to be useful.
994 The advantage of bitmap fonts is that no complicated computations are necessary
995 to display each glyph, so bitmap fonts are thus faster displayed than scalable
997 The disadvantage is that sizes that don't exists as fixed versions have
998 to be scaled by doubling pixels, and thus look bad.
1001 \begin_layout Standard
1002 The net result of all this, is that bitmap fonts are generally best for
1003 the small sizes, where they are available, while scalable fonts are generally
1004 best for large sizes.
1005 The logical conclusion would thus be to use bitmap fonts for the small
1006 sizes, and scalable fonts for the large sizes.
1007 Unfortunately, this is not a good idea, since bitmap fonts and scalable
1008 fonts are not designed to be used together, so the overall look of such
1009 a scheme would be bad.
1010 The best you can do is thus to try both schemes and decide for yourself
1014 \begin_layout Standard
1015 By default, LyX uses non-scalable bitmap fonts (when using the XForms frontend).
1020 is used, for sans serif fonts,
1028 is used as the monospaced/typewriter font.
1031 \begin_layout Standard
1032 In the following, we will describe what to do if the text does not look
1034 We'll start with the most important parameters: DPI and font zoom.
1037 \begin_layout Subsection
1038 DPI setting and Font Zoom
1041 \begin_layout Standard
1042 LyX automatically tries to scale the fonts to look as close as the paper
1043 output size as possible, except for the so-called font zoom factor.
1046 \begin_layout Standard
1047 In order for this to work on all systems, it relies on the screen DPI (dots
1048 per inch) setting to be correct.
1049 The DPI setting for your system is autodetected by LyX using the information
1050 the X server can provide.
1051 You can check what LyX autodetects the DPI setting to, by running LyX as
1059 \begin_layout Standard
1060 On many systems, X is not set up correctly, so you should check that it
1063 \begin_inset Quotes eld
1071 \begin_inset Quotes erd
1074 and write down what the DPI is for the resolution you use (this will be
1075 close to the value LyX detects).
1076 It is the number mentioned as
1077 \begin_inset Quotes eld
1081 \begin_inset Quotes erd
1085 Also write down the number of pixels you have in the width (the first number
1087 \begin_inset Quotes eld
1091 \begin_inset Quotes erd
1097 \begin_layout Standard
1098 Then get the good old ruler out of the closet, and measure the width of
1099 the visible screen-image on your monitor.
1100 Convert this measurement to inches if you used a centimeter ruler by dividing
1102 Now you can determine the correct DPI setting for your screen by dividing
1103 the number of pixels in the width by the width of the screen-image on the
1105 If this number is more than, say, 5 DPI from the detected value, you should
1106 either fix the X setup, or at least tell LyX that the DPI is different
1107 than the detected value.
1110 \begin_layout Standard
1111 If you can't fix the X setup (which of course is best since other programs
1112 than LyX will benefit from this as well), you can tell LyX the correct
1120 \begin_layout Standard
1121 If the text is too small or too big for your taste, you should fiddle with
1122 the font zoom setting.
1123 This setting is used to scale the point size of the text.
1124 If your DPI setting is correct, and the font zoom setting is set to 100,
1125 this means that LyX will try to display the text exactly the same size
1126 as it will appear on the paper-output.
1127 If you set the zoom factor to 200, the text will try to be 2 times as big
1129 Of course, this will only happen if LyX can find a font that has the appropriat
1130 e size, which you can't count on.
1131 Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
1135 \begin_layout Standard
1136 The default font zoom setting is 150, since a monitor is typically wider
1137 than a piece of paper, but you should try to fiddle with it through the
1151 dialog to find a size that you like.
1152 When you've found a setting that seems to work nicely for you (tip: use
1160 button to keep the dialog open while you experiment), you can make this
1161 setting the default by using the
1171 \begin_layout Standard
1172 While it is often possible to find a suitable size for the text on the screen,
1173 this doesn't necessarily mean that the fonts are the best ones available
1175 In order to help you get the most out of your system, you can use the font
1176 definition commands to fine-tune the look of the text in greater detail
1180 \begin_layout Subsection
1181 Font definition commands
1184 \begin_layout Standard
1185 As mentioned, LyX uses non-scalable bitmap fonts by default with the XForms
1191 is used, for sans serif fonts,
1199 is used as the monospaced/typewriter font.
1202 \begin_layout Standard
1203 You can change all of these from within the
1208 The number of fonts that are available on different systems vary, but the
1213 should be available everywhere.
1214 Use that program to find candidate fonts.
1215 When you've found a font that you like, try to insert the first two elements
1217 \begin_inset Quotes eld
1221 \begin_inset Quotes erd
1225 \begin_inset Quotes eld
1229 \begin_inset Quotes erd
1236 ) in the appropriate field in the
1248 LyX will then reformat your document using the new font, and if you like
1249 the font, you should
1257 One place to start for a new font is to see if the scalable font
1258 \begin_inset Quotes eld
1262 \begin_inset Quotes erd
1266 Tip: You can see whether a font is a bitmap font or a scalable font by
1268 \begin_inset Quotes eld
1272 \begin_inset Quotes erd
1276 \begin_inset Quotes eld
1280 \begin_inset Quotes erd
1288 If the value 0 is available, the font is scalable.
1289 If the value 0 isn't available, the font is a bitmap font.
1292 \begin_layout Standard
1293 Before you go about scrapping a bitmap font because the larger sizes look
1295 \begin_inset Quotes eld
1299 \begin_inset Quotes erd
1302 , you should toggle the
1303 \begin_inset Quotes eld
1307 \begin_inset Quotes erd
1311 This is only useful if you use bitmap fonts, because only these don't scale
1313 If you define this flag, LyX will only use the fixed font sizes that are
1314 available, and this guarantees that all bitmap fonts look well.
1315 (You can see which individual font sizes are available with the
1324 .) However, the prize is that the difference between the size of the fonts
1325 on screen and the size of fonts on paper will be larger because LyX will
1326 have to be satisfied with the closest available size, and not try to scale
1328 Also, you can risk that some logically different sizes, such as
1336 , will be mapped to the same screen font, making it hard for you to see
1337 the difference on screen.
1338 We've decided not to use scalable fonts by default because of these artifacts,
1339 but since LyX is a WYSIWYM system, many people like to use the flag anyways,
1340 well-knowing that the font size on the screen can't be trusted.
1341 But remember that this flag only makes a difference when you use bitmap
1343 Scalable fonts won't be affected for reasons you should understand by now.
1346 \begin_layout Standard
1347 One final note regarding this flag: you should know that there is nothing
1348 wrong with using bitmap and scalable fonts at the same time for different
1350 For instance, it's common to use the scalable
1351 \begin_inset Quotes eld
1355 \begin_inset Quotes erd
1358 for the serif text together with a bitmap version of
1359 \begin_inset Quotes eld
1363 \begin_inset Quotes erd
1367 And you can safely select the
1368 \begin_inset Quotes eld
1372 \begin_inset Quotes erd
1375 button without worries: It will only apply to the Helvetica font.
1378 \begin_layout Standard
1379 Sometimes the artifacts introduced by use of the flag can be relieved by
1380 using the fine-detail screen font sizes which defines which point sizes
1381 the different logical font sizes correspond to.
1386 to see exactly what concrete fonts the logical sizes map to, and try adjusting
1387 the corresponding entries in the
1391 dialog until you've managed to hit the nail and get the fonts you want.
1392 This can be hard to do, because LyX uses the DPI setting and the font zoom
1393 settings to calculate which exact screen font size to ask the X server
1394 for, thus obfuscating the mapping.
1395 If you can't make it by trial-and-error, you can make the process more
1396 transparent if you set both the DPI setting and font zoom settings to 100---eve
1397 n when this is known to be wrong.
1398 This will of course make your scalable fonts look weird, so use with care.
1401 \begin_layout Subsection
1405 \begin_layout Standard
1406 By default, LyX will use fonts meant to write Western European text, including
1407 all kinds of English.
1408 This is defined through the so-called
1417 If you want to use LyX to write for instance Eastern European text, Cyrillic
1418 or any other language not covered by the ISO-8859-1 font encoding, you
1419 can define a different one with the encoding setting.
1420 This requires you to have special fonts installed.
1425 to see whether this is the case: check the
1426 \begin_inset Quotes eld
1430 \begin_inset Quotes erd
1434 \begin_inset Quotes eld
1438 \begin_inset Quotes erd
1441 fields for ISO-8859-X values different from ISO-8859-1, and search for
1442 one that contains the national characters of your language.
1443 If you find any, enter this encoding in the dialog.
1444 If not, go searching the Web for appropriate fonts.
1445 For the Qt frontend, it's recommended you use an iso646 font set.
1448 \begin_layout Standard
1449 When you've set LyX up to use a different font encoding, you should also
1450 consider changing the font used by dialog windows in LyX.
1457 dialog will not be understandable unless you tell LyX to use a different
1459 By default the menu font is set to
1461 -*-helvetica-medium-r
1463 , but often Helvetica is not available in the font encoding you need, so
1464 the dialog allows this to be changed.
1467 \begin_layout Standard
1468 As you can see, there are quite a few options that can be used to fine tune
1469 the look of your fonts.
1470 This should not scare you from fiddling with the settings, because after
1471 all, you will hopefully be using LyX for many hours in the future.
1472 And contrary to real WYSIWYG word processors where you are tied to using
1473 fonts that have to look good both on paper and on screen, LyX gives you
1474 the possibility of using fonts that are designed to look good on the screen
1475 while using a different set of fonts to look good on paper.
1478 \begin_layout Section
1480 \begin_inset LatexCommand label
1488 \begin_layout Standard
1489 Bindings are used to, well, bind a function to a key.
1490 Several prepackaged binding files are available: a CUA set of bindings
1491 (familiar as the typical set of PC and CDE set of keyboard shortcuts),
1492 an Emacs set of bindings, for those of us who follow the One True Way and
1493 refuse to lower our standards,
1497 \begin_layout Standard
1498 I'm kidding here, of course!
1503 as well as specialty bindings (broadway and hollywood) and other languages
1504 (French, German, etc.).
1507 \begin_layout Standard
1508 If, however, you'd like to customise the keybindings to your own exacting
1509 tastes, then copy the best-fit file in
1518 Don't forget to load this new file into LyX using the
1523 (For the moment you'll have to restart LyX for these changes to take effect.)
1526 \begin_layout Standard
1527 LyX supports internationalization of the user interface (see Chapter\InsetSpace ~
1529 \begin_inset LatexCommand ref
1530 reference "chap:i18n"
1539 is set, with the environment variable
1543 , LyX will try to use bindfiles by prepending
1548 For example, you can put a translated copy of some standard bind file in
1553 directory, and LyX will use it automatically.
1556 \begin_layout Standard
1561 files is straightforward:
1564 \begin_layout Standard
1569 bind <key combination> <lyx-function>
1572 \begin_layout Standard
1573 Both key combination and lyx-function (including any arguments) must be
1574 enclosed in "double quotes".
1575 All the LyX functions are listed in the
1582 \begin_layout Section
1584 \begin_inset LatexCommand label
1592 \begin_layout Standard
1593 The appearance of both the menu and toolbar may both be changed using the
1608 For the moment, only one file exists,
1612 , but feel free to experiment.
1613 Just copy the file to the
1617 directory and play! Note that, for the moment, you'll have to restart LyX
1618 for these changes to take effect.
1621 \begin_layout Standard
1626 files is straightforward: have a look at
1639 entries must be ended with an explicit
1664 s and in the case of the
1665 \begin_inset Quotes eld
1669 \begin_inset Quotes erd
1677 One small word of warning.
1682 s may be inserted in a
1690 , but they are defined as
1701 \begin_layout Section
1702 Converters, Formats, and Copiers
1705 \begin_layout Standard
1706 LyX has a powerful mechanism to convert to and from any file format using
1711 \begin_layout Subsection
1715 \begin_layout Standard
1716 The first step is to define your file formats, e.g.
1717 PDF, if they are not already defined.
1723 ools\SpecialChar \menuseparator
1728 references:Converters
1731 Enter a new format name; a new GUI name (used in, e.g., the View and Export
1732 menus); and a file extension.
1737 \begin_layout Standard
1738 There are also two flags that can be set using the checkboxes in the dialog.
1743 flag tells LyX that a format is suitable for document export.
1744 If this flag is set for a format, and if a suitable conversion route exists,
1745 then the format will appear in the
1750 ile\SpecialChar \menuseparator
1758 The format will also appear in the
1765 menu if it has a viewer associated with it.
1766 (See below.) Pure image formats (e.g.\InsetSpace ~
1771 ) should not have this flag set; formats that can both represent vector
1772 graphics and documents (e.g.\InsetSpace ~
1777 ) should have it set.
1780 \begin_layout Standard
1785 flag tells LyX whether a format can contain vector graphics.
1786 This information is used to determine the target format of included graphics
1792 Included graphics may need to be converted to either
1808 cannot handle other image formats.
1809 If an included graphic is not already in
1821 format, it is converted to
1829 flag of the format is set, and otherwise to
1836 \begin_layout Standard
1837 A Format can have a Viewer associated with it.
1838 For example, you might want to use
1842 to look at PostScript® files, or
1846 to preview the LaTeX output.
1847 You can enter the program to use as a viewer (and what options to pass
1848 to it) in the Viewer field.
1849 You can also modify the viewer associated with a pre-defined format simply
1850 by changing what you find in this field, clicking the
1854 button, and then (if you're sure you want to do this) clicking the
1866 \begin_layout Standard
1867 Changes to the formats are kept in the
1871 file in you local LyX directory (for example,
1876 If you want to restore the defaults, edit this file and delete the lines
1877 in the Formats and Converters sections.
1882 For example, to change the
1890 format in the dialog, change the viewer to be
1894 (or whatever), and hit
1904 \begin_layout Standard
1905 If the operating system has a default viewer associated to a format, this
1906 viewer is used instead of the one defined here in the Windows® and OS X
1908 (It is planned to implement this feature on other platforms.)
1911 \begin_layout Standard
1912 Editors are like viewers: Each Format can have an Editor associated to it,
1913 entered in the Editor field, and the editor associated with a format can
1919 ools\SpecialChar \menuseparator
1924 references:Converters
1927 LyX will launch the associated editor whenever an included file
1931 \begin_layout Standard
1932 This can be an included
1936 file, a verbatim included text file, external material or an included graphics
1945 \begin_layout Subsection
1949 \begin_layout Standard
1950 Each Format can have a Copier associated with it.
1951 These are defined in the
1956 ools\SpecialChar \menuseparator
1964 Since all conversions from one Format to another take place in a temporary
1965 directory, it is sometimes necessary to modify a file before copying it
1966 to the temporary directory in order that the conversion may be performed.
1970 \begin_layout Standard
1971 For example, the file may refer to other files---images, for example---using
1972 relative filenames, and these may become invalid when the file is copied
1973 to the temporary directory.
1978 This is done by the Copier: It copies a file to (or from) the temporary
1979 directory and may modify it in the process.
1982 \begin_layout Subsection
1986 \begin_layout Standard
1987 To define a converter from one format to another---e.g., LaTeX to PDF---select
1988 the Converters panel.
1989 Choose the `From' and `To' formats, and then enter the program to be used
1990 in the conversion in the Converter field.
1994 \begin_layout Standard
1995 You do not have to define converters between all the Formats between which
1996 you want to convert.
1997 For example, you will note that there is no `LyX to PostScript®' converter,
1998 but LyX will export PostScript®.
1999 It does so by first creating a LaTeX file (no converter needs to be defined
2000 for this) which it then converts to DVI using the `LaTeX to DVI' converter,
2001 and then it converts the resulting DVI file to PostScript®.
2002 LyX finds such `chains' of converters automatically, and it will always
2003 choose the shortest chain possible.
2004 You can, though, still define multiple conversion methods between file
2006 For example, the standard LyX configuration provides three ways to convert
2007 LaTeX to PDF: Directly, using pdflatex; via (DVI and) PostScript®, using
2008 ps2pdf; or via DVI, using dvipdfm.
2009 To define such alternate chains, you must define multiple target `file
2011 In the standard configuration, for example, formats named `pdf', `pdf2',
2012 and `pdf3' are defined, all of which share the extension `pdf'.
2016 \begin_layout Standard
2017 Several variables can be used in the definition of converters:
2021 \labelwidthstring 00.00.0000
2022 $$s The LyX system directory (e.g.,
2030 \labelwidthstring 00.00.0000
2035 \labelwidthstring 00.00.0000
2040 \labelwidthstring 00.00.0000
2041 $$b The base filename of the input file
2045 \labelwidthstring 00.00.0000
2046 $$p The path to the input file
2049 \begin_layout Standard
2050 In the `Extra Flag' field you can enter as many of the following flags as
2051 you wish, separated by commas:
2055 \labelwidthstring 00.00.0000
2056 latex This converter runs some form of LaTeX.
2057 (This will make LyX's LaTeX error logs available.)
2061 \labelwidthstring 00.00.0000
2062 needaux Needs the LaTeX .aux file for the conversion.
2066 \labelwidthstring 00.00.0000
2070 \begin_layout Standard
2071 The following three variables are not really flags at all but take an argument
2081 \labelwidthstring 00.00.0000
2082 parselog If set, the converter's standard error will be redirected to a
2087 , and the script given as argument will be run as:
2089 script <infile.out >infile.log
2092 The argument may contain $$s.
2096 \labelwidthstring 00.00.0000
2097 resultdir The name of the directory in which the
2101 will dump the generated files.
2102 LyX will not create this directory, and it does not copy anything into
2103 it, though it will copy this directory to the destination.
2104 The argument may contain $$b, which will be replaced by the basename of
2105 the input and output files, respectively, when the directory is copied.
2108 that resultdir and usetempdir make no sense together.
2109 The latter will be ignored if the former is given.
2113 \labelwidthstring 00.00.0000
2114 resultfile Determines the output filename and may, again, contain $$b.
2115 Sensible only with resultdir, and optional even then; if not given, it
2116 defaults to `index'.
2120 \begin_layout Standard
2121 None of these last three are presently used in any of the converters that
2122 are installed with LyX.
2124 \begin_inset LatexCommand ref
2125 reference "sub:LyX-and-Literate"
2129 of the Extended Features guide for some examples of how you might use parselog.
2132 \begin_layout Section
2133 BibTeX and makeindex
2136 \begin_layout Standard
2137 Both the bibliography generating command (default
2141 ) and the index generating command (default
2154 As an alternative for
2166 \begin_layout Standard
2167 The command to enter is
2173 makeindex.sh -m $$lang
2176 \begin_layout Standard
2177 where the placeholder
2181 will be replaced by the chosen document (babel) language.
2185 \begin_layout Standard
2186 have installed the packages
2203 at a shell prompt for a help page.
2206 \begin_layout Section
2207 Plain text export options
2210 \begin_layout Standard
2211 \begin_inset VSpace bigskip
2217 \begin_layout Standard
2219 There are a couple of commands that can be used to
2220 \begin_inset Quotes eld
2224 \begin_inset Quotes erd
2227 exported plain text files.
2228 Note that LyX automatically detects and uses the best settings for your
2229 system at installation time, but you can modify them if you disagree with
2233 \begin_layout Description
2237 Plain text\InsetSpace ~
2241 This option defines the command used to produce better plain text tables
2246 UNIX-commands (refer to their manpages for more information about them).
2247 Setting this as empty tells LyX to use the internal (inferior) formatter.
2250 \begin_layout Description
2254 Plain text\InsetSpace ~
2259 With this command you can set the default line length of the plain text
2261 Setting it to 0 means endless lines.
2264 \begin_layout Section
2268 \begin_layout Standard
2269 There are a bunch of configuration options that are used for interaction
2270 with the external print command from LyX.
2271 Normally the defaults are fine: if, however, your print command takes different
2272 option names, you can modify them here.
2275 \begin_layout Subsection
2279 \begin_layout Standard
2280 You can change the colors used by LyX on-screen using the new
2285 Alternatively, if you're feeling particularly perverse you could use the
2290 bindable function (see the
2295 Input would have the format:
2298 \begin_layout Standard
2301 set-color LyXName X11Color
2304 \begin_layout Standard
2305 Here is a (partial) list of the functions and default colors:
2308 \begin_layout Standard
2310 \begin_inset Tabular
2311 <lyxtabular version="3" rows="10" columns="3">
2313 <column alignment="left" valignment="top" leftline="true" width="0pt">
2314 <column alignment="left" valignment="top" leftline="true" width="0pt">
2315 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2316 <row topline="true" bottomline="true">
2317 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2320 \begin_layout Standard
2335 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2338 \begin_layout Standard
2353 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2356 \begin_layout Standard
2372 <row topline="true">
2373 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2376 \begin_layout Standard
2391 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2394 \begin_layout Standard
2409 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2412 \begin_layout Standard
2428 <row topline="true">
2429 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2432 \begin_layout Standard
2447 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2450 \begin_layout Standard
2465 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2468 \begin_layout Standard
2484 <row topline="true">
2485 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2488 \begin_layout Standard
2503 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2506 \begin_layout Standard
2521 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2524 \begin_layout Standard
2540 <row topline="true">
2541 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2544 \begin_layout Standard
2559 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2562 \begin_layout Standard
2577 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2580 \begin_layout Standard
2596 <row topline="true">
2597 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2600 \begin_layout Standard
2615 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2618 \begin_layout Standard
2628 fraction Lines, brackets, etc.
2633 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2636 \begin_layout Standard
2652 <row topline="true">
2653 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2656 \begin_layout Standard
2671 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2674 \begin_layout Standard
2680 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2683 \begin_layout Standard
2699 <row topline="true">
2700 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2703 \begin_layout Standard
2718 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2721 \begin_layout Standard
2727 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2730 \begin_layout Standard
2746 <row topline="true">
2747 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2750 \begin_layout Standard
2765 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2768 \begin_layout Standard
2774 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2777 \begin_layout Standard
2793 <row topline="true" bottomline="true">
2794 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2797 \begin_layout Standard
2812 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2815 \begin_layout Standard
2825 selection background
2830 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2833 \begin_layout Standard
2856 \begin_layout Section
2857 The autodetected settings
2860 \begin_layout Standard
2861 \begin_inset LatexCommand label
2862 name "sec:autodetected"
2866 There are several items that are detected for you when you run
2873 \SpecialChar \menuseparator
2879 In this section, we list those which pertain to the user preferences.
2882 \begin_layout Description
2888 plaintext_roff_command
2903 , depending on what is available.
2906 \begin_layout Description
2919 plus a bunch of options.
2922 \begin_layout Description
2935 on systems (so-called System V) who have this command, and
2939 otherwise (BSD systems).
2942 \begin_layout Description
2948 print_spool_printerprefix
2959 , depending on whether
2970 \begin_layout Description
2987 fonts are found and LaTeX has support for these fonts built-in.
2988 You can set it manually if you only have the so-called
2995 \begin_layout Section
2999 \begin_layout Standard
3000 There are many other configuration options that can be used to customize
3002 We still need to document them here, but again, most should be fairly obvious.
3003 Please ask on the mailing lists if you need some more information; it may
3004 even prompt us to expand this section.
3007 \begin_layout Chapter
3008 Internationalizing LyX
3009 \begin_inset LatexCommand label
3017 \begin_layout Standard
3018 LyX supports using a translated interface.
3019 Last time we checked, LyX provided text in 14 languages together with the
3020 default English text.
3021 The language of choice is called your
3026 (For further reading on locale settings, see also the documentation for
3027 locale that comes with your operating system.
3028 For Linux, the manual page for locale(5) could be a good place to start).
3031 \begin_layout Standard
3032 Notice that these translations will work, but do contain a few flaws.
3033 In particular, all dialogs have been designed with the English text in
3034 mind, which means that some of the translated text will be too large to
3035 fit within the space allocated.
3036 This is only a display problem and will not cause any harm.
3037 Also, you will find that some of the translations do not define short-cut
3038 keys for everything.
3039 Sometimes, there are simply not enough free letters to do it.
3040 Other times, the translator just hasn't got around to doing it yet.
3041 Our localization team -- which you may wish to join -- will try to fix
3042 these shortcomings in future versions of LyX.
3045 \begin_layout Section
3046 Selecting an alternative language for the user interface
3049 \begin_layout Standard
3050 This feature is disabled by default, meaning that system default language
3052 To enable an alternative language, you have to set an appropriate environment
3060 for csh class shells
3075 with the two letter code (or four letter code, like
3079 for British English) for the language you want.
3085 Besides the user interface texts being translated, also the appropriate
3086 manuals will be presented under the Help menu -- if available.
3089 \begin_layout Standard
3090 On some systems, you may have to redefine
3102 , to override the system settings; their preference is in this order
3106 \begin_layout Standard
3107 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
3113 , which corresponds to the way GNU
3118 Consult your system documentation.
3119 Normally, you'll want to put the appropriate line in a shell script run
3120 on start-up, so that the translation is on by default.
3121 Remember that this affects
3125 localized packages, not only LyX!
3128 \begin_layout Standard
3129 If LyX is configured and compiled with
3130 \begin_inset Quotes eld
3138 \begin_inset Quotes erd
3141 , this mechanism will not work.
3144 \begin_layout Section
3148 \begin_layout Subsection
3149 Translating the graphical user interface (text messages).
3152 \begin_layout Standard
3157 library to handle the internationalization of the interface.
3158 To have LyX speak your favorite language in all menus and dialogs, you
3163 -file for that language.
3164 When this is available, you'll have to generate a mo-file from it and install
3170 The process of doing all of this is explained in the documentation for
3175 , but in short, this is what you do (
3179 denotes the language code):
3182 \begin_layout Standard
3186 \begin_layout Standard
3198 \begin_layout Itemize
3201 LYX-SOURCE-DIR/po/lyx.pot
3214 doesn't exist, it can be remade with
3218 in that directory, or you can use an existing po-file for some other language
3222 \begin_layout Itemize
3229 \begin_layout Standard
3230 We recommend that you use Emacs to do this, since the
3234 distribution includes a nice mode that supports you in doing this.
3242 For some menu- and widget-labels, there are also shortcut keys that should
3244 Those keys are marked after a `|', and should be translated according to
3245 the words and phrases of the
3250 There is a tool named
3254 written in Prolog in
3256 LYX-SOURCE-DIR/development/tools/
3258 that may be useful to help determine short-cut keys.
3259 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
3260 characters as shortcut keys.
3261 You should also fill also out the information at the beginning of the new
3266 -file with your email-address, etc., so people know where to reach you with
3267 suggestions and entertaining flames.
3270 \begin_layout Itemize
3279 This can be done with
3300 \begin_layout Itemize
3305 -file to your locale-tree, at the correct directory for application messages
3310 , and under the name
3319 /usr/local/share/locale/
3330 \begin_layout Standard
3334 \begin_layout Standard
3346 \begin_layout Standard
3347 Adding a new po-file to the
3351 of LyX involves altering the configure scripts and more, but the way
3355 works, you don't actually need the source-code of LyX to translate it---having
3371 \begin_layout Standard
3372 If you've written a translation file for a language that LyX does not currently
3373 support, feel free to submit it for inclusion by sending a patch.
3374 In this case, we recommend that you read the
3382 directory for more instructions.
3385 \begin_layout Subsubsection
3389 \begin_layout Standard
3390 Sometimes it turns out that one english message needs to be translated into
3391 different messages in the target language.
3392 One example is the message
3396 which has the german translation
3413 does not handle such ambigous translations.
3414 Therefore you have to add some context information to the message: Instead
3421 To[[as in 'From format x to format y']]
3425 To[[as in 'From page x to page y']].
3428 Now the two occurences of
3436 and can be translated correctly to
3451 \begin_layout Standard
3452 Of course the context information needs to be stripped off the original
3453 message when no translation is used.
3454 Therefore you have to put it in double square brackets at the end of the
3455 message (see the example above).
3456 The translation mechanism of LyX ensures that everything in double square
3457 brackets at the end of messages is removed before displaying the message.
3460 \begin_layout Subsection
3461 Translating the documentation.
3464 \begin_layout Standard
3465 The online documentation (in the
3472 -menu) can (and should!) be translated.
3473 If there are translated versions of the documentation available
3477 \begin_layout Standard
3478 As of February 2003, almost all of the docs have been translated into German
3484 has been translated into at least 12 other languages, with other translations
3486 The library of translated documents is growing rapidly.
3491 , and the locale is set accordingly, these will be used automagically by
3493 LyX looks for translated versions as
3507 denotes the language as set by the environmental variable
3512 If there are none, the default English versions will be displayed.
3513 Note that the translated versions must have the same filenames (
3517 above) as the original.
3518 If you feel up to translating the documentation (an excellent way to proof-read
3519 the original documentation BTW!), there are a few things you should do
3523 \begin_layout Itemize
3528 , the guide to writing LyX documentation.
3529 Pay special attention to the translator's section.
3532 \begin_layout Itemize
3533 Check out the documentation translation web page at
3534 \begin_inset LatexCommand url
3535 name "The LyX Developer's Web Site"
3536 target "http://www.devel.lyx.org"
3541 That way, you can find out which (if any) documents have already been translate
3542 d into your language.
3543 You can also find out who (if anyone) is organizing the effort to translate
3544 the documentation into your language.
3545 If no one is organizing the effort, please let us know that you're interested.
3548 \begin_layout Standard
3549 Once you get to actually translating, here's a few hints for you that may
3553 \begin_layout Itemize
3554 Join the documentation team! There is information on how to do that in
3563 elp\SpecialChar \menuseparator
3570 ), which by the way is the first document you should translate.
3573 \begin_layout Itemize
3574 Learn the typographic conventions for the language you are translating to.
3575 Typography is an ancient art and over the centuries, a great variety of
3576 conventions have developed throughout different parts of the world.
3577 Also study the professional terminology amongst typographers in your country.
3578 Inventing your own terminology will only confuse the users.
3581 (Warning! Typography is addictive!)
3584 \begin_layout Itemize
3585 Make a copy of the document.
3586 This will be your working copy.
3587 You can use this as your personal translated help-file by placing it in
3595 \begin_layout Itemize
3596 Sometimes the original document (from the LyX-team) will be updated.
3597 Use the ViewCVS tool available at
3598 \begin_inset LatexCommand htmlurl
3599 target "http://www.lyx.org/viewcvs.cgi/lyxdoc/"
3603 to see what has been changed
3607 \begin_layout Standard
3608 Alternatively, you can keep a copy of the latest version of the English
3609 document which you've translated.
3615 That way you can easily see which parts of the translated document need
3619 \begin_layout Itemize
3620 If you ever find an error in the original document, fix it and notify the
3621 rest of the documentation team of the changes! (You didn't forget to join
3622 the documentation team did you?)
3625 \begin_layout Section
3626 International Keyboard Support
3629 \begin_layout Standard
3632 [Editor's Note: The following section is by
3640 It needs to be fixed to conform to the new Documentation Style sheet and
3641 to make use of the new v1.0 features.
3642 The whole thing also needs to be merged with the section following it.-jw]
3645 \begin_layout Subsection
3646 Defining Own Keymaps: Keymap File Format
3649 \begin_layout Standard
3650 Let's look at a keyboard definition file a little closer.
3651 It is a plain text file defining
3654 \begin_layout Itemize
3655 key-to-key or key-to-string translations
3658 \begin_layout Itemize
3662 \begin_layout Itemize
3663 dead keys exceptions
3666 \begin_layout Standard
3667 To define key-to-key or key-to-string translation, use this command:
3670 \begin_layout Quotation
3686 \begin_layout Standard
3691 is the key to be translated and
3695 is the string to be inserted into the document.
3696 To define dead keys, use:
3699 \begin_layout Quotation
3715 \begin_layout Standard
3725 The following dead keys are supported (shortcut name is in parentheses):
3728 \begin_layout Quotation
3736 \begin_layout Quotation
3742 \begin_layout Quotation
3748 \begin_layout Quotation
3754 \begin_layout Quotation
3760 \begin_layout Quotation
3767 \begin_layout Standard
3779 \begin_layout Quotation
3785 \begin_layout Quotation
3792 \begin_layout Standard
3804 \begin_layout Quotation
3810 \begin_layout Quotation
3816 \begin_layout Quotation
3823 \begin_layout Standard
3835 \begin_layout Quotation
3842 \begin_layout Standard
3854 \begin_layout Quotation
3860 \begin_layout Quotation
3861 hungarian umlaut (hug)
3866 \begin_layout Quotation
3872 \begin_layout Quotation
3879 \begin_layout Standard
3891 \begin_layout Standard
3892 Since in many international keyboards there are exceptions to what some
3893 dead keys should do, you can define them using
3896 \begin_layout Quotation
3905 deadkey key outstring
3908 \begin_layout Standard
3909 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3913 \begin_layout Quotation
3927 \begin_layout Standard
3928 to make it work correctly.
3929 Also, you have to define as exceptions dead keys over i and j, to remove
3930 the dot from them before inserting an accent mark.
3931 I will change this when the time comes, but so far I haven't had time.
3934 \begin_layout Standard
3935 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3941 have different meaning.
3946 marks comments, quotes start and end LaTeX-style commands.
3947 To enter quote, you'll need to use
3966 \begin_layout Standard
3967 If you make a keyboard description file that works for your language, please
3968 mail it to me, so I can include it in the next keymap distribution.
3971 \begin_layout Standard
3972 More keywords will be supported in keymap configuration file in future,
3976 \begin_layout Itemize
3994 \begin_layout Itemize
4009 an external keymap translation program
4012 \begin_layout Standard
4013 Also, it should look into
4017 file for defaults, too (for example, a
4023 option to include default keyboard).
4026 \begin_layout Section
4027 International Keymap Stuff
4028 \begin_inset LatexCommand label
4036 \begin_layout Standard
4037 The next two sections describe the
4049 file syntax in detail.
4050 These sections should help you design your own key map if the ones provided
4051 do not meet your needs.
4054 \begin_layout Subsection
4058 \begin_layout Standard
4067 file maps keystrokes to characters or strings.
4068 As the name suggests it sets a keyboard mapping.
4093 are described in this section.
4097 \labelwidthstring 00.00.0000
4104 Map a character to a string
4107 \begin_layout LyX-Code
4122 \begin_layout Standard
4155 the double-quote (")
4172 must be escaped with a preceding backslash (
4183 \begin_layout Standard
4190 statement to cause the symbol
4196 to be output for the keystroke
4205 \begin_layout LyX-Code
4212 \labelwidthstring 00.00.0000
4219 Specify an accent character
4222 \begin_layout LyX-Code
4231 \begin_layout Standard
4232 This will make the cha
4270 This is the dead key
4274 \begin_layout Standard
4281 refers to a key that does not produce a character by itself, but when followed
4282 with another key, produces the desired accent character.
4283 For example, a German characte
4285 r with an umlaut like
4295 can be produced in this manner.
4304 \begin_layout Standard
4317 and then another key not in
4334 followed by the other, unallowed key, as output.
4343 cancels a dead key, so if
4360 , the cursor will not go one position backwards but will instead cancel
4377 might have had on the next keystroke.
4381 \begin_layout Standard
4382 The following example specifies that the character ' is to be an acute accent,
4383 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4386 \begin_layout LyX-Code
4389 kmod ' acute aeiouAEIOU
4393 \labelwidthstring 00.00.0000
4398 Specify an exception to the accent character
4401 \begin_layout LyX-Code
4410 \begin_layout Standard
4411 This defines an exce
4452 have been assigned a keystroke with a previous
4475 must not belong in the
4527 If such a declaration does not exist in
4583 \begin_layout Standard
4584 The following command produces causes äi to be produced when you enter acute-i
4588 \begin_layout LyX-Code
4603 \labelwidthstring 00.00.0000
4608 Combine two accent characters
4611 \begin_layout LyX-Code
4617 accent1 accent2 allowed
4620 \begin_layout Standard
4621 This one is getting pretty esoteric.
4622 It allows you to combine the effect
4703 \begin_layout Standard
4704 Consider this example from the
4713 \begin_layout LyX-Code
4716 kmod ; acute aeioyvhAEIOYVH
4720 kcomb acute umlaut iyIY
4723 \begin_layout Standard
4724 This allows you to press
4730 and get the effect of
4747 in this case cancels the last dead key, so if you press
4764 \begin_layout Subsection
4768 \begin_layout Standard
4775 mapping is performed, a
4782 file maps the strings that the symbols generate to characters in the current
4784 The LyX distribution currently includes at least the
4799 \begin_layout Standard
4806 file is a sequence of declarations of the form
4809 \begin_layout LyX-Code
4822 \begin_layout Standard
4823 For example, in order to map
4831 to the corresponding character in the iso-8859-1 set (233), the following
4835 \begin_layout LyX-Code
4843 \begin_layout Standard
4866 the same character can apply to more than one string.
4877 \begin_layout LyX-Code
4903 \begin_layout Standard
4904 If LyX cannot find a mapping for the string produced by the keystroke or
4905 a deadkey sequence, it will check if it looks like an accented char and
4906 try to draw an accent over the character on screen.
4909 \begin_layout Subsection
4913 \begin_layout Standard
4914 There is a second way to add support for international characters through
4915 so-called dead-keys.
4916 A dead-key works in combination with a letter to produce an accented character.
4917 Here, we'll explain how to create a really simple dead-key to illustrate
4921 \begin_layout Standard
4922 Suppose you happen to need the circumflex character,
4923 \begin_inset Quotes eld
4927 \begin_inset Quotes erd
4935 -key [a.k.a.\InsetSpace ~
4940 ] to the LyX command
4949 Now, whenever you type the
4953 -key followed by a letter, that letter will have a circumflex accent on
4955 For example, the sequence
4956 \begin_inset Quotes eld
4964 \begin_inset Quotes erd
4967 produces the letter:
4968 \begin_inset Quotes eld
4972 \begin_inset Quotes erd
4976 If you tried to type
4977 \begin_inset Quotes eld
4985 \begin_inset Quotes erd
4988 , however, LyX will complain with a beep, since a
4989 \begin_inset Quotes eld
4997 \begin_inset Quotes erd
5000 never takes a circumflex accent.
5005 after a dead-key produces the bare-accent.
5006 Please note this last point! If you bind a key to a dead-key, you'll need
5007 to rebind the character on that key to yet another key.
5012 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
5015 \begin_layout Standard
5016 One common way to bind dead-keys is to use
5028 in combination with an accent, like
5029 \begin_inset Quotes eld
5037 \begin_inset Quotes erd
5041 \begin_inset Quotes eld
5049 \begin_inset Quotes erd
5053 \begin_inset Quotes eld
5061 \begin_inset Quotes erd
5065 Another way involves using
5073 [remember them from section?] to set up the special
5082 acts in some ways just like
5086 and permits you to bind keys to accented characters.
5087 You can also turn keys into dead-keys by binding them to something like
5092 and then binding this symbolic key to the corresponding LyX command.
5096 \begin_layout Standard
5101 : This is exactly what I do in my
5119 and a bunch of these
5120 \begin_inset Quotes eld
5128 \begin_inset Quotes erd
5131 symbolic keys bound such things as
5142 This is how I produce my accented characters.
5147 You can make just about anything into the
5155 keys, a spare function key, etc.
5156 As for the LyX commands that produce accents, check the entry for
5165 You'll find the complete list there.
5168 \begin_layout Subsection
5169 Saving your Language Configuration
5172 \begin_layout Standard
5173 \begin_inset LatexCommand label
5178 You can edit your preferences so that your desired language environment
5179 is automatically configured when LyX starts up, via the
5184 dit\SpecialChar \menuseparator
5194 \begin_layout Chapter
5195 Installing New Document Classes, Layouts, and Templates
5196 \begin_inset LatexCommand label
5197 name "chap:textclass"
5205 \begin_layout Standard
5206 Installing New Document Classes
5214 \begin_layout Standard
5215 In this chapter, we describe the procedures for creating and installing
5216 new LyX layout and template files, as well as offer a refresher on correctly
5217 installing new LaTeX document classes.
5218 Some definitions: a document class is a LaTeX file (usually ending in
5226 ) which describes the format of a document such as an article, report, journal
5228 and all the commands needed to realize that format.
5229 A layout file is a LyX file which corresponds to a LaTeX document class
5230 and which tells LyX how to
5231 \begin_inset Quotes eld
5235 \begin_inset Quotes erd
5238 things on the screen to make the display look something like the final
5240 More precisely, a layout file describes a
5241 \begin_inset Quotes eld
5245 \begin_inset Quotes erd
5248 which is the internal construct LyX uses to render the screen display.
5250 \begin_inset Quotes eld
5254 \begin_inset Quotes erd
5258 \begin_inset Quotes eld
5262 \begin_inset Quotes erd
5265 can be used somewhat interchangeably, but it is better to refer to the
5266 file as the layout, and the thing living in LyX's memory as the text class.
5267 A template file is simply a LyX document which contains a set of predefined
5268 entries for a given document class which are generally required for that
5270 Templates are especially useful for things like journal manuscripts which
5271 are to be submitted electronically.
5274 \begin_layout Section
5275 Installing a new LaTeX package
5278 \begin_layout Standard
5279 Some installations may not include a LaTeX package that you would like to
5281 For example, you might need FoilTeX, a common (and very powerful) package
5282 for preparing slides or viewgraphs for overhead projectors.
5283 Here are the formal steps involved in getting the package up and running
5284 if you are using teTeX or some other web2c based distribution.
5288 \begin_layout Enumerate
5289 Get the package from CTAN or wherever.
5293 \begin_layout Standard
5296 Inventory of your LaTeX configuration
5298 manual for details of what CTAN is and where supported document classes
5307 \begin_layout Enumerate
5312 (this usually lives in the directory
5316 , though you can run
5321 It describes how to add a local
5325 directory; follow the instructions.
5326 You need to insert the name of your local
5339 is a logical place to install software that did not come with your distribution
5345 Usually, you will have to modify only two things:
5349 \begin_layout Enumerate
5354 to the directory you chose; e.g.
5359 TEXMFLOCAL = /usr/local/texmf
5362 \begin_layout Enumerate
5376 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
5380 \begin_layout Enumerate
5391 You must follow the directory structure of your existing
5395 directory (for example, latex packages should go under
5397 /usr/local/texmf/tex/latex/
5402 \begin_layout Enumerate
5403 Install the package.
5404 For example, you would unpack the FoilTeX tarball and create
5406 /usr/local/texmf/tex/latex/foiltex
5413 directory contains various files.
5416 \begin_layout Enumerate
5424 /usr/local/texmf/ls-R
5429 \begin_layout Enumerate
5430 From within LyX, do:
5435 ools\SpecialChar \menuseparator
5446 \begin_layout Standard
5447 Now you should see your new package---for example
5456 ayout\SpecialChar \menuseparator
5471 Note that there are simpler ways of installing packages: you can add a
5472 link to the new package directory in the system LaTeX directory (
5476 , don't forget to then run
5480 ), or sometimes simply set the
5484 environment variable to include the new package.
5485 However, the formal procedure described in
5489 is guaranteed to work, so you should follow it unless circumstances absolutely
5490 prevent it: such as, when you don't have superuser access.
5493 \begin_layout Section
5497 \begin_layout Standard
5498 This section describes how to write and install your own LyX layout files
5499 (also known as text classes) and walks through the
5503 text class format as an example.
5508 files describe what paragraph styles are available for a given document
5509 class and how LyX should display them.
5510 We try to provide a thorough description of the process here; however,
5511 there are so many different types of documents supported by LaTeX classes
5512 we can't hope to cover every different possibility or problem you might
5517 \begin_layout Standard
5518 When you plan to write a new layout, it is extremely helpful to look at
5519 the example layouts distributed with LyX.
5520 If you use a nice LaTeX document class that might be of interest for others,
5521 too, and have a nice corresponding LyX layout, feel free to contribute
5522 the stuff to us, so we may put it into the distribution.
5525 \begin_layout Standard
5526 All the tags described in this chapter are case-insensitive; this means
5539 are really the same command.
5540 The possible values are printed in brackets after the feature's name.
5541 The default value if a feature isn't specified inside a text class-description
5549 If the argument has a datatype like
5550 \begin_inset Quotes eld
5554 \begin_inset Quotes erd
5558 \begin_inset Quotes eld
5562 \begin_inset Quotes erd
5565 , the default is shown like this:
5575 \begin_layout Subsection
5576 Supporting new document classes
5579 \begin_layout Standard
5580 There are two situations you are likely to encounter when wanting to support
5581 a new LaTeX document class, involving LaTeX2e class (
5592 \begin_layout Subsection
5600 \begin_layout Standard
5601 If your new document class is provided as a style file that is used in conjuncti
5602 on with an existing, supported document class, start by copying the existing
5603 class's layout file into your local directory.
5604 For the sake of example we'll assume that the style file is called
5608 and it is meant to be used with
5612 which is a standard class.
5615 \begin_layout LyX-Code
5616 cp report.layout ~/.lyx/layouts/myclass.layout
5619 \begin_layout Standard
5624 and change the line:
5627 \begin_layout LyX-Code
5630 DeclareLaTeXClass{report}
5633 \begin_layout Standard
5637 \begin_layout LyX-Code
5640 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5643 \begin_layout Standard
5647 \begin_layout LyX-Code
5657 \begin_layout Standard
5658 near the top of the file.
5661 \begin_layout Standard
5662 Start LyX and select
5667 ools\SpecialChar \menuseparator
5675 Restart LyX and try creating a new document.
5680 " as a document class option in the
5685 ocument\SpecialChar \menuseparator
5693 It is likely that some of the sectioning commands and such will differ
5694 from how the base class
5698 \begin_layout Standard
5708 works, so you can fiddle around with the settings for the different sections
5710 See below for more discussion on this.
5713 \begin_layout Subsection
5721 \begin_layout Standard
5722 In this case, you will probably have to
5723 \begin_inset Quotes eld
5727 \begin_inset Quotes erd
5731 We strongly suggest copying an existing layout file which uses a similar
5732 LaTeX class and modifying it if at all possible.
5733 At least use an existing file as a starting point so you can find out what
5734 items you need to worry about.
5735 Again, the specifics are covered below.
5738 \begin_layout Section
5739 Declaring a new text class
5742 \begin_layout Standard
5743 When it's finally time to get your hands dirty and create or edit your own
5744 layout file, the following sections describe what you're up against.
5745 Our advice is to go slowly, save and test often, listen to soothing music,
5746 and enjoy one or two of your favorite adult beverages; more if you are
5747 getting particularly stuck.
5748 It's really not that hard, except that the multitude of options can become
5749 overwhelming if you try to do to much in one sitting.
5750 Go have another adult beverage, just for good measure.
5753 \begin_layout Standard
5757 \begin_layout Standard
5758 Lines in a layout file which begin with a
5763 There is one exception to this rule: all layouts should begin with lines
5767 \begin_layout LyX-Code
5770 #% Do not delete the line below; configure depends on this
5773 \begin_layout LyX-Code
5778 DeclareLaTeXClass{article}
5781 \begin_layout Standard
5782 The second line is used when you configure LyX.
5783 The layout file is read by the LaTeX script
5787 , in a special mode where
5792 The first line is just a LaTeX comment, and the second one contains the
5793 declaration of the text class.
5794 If these lines appear in a file named
5798 , then they define a text class of name
5802 (the name of the layout file) which uses the LaTeX document class
5806 (the default is to use the same name as the layout).
5808 \begin_inset Quotes eld
5812 \begin_inset Quotes erd
5815 that appears above is used as a description of the text class in the
5820 ocument\SpecialChar \menuseparator
5830 \begin_layout Standard
5831 Let's assume that you wrote your own text class that uses the
5835 documentclass, but where you changed the appearance of the section headings.
5836 If you put it in a file
5840 , the header of this file should be:
5843 \begin_layout LyX-Code
5846 #% Do not delete the line below; configure depends on this
5849 \begin_layout LyX-Code
5854 DeclareLaTeXClass[article]{article (with my own headings)}
5857 \begin_layout Standard
5858 This declares a text class
5862 , associated with the LaTeX document class
5867 \begin_inset Quotes eld
5870 article (with my own headings)
5871 \begin_inset Quotes erd
5875 If your text class depends on several packages, you can declare it as:
5878 \begin_layout LyX-Code
5881 #% Do not delete the line below; configure depends on this
5884 \begin_layout LyX-Code
5889 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5892 \begin_layout Standard
5893 This indicates that your text class uses the foo.sty package.
5894 Finally, it is also possible to declare classes for SGML and DocBook code.
5895 Typical declarations will look like
5898 \begin_layout LyX-Code
5901 #% Do not delete the line below; configure depends on this
5904 \begin_layout LyX-Code
5909 DeclareSGMLClass{SGML (LinuxDoc)}
5912 \begin_layout Standard
5916 \begin_layout LyX-Code
5917 #% Do not delete the line below; configure depends on this
5920 \begin_layout LyX-Code
5923 DeclareDocBookClass[article]{SGML (DocBook article)}
5926 \begin_layout Standard
5927 Note that these declarations can also be given an optional parameter declaring
5928 the name of the document class (but not a list).
5931 \begin_layout Standard
5932 When the text class has been modified to your taste, all you have to do
5933 is to copy it either in
5946 ools\SpecialChar \menuseparator
5954 Exit LyX and restart it; then your new text class should be available along
5958 \begin_layout Subsection
5962 \begin_layout Standard
5963 The first non-comment line must contain the file format number:
5966 \begin_layout Description
5977 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
5978 don't have an explicit file format).
5979 The file format that is documented here is
5986 \begin_layout Subsection
5987 General text class parameters
5990 \begin_layout Standard
5991 These are the general parameters which describe the form of the entire document:
5994 \begin_layout Standard
5998 \begin_layout Standard
6010 \begin_layout Description
6024 ] Whether the class-default should have one or two columns.
6025 Can be changed in the
6030 ocument\SpecialChar \menuseparator
6038 This setting (same goes for
6042 , too) is important: if your text class has two columns by default but you
6043 forget to set it correctly, the
6051 be output when you select
6060 ocument\SpecialChar \menuseparator
6068 \begin_layout Description
6082 ] Whether the class-default should be printing on one or both sides of the
6084 Can be changed in the
6089 ocument\SpecialChar \menuseparator
6099 \begin_layout Description
6113 ] The class default pagestyle.
6114 Can be changed in the
6119 ocument\SpecialChar \menuseparator
6129 \begin_layout Description
6133 ClassOptions\SpecialChar \ldots{}
6137 This section describes various global options supported by the document
6139 See Section\InsetSpace ~
6141 \begin_inset LatexCommand ref
6142 reference "sec:classoptions"
6149 \begin_layout Description
6167 ] Whether the class already provides the feature
6172 A feature is in general the name of a package (amsmath, makeidx, \SpecialChar \ldots{}
6174 macro (url, boldsymbol,\SpecialChar \ldots{}
6175 ); the complete list of supported features is unfortunat
6179 \begin_layout Description
6186 This is used to describe the default font of the document.
6187 See Section\InsetSpace ~
6189 \begin_inset LatexCommand ref
6190 reference "sec:fonts"
6197 \begin_layout Description
6208 ] This is the style that will be assigned to new paragraphs, usually
6213 This will default to the first defined style if not given, but you are
6214 highly encouraged to use this directive.
6217 \begin_layout Description
6234 ] Indicates what kind of markup is used to define the title of a document.
6239 means that the macro with name
6243 will be inserted after the last layout which has
6244 \begin_inset Quotes eld
6252 \begin_inset Quotes erd
6260 corresponds to the case where the block of paragraphs which have
6261 \begin_inset Quotes eld
6269 \begin_inset Quotes erd
6272 should be enclosed into the
6281 \begin_layout Description
6292 ] The name of the command/environment mentionned above.
6295 \begin_layout Description
6299 Preamble\SpecialChar \ldots{}
6303 A set of macro definitions that will be output at the beginning of the
6305 Use this for global definitions.
6308 \begin_layout Description
6315 As its name implies, this command allows you to include another layout
6316 definition file within yours to avoid duplicating commands.
6317 Common examples are the standard layout files, for example,
6321 , which contains most of the basic layouts.
6324 \begin_layout Description
6328 Style\SpecialChar \ldots{}
6332 This sequence defines a new style.
6333 If the style already exists, it will redefine some of its parameters instead.
6334 See Section\InsetSpace ~
6336 \begin_inset LatexCommand ref
6337 reference "sec:style"
6344 \begin_layout Description
6351 This command deletes an existing style.
6352 This is particularly useful when you want to suppress a style that has
6353 be defined in an input file.
6356 \begin_layout Description
6360 Float\SpecialChar \ldots{}
6364 This sequence defines a new float.
6365 See Section\InsetSpace ~
6367 \begin_inset LatexCommand ref
6368 reference "sec:floats"
6375 \begin_layout Description
6382 This command deletes an existing float.
6383 This is particularly useful when you want to suppress a float that has
6384 be defined in an input file.
6387 \begin_layout Description
6391 CharStyle\SpecialChar \ldots{}
6395 This section defines a new character style.
6396 See Section\InsetSpace ~
6398 \begin_inset LatexCommand ref
6399 reference "sec:charstyle"
6406 \begin_layout Description
6410 Counter\SpecialChar \ldots{}
6414 This sequence defines a new counter.
6415 See Section\InsetSpace ~
6417 \begin_inset LatexCommand ref
6418 reference "sec:counter"
6425 \begin_layout Standard
6429 \begin_layout Standard
6441 \begin_layout Subsection
6449 \begin_layout Standard
6450 \begin_inset LatexCommand label
6451 name "sec:classoptions"
6459 section can contain the following entries:
6462 \begin_layout Description
6473 ] The list of available font sizes for the document's main font, separated
6475 \begin_inset Quotes eld
6483 \begin_inset Quotes erd
6489 \begin_layout Description
6498 string="empty|plain|headings|fancy"
6500 ] The list of available page styles, separated by
6501 \begin_inset Quotes eld
6509 \begin_inset Quotes erd
6515 \begin_layout Description
6526 ] Some document class options, separated by a comma, that will be added
6527 to the optional part of the
6536 \begin_layout Subsection
6537 Specific Paragraph Layouts
6540 \begin_layout Standard
6541 \begin_inset LatexCommand label
6546 A paragraph layout description looks like this
6550 \begin_layout Standard
6551 Note that this will either define a new layout or modify an existing one.
6559 \begin_layout LyX-Code
6566 \begin_layout LyX-Code
6570 \begin_layout LyX-Code
6574 \begin_layout Standard
6575 where the following commands are allowed:
6578 \begin_layout Standard
6582 \begin_layout Standard
6594 \begin_layout Description
6605 This is used to copy all the features of an existing layout into the current
6610 \begin_layout Description
6622 , Command, Environment, Item_Environment,
6628 ] How the layout should be translated into LaTeX.
6633 means nothing special.
6646 {\SpecialChar \ldots{}
6661 }\SpecialChar \ldots{}
6685 is generated for each paragraph of this environment.
6698 is passed as an argument to the environment.
6703 can be defined in the
6708 ayout\SpecialChar \menuseparator
6722 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6723 Visit the SGML class files for specific examples.
6726 \begin_layout Description
6737 If 1, marks the layout as being part of a title block (see also the
6748 \begin_layout Description
6755 The name of the corresponding LaTeX stuff.
6756 Either the environment or command name.
6759 \begin_layout Description
6766 The optional parameter for the corresponding
6773 This parameter cannot be changed from within LyX.
6776 \begin_layout Description
6787 ] The number of optional arguments that can be used with this layout.
6788 This is useful for things like section headings, and only makes sense with
6792 \begin_layout Description
6804 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6808 The kind of margin that the layout has on the left side.
6813 just means a fixed margin.
6818 means that the left margin depends on the string entered in the
6823 dit\SpecialChar \menuseparator
6828 aragraph\InsetSpace ~
6832 This is used to typeset nice lists without tabulators.
6837 means that the margin depends on the size of the label.
6838 This is used for automatic enumerated headlines.
6839 It is obvious that the headline
6840 \begin_inset Quotes eld
6843 5.4.3.2.1 Very long headline
6844 \begin_inset Quotes erd
6847 must have a wider left margin (as wide as
6848 \begin_inset Quotes eld
6852 \begin_inset Quotes erd
6855 plus the space) than
6856 \begin_inset Quotes eld
6859 3.2 Very long headline
6860 \begin_inset Quotes erd
6863 , even if other word processors are not able to do this.
6868 is similar, but only the very first row of the paragraph is dynamic, while
6869 the others are static; this is used, for example, for descriptions.
6874 means the margin is chosen in a way that the longest row of this paragraph
6875 fits to the right margin.
6876 This is used to typeset an address on the right edge of the page.
6879 \begin_layout Description
6896 ] Whether the following Paragraph is allowed to indent its very first row.
6901 means that it is not allowed to do so,
6905 means it could do so if it wants to.
6908 \begin_layout Description
6919 ] The indent of the very first line of a paragraph.
6920 The argument is passed as a string.
6925 means that the paragraph is indented with the width of
6934 You can get a negative width by prefixing the string with
6939 This way was chosen so that the look is the same with each used screen
6945 will be fixed for a certain layout.
6946 The exception is Standard layout, since the indentation of a Standard layout
6947 paragraph can be prohibited with
6952 Also, Standard layout paragraphs inside environments use the
6956 of the environment, not their native one.
6957 For example, Standard paragraphs inside an enumeration are not indented.
6960 \begin_layout Description
6971 ] LyX allows to choose either
6972 \begin_inset Quotes eld
6976 \begin_inset Quotes erd
6980 \begin_inset Quotes eld
6984 \begin_inset Quotes erd
6987 to typeset a document.
6989 \begin_inset Quotes eld
6993 \begin_inset Quotes erd
6996 is chosen, this value is completely ignored.
6998 \begin_inset Quotes eld
7002 \begin_inset Quotes erd
7005 is chosen, the parindent of a LaTeXtype
7006 \begin_inset Quotes eld
7010 \begin_inset Quotes erd
7013 layout is ignored and all paragraphs are additionally separated by this
7015 The vertical space is calculated with
7017 value*DefaultHeight()
7023 is the height of a row with the normal font.
7024 This way, the look stays the same with different screen fonts.
7027 \begin_layout Description
7038 ] The vertical space with which the very first of a chain of paragraphs
7039 with this layout is separated from the previous paragraph.
7040 If the previous paragraph has another layout, the separations are not simply
7041 added, but the maximum is taken.
7044 \begin_layout Description
7059 for the very last paragraph.
7062 \begin_layout Description
7073 ] The vertical space between two paragraphs of this layout.
7076 \begin_layout Description
7087 ] This is an extra space between the paragraphs of an environment layout.
7088 If you put other layouts into an environment, each is separated with the
7094 But the whole items of the environment are additionally separated with
7103 \begin_layout Description
7114 ] If you put layouts into environments, the leftmargins are not simply added,
7115 but added with a factor
7116 \begin_inset Formula $\frac{4}{depth+4}$
7120 Note that this parameter is also used when the border is defined as
7129 Then it is added to the manual or dynamic border.
7130 This string has the same meaning as for
7137 \begin_layout Description
7155 \begin_layout Description
7167 , Manual, Static, Top_Environment,
7169 Centered_Top_Environment, Sensitive,
7178 means the label is the very first word (up to the first real blank).
7183 means it is defined in the layout (see
7194 Centered_Top_Environment
7196 are special cases of
7201 The label will be printed above the paragraph, but only at the top of an
7202 environment or the top of a chain of paragraphs with this layout.
7203 Usage is for example the
7212 This is also the case for
7216 labels with latex type
7220 , in order to make layouts for theorems work correctly.
7225 is a special case for the caption-labels
7226 \begin_inset Quotes eld
7230 \begin_inset Quotes erd
7234 \begin_inset Quotes eld
7238 \begin_inset Quotes erd
7246 means the (hardcoded) label string depends on the kind of float.
7251 label type defines automatically numbered labels.
7254 \begin_layout Description
7267 The name of the counter for automatic numbering (see Section\InsetSpace ~
7269 \begin_inset LatexCommand ref
7270 reference "sec:counter"
7275 This must be given if
7288 \begin_layout Description
7299 ] The horizontal space between the label and the text body.
7300 Only used for labels that are not above the text body.
7303 \begin_layout Description
7310 [float=0] The vertical space between the label and the text body.
7311 Only used for labels that are above the text body (
7317 Centered_Top_Environment
7322 \begin_layout Description
7333 ] The string used for a label with a
7342 this string is also used as a suggestion for the
7346 that can be set in the
7351 dit\SpecialChar \menuseparator
7356 aragraph\InsetSpace ~
7366 is set, this string can be contain special formatting commands as explained
7367 in Section\InsetSpace ~
7369 \begin_inset LatexCommand ref
7370 reference "sec:counter"
7377 \begin_layout Description
7388 ] This is used inside the appendix instead of
7409 \begin_layout Description
7416 The level of the style in the table of contents.
7417 This is used for automatic numbering of section headings.
7420 \begin_layout Description
7432 , Box, Filled_Box, Static
7434 ] The type of label that stands at the end of the paragraph (or sequence
7457 \begin_inset Quotes eld
7461 \begin_inset Quotes erd
7473 ) is a white (resp.\InsetSpace ~
7474 black) square suitable for end of proof markers,
7478 is an explicit text string.
7481 \begin_layout Description
7492 ] The string used for a label with a
7504 \begin_layout Description
7516 , left, right, center
7518 ] Paragraph alignment.
7521 \begin_layout Description
7533 , left, right, center
7540 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7542 For example a right-aligned or centered enumeration isn't possible.
7545 \begin_layout Description
7559 ] With this parameter the
7564 \begin_inset Quotes eld
7567 Vertical space above
7568 \begin_inset Quotes erd
7576 dit\SpecialChar \menuseparator
7581 aragraph\InsetSpace ~
7584 dialog can be set when initializing a paragraph with this layout
7588 \begin_layout Standard
7591 Note from Jean-Marc:
7593 I'm not sure that this setting has much use, and it should probably be
7594 removed in later versions.
7603 \begin_layout Description
7624 \begin_layout Description
7638 ] Whether fragile commands in this layout should be
7647 \begin_layout Description
7664 ] Whether newlines are translated into LaTeX newlines (
7673 The translation can be switched off to allow more comfortable LaTeX editing
7677 \begin_layout Description
7691 ] Whether the contents of this paragraph should be output in raw form, meaning
7692 without special translations that LaTeX would require.
7693 This somehow replaces the older
7700 \begin_layout Description
7714 ] Usually LyX doesn't allow you to insert more than one space between words,
7715 since a space is considered as the separation between two words, not a
7716 character or symbol of its own.
7717 This is a very fine thing but sometimes annoying, for example when typing
7718 program code or plain LaTeX code.
7724 Note that LyX will create protected blanks for the additional blanks when
7725 in another mode than LaTeX-mode.
7728 \begin_layout Description
7742 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7743 lead to empty LaTeX output.
7744 There are some cases where this could be desirable however: in a letter
7745 template, the required fields can be provided as empty fields, so that
7746 people do not forget them; in some special classes, a layout can be used
7747 as some kind of break, which does not contain actual text.
7750 \begin_layout Description
7762 , onehalf, double, other
7768 ] This defines what the default spacing should be in the layout.
7781 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7782 If you specify the argument
7786 , then you should also provide a numerical argument which will be the actual
7788 Note that, contrary to other parameters,
7792 implies the generation of specific LaTeX code, using the package
7799 \begin_layout Description
7806 The font used for both the text body
7811 See section\InsetSpace ~
7813 \begin_inset LatexCommand ref
7814 reference "sec:fonts"
7819 Note that defining this font automatically defines the
7826 \begin_layout Description
7833 The font used for the text body .
7834 See section\InsetSpace ~
7836 \begin_inset LatexCommand ref
7837 reference "sec:fonts"
7844 \begin_layout Description
7851 The font used for the label.
7852 See section\InsetSpace ~
7854 \begin_inset LatexCommand ref
7855 reference "sec:fonts"
7862 \begin_layout Description
7866 Preamble\SpecialChar \ldots{}
7870 A set of macro definitions that will be output at the beginning of the
7871 LaTeX files when the layout is used.
7872 Use this to define the macros needed by this particular layout.
7875 \begin_layout Description
7882 the name of a style which preamble should be output
7886 the one mentionned above.
7887 This allows to ensure some ordering of the preamble snippets when macros
7888 definitions depend on one another
7892 \begin_layout Standard
7893 Note that, besides that functionality, there is no way to ensure any ordering
7895 The ordering that you see in a given version of LyX may change without
7896 warning in later versions.
7904 \begin_layout Standard
7908 \begin_layout Standard
7920 \begin_layout Subsection
7924 \begin_layout Standard
7925 \begin_inset LatexCommand label
7930 Since version 1.3.0 of LyX, it is necessary to define the floats (
7938 , \SpecialChar \ldots{}
7939 ) in the text class itself.
7940 If you are looking here to learn how to upgrade an existing text class,
7941 it will probably turn out that all you have to do is to add
7944 \begin_layout LyX-Code
7948 \begin_layout Standard
7949 at a reasonable location of the text class.
7953 \begin_layout Standard
7954 Don't forget to also have a look at counters in next section.
7959 If you want to implement a text class that proposes some other float types
7960 (like the AGU class bundled with LyX), the information below will hopefully
7964 \begin_layout Description
7976 \begin_inset Quotes erd
7980 \begin_inset Quotes erd
7984 \begin_inset Quotes eld
7988 \begin_inset Quotes erd
7991 of the new class of floats, like program or algorithm.
7992 After the appropriate
8013 \begin_layout Description
8025 \begin_inset Quotes erd
8029 \begin_inset Quotes erd
8032 ] The string that will be used in the menus and also for the caption.
8035 \begin_layout Description
8056 if the float is already defined by the documentclass.
8061 , the float will be defined using the LaTeX package
8068 \begin_layout Description
8080 \begin_inset Quotes erd
8084 \begin_inset Quotes erd
8087 ] This (optional) argument determines whether floats of this class will
8088 be numbered within some sectional unit of the document.
8089 For example, if within is equal to
8093 , the floats will be numbered within chapters.
8097 \begin_layout Description
8109 \begin_inset Quotes erd
8113 \begin_inset Quotes erd
8116 ] The style used when defining the float using
8125 \begin_layout Description
8137 \begin_inset Quotes erd
8141 \begin_inset Quotes erd
8144 ] The default placement for the given class of floats.
8145 They are like in standard LaTeX:
8161 for top, bottom, page, and here, respectively.
8165 \begin_layout Standard
8166 Note that the order of these letters in the string is irrelevant, like in
8172 On top of that there is a new type,
8176 , which does not really correspond to a float, since it means: put it
8177 \begin_inset Quotes eld
8181 \begin_inset Quotes erd
8185 Note, however that the
8189 specifier is special and, because of implementation details cannot be used
8190 in non-builtin float types.
8191 If you do not understand what this means, just use
8198 \begin_layout Description
8210 \begin_inset Quotes erd
8214 \begin_inset Quotes erd
8217 ] The file name extension of an auxiliary file for the list of figures (or
8219 LaTeX writes the captions to this file.
8222 \begin_layout Description
8234 \begin_inset Quotes erd
8238 \begin_inset Quotes erd
8241 ] The heading used for the list of floats.
8244 \begin_layout Subsection
8248 \begin_layout Standard
8249 \begin_inset LatexCommand label
8250 name "sec:charstyle"
8254 You can define character styles since version 1.4.0 of LyX.
8259 section can contain the following entries:
8262 \begin_layout Description
8269 The font used for both the text body
8274 See section\InsetSpace ~
8276 \begin_inset LatexCommand ref
8277 reference "sec:fonts"
8282 Note that defining this font automatically defines the
8289 \begin_layout Description
8296 The font used for the label.
8297 See section\InsetSpace ~
8299 \begin_inset LatexCommand ref
8300 reference "sec:fonts"
8307 \begin_layout Description
8314 The name of the corresponding LaTeX stuff.
8315 Either the environment or command name.
8318 \begin_layout Description
8325 The optional parameter for the corresponding
8332 This parameter cannot be changed from within LyX.
8335 \begin_layout Description
8342 See section\InsetSpace ~
8344 \begin_inset LatexCommand ref
8345 reference "sec:style"
8352 \begin_layout Description
8356 Preamble\SpecialChar \ldots{}
8360 See section\InsetSpace ~
8362 \begin_inset LatexCommand ref
8363 reference "sec:style"
8370 \begin_layout Subsection
8374 \begin_layout Standard
8375 \begin_inset LatexCommand label
8380 Since version 1.3.0 of LyX, it is necessary to define the counters (
8388 , \SpecialChar \ldots{}
8389 ) in the text class itself.
8390 If you are looking here to learn how to upgrade an existing text class,
8391 it will probably turn out that all you have to do is to add
8394 \begin_layout LyX-Code
8395 Input stdcounters.inc
8398 \begin_layout Standard
8399 The definition of counters is presently a bit primitive in LyX, since many
8400 things are still hardcoded.
8401 The following two parameters can be used:
8404 \begin_layout Description
8416 \begin_inset Quotes erd
8420 \begin_inset Quotes erd
8423 ] The name of the counter
8426 \begin_layout Description
8438 \begin_inset Quotes erd
8442 \begin_inset Quotes erd
8445 ] If this is set to the name of another counter, the present counter will
8446 be reset everytime the other one is increased (is that unclear enough?).
8449 \begin_layout Standard
8450 When a counter has been associated to a style, it is possible to use some
8451 special constructs in
8466 \begin_layout Itemize
8475 will be replaced the expanded
8486 This is used for example to define the label of a subsection in terms of
8487 the label of a section.
8490 \begin_layout Itemize
8491 counter values can be expressed using LaTeX-like macros
8515 \begin_layout Description
8526 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8531 \begin_layout Standard
8541 Actually, the situation is a bit more complicated than that: any
8560 other than those descibed below will produce arabic numerals.
8561 It would not be surprising to see this change in the future.
8569 \begin_layout Description
8576 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8580 \begin_layout Description
8587 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8591 \begin_layout Description
8598 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8602 \begin_layout Description
8609 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8613 \begin_layout Description
8620 for hebrew numerals.
8624 \begin_layout Subsection
8628 \begin_layout Standard
8629 \begin_inset LatexCommand label
8634 A font description looks like that:
8637 \begin_layout LyX-Code
8647 \begin_layout LyX-Code
8651 \begin_layout LyX-Code
8655 \begin_layout Standard
8656 and the following commands are available:
8659 \begin_layout Description
8676 \begin_layout Description
8693 \begin_layout Description
8705 , Italic, SmallCaps, Slanted
8710 \begin_layout Description
8726 , large, larger, largest, huge, giant
8731 \begin_layout Description
8743 , black, white, red, green, blue, cyan, magenta, yellow
8748 \begin_layout Subsection
8749 Upgrading old layout files
8752 \begin_layout Standard
8753 The file format of layout files changes from time to time, so old layout
8754 files need to be converted.
8755 This process has been automated in LyX 1.4.0: If LyX reads an old format
8756 layout file it will call the conversion tool
8758 $LyXDir/scripts/layout2layout.py
8760 and convert it to a temporary file in current format.
8761 The original file is left untouched, so that you can still use it with
8763 If you want to convert the layout file permanently, just call the converter
8767 \begin_layout LyX-Code
8768 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8771 \begin_layout Standard
8783 \begin_layout Standard
8784 The automatic conversion does only handle syntax changes.
8785 It cannot handle the case where the contents of included files was changed.
8786 For example, layout files based on
8799 If you get error messages about undefined counters, try to convert your
8819 \begin_layout Section
8821 \begin_inset LatexCommand label
8822 name "sec:templates"
8829 \begin_layout Standard
8830 Templates are created just like usual documents.
8831 The only difference is that usual documents contain all possible settings,
8832 including the fontscheme and the papersize.
8833 Usually a user doesn't want a template to overwrite his defaults in these
8835 For that reason, the designer of a template should remove the corresponding
8848 from the template LyX file.
8849 This can be done with any simple text-editor, for example
8861 \begin_layout Standard
8862 Put the edited template files you create in
8866 , copy the ones you use from the global template directory in
8870 to the same place, and redefine the template path in the
8875 dit\SpecialChar \menuseparator
8894 \begin_layout Standard
8895 Note that there is a template which has a particular meaning:
8900 This template is loaded everytime you create a new document with
8907 \SpecialChar \menuseparator
8915 in order to provide useful defaults.
8916 To create this template from inside LyX, all you have to do is to open
8917 a document with the correct settings, and use the
8923 e as Document Defaults
8928 \begin_layout Chapter
8929 Including External Material
8932 \begin_layout Section
8936 \begin_layout Standard
8937 \begin_inset Note Note
8940 \begin_layout Standard
8941 This section is completely outdated.
8946 One often requested feature from LyX users is to be able to interface LyX
8947 with Xfig, Dia, or other similar applications that specialize in producing
8948 a certain kind of diagram, figure, schematic or whatever material might
8949 be relevant to include in your document.
8950 Previously, it was only possible to include boring, static, fixed images
8951 in LyX documents with the graphics feature, but there are several limitations
8952 attached to this approach:
8955 \begin_layout Itemize
8956 If you want to change the figure, you have to invoke an external program
8960 \begin_layout Itemize
8961 LyX does not notice that the referenced files change, so the on-screen display
8962 can fast become obsolete, and this is aggravated by the lack of a means
8963 of updating the display
8966 \begin_layout Itemize
8967 The graphics stuff does not provide any mechanisms for coping with different
8968 exported formats such as DocBook, HTML or plain text
8971 \begin_layout Standard
8972 The external material facility attempts to solve all of these problems
8976 \begin_layout Standard
8977 Even if the graphics facility can't solve all problems, it is still valuable
8978 because it does provide in-line preview of the graphics, and supports advanced
8979 geometric transformations with a comfortable user interface.
8985 It does this by offering a general method to interface LyX to external
8987 Instead of introducing a long list of different constructs tailored for
8988 each specific application, we chose to sacrifice the in-line displaying
8989 of the included material in order to provide a general construct to cover
8990 a wide range of applications.
8991 The result is the external material construct.
8992 External material presents itself in the document simply as a button, but
8993 don't let this fool you.
8994 When you click on it, a dialog will appear that allows you to chose exactly
8995 what material to include, and in the following sections you will learn
8996 that this is indeed a powerful mechanism that can solve all of the above
9000 \begin_layout Section
9004 \begin_layout Standard
9005 The external material feature is based on the concept of a
9010 A template is a specification of how LyX should interface with a certain
9012 As bundled, LyX comes with predefined templates for Xfig figures, Dia diagrams,
9013 various raster format images, gnuplot, and more.
9014 You can check the actual list by using the menu
9016 Insert\SpecialChar \menuseparator
9017 File\SpecialChar \menuseparator
9026 Furthermore, it is possible to roll your own template to support a specific
9028 Later we'll describe in more detail what is involved, and hopefully you
9029 will submit all the templates you create so we can include them in a later
9033 \begin_layout Standard
9034 Another basic idea of the external material feature is to distinguish between
9035 the original file that serves as a base for final material and the produced
9036 file that is included in your exported or printed document.
9037 For example, consider the case of a figure produced with
9042 The Xfig application itself works on an original file with the
9047 Within XFig, you create and change your figure, and when you are done,
9053 When you want to include the figure in your document, you invoke
9057 in order to create a PostScript file that can readily be included in your
9063 file is the original file, and the PostScript file is the produced file.
9066 \begin_layout Standard
9067 This distinction is important in order to allow updating of the material
9068 while you are in the process of writing the document.
9069 Furthermore, it provides us with the flexibility that is needed to support
9070 multiple export formats.
9071 For instance, in the case of a plain text file, it is not exactly an award-winn
9072 ing idea to include the figure as raw PostScript.
9073 Instead, you'd either prefer to just include a reference to the figure,
9074 or try to invoke some graphics to Ascii converter to make the final result
9075 look similar to the real graphics.
9076 The external material management allows you to do this, because it is parameter
9077 ized on the different export formats that LyX supports.
9080 \begin_layout Standard
9081 Besides supporting the production of different products according to the
9082 exported format, it supports tight integration with editing and viewing
9084 In the case of an XFig figure, you are able to invoke
9088 on the original file with a single click from within the external material
9089 dialog in LyX, and also preview the produced PostScript file with
9094 No more fiddling around with the command line and/or file browsers to locate
9095 and manipulate the original or produced files.
9096 In this way, you are finally able to take full advantage of the many different
9097 applications that are relevant to use when you write your documents, and
9098 ultimately be more productive.
9101 \begin_layout Section
9102 External material dialog
9105 \begin_layout Standard
9110 dialog is described in the
9119 \begin_layout Section
9123 \begin_layout Standard
9124 In this section, we should include some examples of use of the external
9126 Those examples could include:
9129 \begin_layout Itemize
9130 External raster images
9133 \begin_layout Itemize
9134 External XFig figures
9137 \begin_layout Itemize
9141 \begin_layout Itemize
9145 \begin_layout Itemize
9146 The use of makefiles
9149 \begin_layout Itemize
9150 Recursive external LyX templates
9153 \begin_layout Section
9154 The external template configuration file
9157 \begin_layout Standard
9158 It is relatively easy to add custom external template definitions to LyX.
9159 However, be aware this doing this in an careless manner most probably
9163 introduce an easily exploitable security hole.
9164 So before you do this, please read the discussion about security which
9168 \begin_layout Standard
9169 Having said that, we encourage you to submit any interesting templates that
9174 \begin_layout Standard
9175 The external templates are defined in the
9177 lib/external_templates
9180 You can place your own version in
9182 .lyx/external_templates
9187 \begin_layout Standard
9188 A typical template looks like this:
9191 \begin_layout LyX-Code
9195 \begin_layout LyX-Code
9196 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
9199 \begin_layout LyX-Code
9203 \begin_layout LyX-Code
9207 \begin_layout LyX-Code
9211 \begin_layout LyX-Code
9215 \begin_layout LyX-Code
9219 \begin_layout LyX-Code
9220 AutomaticProduction true
9223 \begin_layout LyX-Code
9227 \begin_layout LyX-Code
9231 \begin_layout LyX-Code
9235 \begin_layout LyX-Code
9236 TransformCommand Rotate RotationLatexCommand
9239 \begin_layout LyX-Code
9240 TransformCommand Resize ResizeLatexCommand
9243 \begin_layout LyX-Code
9244 Product "$$RotateFront$$ResizeFront
9247 \begin_layout LyX-Code
9252 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
9255 \begin_layout LyX-Code
9256 $$ResizeBack$$RotateBack"
9259 \begin_layout LyX-Code
9263 \begin_layout LyX-Code
9264 UpdateResult "$$AbsPath$$Basename.pstex_t"
9267 \begin_layout LyX-Code
9268 Requirement "graphicx"
9271 \begin_layout LyX-Code
9272 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9275 \begin_layout LyX-Code
9276 ReferencedFile latex "$$AbsPath$$Basename.eps"
9279 \begin_layout LyX-Code
9280 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9283 \begin_layout LyX-Code
9287 \begin_layout LyX-Code
9291 \begin_layout LyX-Code
9292 TransformCommand Rotate RotationLatexCommand
9295 \begin_layout LyX-Code
9296 TransformCommand Resize ResizeLatexCommand
9299 \begin_layout LyX-Code
9300 Product "$$RotateFront$$ResizeFront
9303 \begin_layout LyX-Code
9308 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9311 \begin_layout LyX-Code
9312 $$ResizeBack$$RotateBack"
9315 \begin_layout LyX-Code
9319 \begin_layout LyX-Code
9320 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9323 \begin_layout LyX-Code
9324 Requirement "graphicx"
9327 \begin_layout LyX-Code
9328 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9331 \begin_layout LyX-Code
9332 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9335 \begin_layout LyX-Code
9339 \begin_layout LyX-Code
9343 \begin_layout LyX-Code
9344 Product "$$Contents(
9346 "$$AbsPath$$Basename.asc
9351 \begin_layout LyX-Code
9352 UpdateFormat asciixfig
9355 \begin_layout LyX-Code
9356 UpdateResult "$$AbsPath$$Basename.asc"
9359 \begin_layout LyX-Code
9363 \begin_layout LyX-Code
9367 \begin_layout LyX-Code
9368 Product "<graphic fileref=
9370 "$$AbsOrRelPathMaster$$Basename.eps
9375 \begin_layout LyX-Code
9379 \begin_layout LyX-Code
9383 \begin_layout LyX-Code
9384 UpdateResult "$$AbsPath$$Basename.eps"
9387 \begin_layout LyX-Code
9388 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9391 \begin_layout LyX-Code
9392 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9395 \begin_layout LyX-Code
9399 \begin_layout LyX-Code
9403 \begin_layout LyX-Code
9404 Product "[XFig: $$FName]"
9407 \begin_layout LyX-Code
9411 \begin_layout LyX-Code
9415 \begin_layout Standard
9416 As you can see, the template is enclosed in
9420 \SpecialChar \ldots{}
9426 It contains a header specifying some general settings, and for each supported
9427 primary document file format a section
9431 \SpecialChar \ldots{}
9439 \begin_layout Subsection
9443 \begin_layout Description
9447 Template\InsetSpace ~
9451 A unique name for the template.
9452 It must not contain substitution macros (see below).
9455 \begin_layout Description
9459 GuiName\InsetSpace ~
9463 The text that is displayed on the button.
9464 This command must occur exactly once.
9467 \begin_layout Description
9471 HelpText\InsetSpace ~
9476 The help text that is used in the External dialog.
9477 Provide enough information to explain to the user just what the template
9478 can provide him with.
9479 This command must occur exactly once.
9482 \begin_layout Description
9486 InputFormat\InsetSpace ~
9490 The file format of the original file.
9491 This must be the name of a format that is known to LyX (see the
9496 ools\SpecialChar \menuseparator
9501 references:Conversion
9508 if the template can handle original files of more than one format.
9509 LyX will attempt to interrogate the file itself in order to deduce its
9510 format in this case.
9511 This command must occur exactly once.
9514 \begin_layout Description
9518 FileFilter\InsetSpace ~
9522 A glob pattern that is used in the file dialog to filter out the desired
9524 If there is more than one possible file extension (e.g.\InsetSpace ~
9533 ), use something like
9538 This command must occur exactly once.
9541 \begin_layout Description
9545 AutomaticProduction\InsetSpace ~
9549 Wether the file represented by the template must be generated by LyX.
9550 This command must occur exactly once.
9553 \begin_layout Description
9557 Transform\InsetSpace ~
9558 Rotate|Resize|Clip|Extra
9561 This command specifies which transformations are supported by this template.
9562 It may occur zero or more times.
9563 This command enables the corresponding tabs in the external dialog.
9568 command must have either a corresponding
9581 Otherwise the transformation will not be supported by that format.
9584 \begin_layout Subsection
9588 \begin_layout Description
9593 LaTeX|PDFLaTeX|PlainText|DocBook|LinuxDoc
9596 The primary document file format that this format definition is for.
9597 Not every template has a sensible representation in all document file formats.
9598 Please define nevertheless a
9602 section for all formats.
9603 Use a dummy text when no representation is available (see the LinuxDoc
9604 format in the example above).
9605 Then you can at least see a reference to the external material in the exported
9609 \begin_layout Description
9613 TransformCommand\InsetSpace ~
9615 RotationLatexCommand
9618 This command specifies that the built in LaTeX command should be used for
9620 This command may occur once or not at all.
9623 \begin_layout Description
9627 TransformCommand\InsetSpace ~
9632 This command specifies that the built in LaTeX command should be used for
9634 This command may occur once or not at all.
9637 \begin_layout Description
9641 TransformOption\InsetSpace ~
9646 This command specifies that rotation is done via an optional argument.
9647 This command may occur once or not at all.
9650 \begin_layout Description
9654 TransformOption\InsetSpace ~
9659 This command specifies that resizing is done via an optional argument.
9660 This command may occur once or not at all.
9663 \begin_layout Description
9667 TransformOption\InsetSpace ~
9672 This command specifies that clipping is done via an optional argument.
9673 This command may occur once or not at all.
9676 \begin_layout Description
9680 TransformOption\InsetSpace ~
9685 This command specifies that an extra optional argument is used.
9686 This command may occur once or not at all.
9689 \begin_layout Description
9693 Product\InsetSpace ~
9697 The text that is inserted in the exported document.
9698 This is actually the most important command and can be quite complex.
9699 This command must occur exactly once.
9702 \begin_layout Description
9706 UpdateFormat\InsetSpace ~
9710 The file format of the converted file.
9711 This must be the name of a format that is known to LyX (see the
9716 ools\SpecialChar \menuseparator
9721 references:Conversion
9724 This command must occur exactly once.
9727 \begin_layout Description
9731 UpdateResult\InsetSpace ~
9735 The file name of the converted file.
9736 The file name must be absolute.
9737 This command must occur exactly once.
9740 \begin_layout Description
9744 ReferencedFile\InsetSpace ~
9745 <format>\InsetSpace ~
9749 This command denotes files that are created by the conversion process and
9750 are needed for a particular export format.
9751 If the filename is relative, it is interpreted relative to the master document.
9752 This command may be given zero or more times.
9755 \begin_layout Description
9759 Requirement\InsetSpace ~
9763 The name of a required LaTeX package.
9764 The package is included via
9770 in the LaTeX preamble.
9771 This command may occur zero or more times.
9774 \begin_layout Description
9778 Preamble\InsetSpace ~
9782 This command specifies a preamble snippet that will be included in the
9784 It has to be defined using
9788 \SpecialChar \ldots{}
9794 This command may occur zero or more times.
9797 \begin_layout Description
9806 This command defines an additional macro
9819 itself may contain substitution macros.
9820 The advantage over using
9828 is that the substituted value of
9832 is sanitized so that it is a valid optional argument in the document format.
9833 This command may occur zero or more times.
9836 \begin_layout Subsection
9837 Preamble definitions
9840 \begin_layout Standard
9841 The external template configuration file may contain additional preamble
9842 definitions enclosed by
9846 \SpecialChar \ldots{}
9852 They can be used by the templates in the
9859 \begin_layout Section
9860 The substitution mechanism
9863 \begin_layout Standard
9864 When the external material facility invokes an external program, it is done
9865 on the basis of a command defined in the template configuration file.
9866 These commands can contain various macros that are expanded before execution.
9867 Execution always take place in the directory of the containing document.
9870 \begin_layout Standard
9871 Also, whenever external material is to be displayed, the name will be produced
9872 by the substitution mechanism, and most other commands in the template
9873 definition support substitution as well.
9876 \begin_layout Standard
9877 The available macros are the following:
9880 \begin_layout Description
9881 $$FName The filename of the file specified in the external material dialog.
9882 This is either an absolute name, or it is relative to the LyX document.
9885 \begin_layout Description
9886 $$Basename The filename without path and without the extension.
9889 \begin_layout Description
9890 $$Extension The file extension (including the dot).
9893 \begin_layout Description
9894 $$FPath The path part of
9898 (absolute name or relative to the LyX document).
9901 \begin_layout Description
9902 $$AbsPath The absolute file path.
9905 \begin_layout Description
9906 $$RelPathMaster The file path, relative to the master LyX document.
9909 \begin_layout Description
9910 $$RelPathParent The file path, relative to the LyX document.
9913 \begin_layout Description
9914 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9918 \begin_layout Description
9919 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9922 \begin_layout Description
9923 $$Tempname A name and full path to a temporary file which will be automatically
9924 deleted whenever the containing document is closed, or the external material
9928 \begin_layout Description
9930 \begin_inset Quotes eld
9934 \begin_inset Quotes erd
9937 ) This macro will expand to the contents of the file with the name
9944 \begin_layout Description
9945 $$Sysdir This macro will expand to the absolute path of the system directory.
9946 This is typically used to point to the various helper scripts that are
9950 \begin_layout Standard
9951 All path macros contain a trailing directory separator, so you can construct
9953 the absolute filename with
9955 $$AbsPath$$Basename$$Extension
9960 \begin_layout Standard
9961 The macros above are substituted in all commands unless otherwise noted.
9966 supports additionally the following substitutions if they are enabled by
9978 \begin_layout Description
9979 $$ResizeFront The front part of the resize command.
9982 \begin_layout Description
9983 $$ResizeBack The back part of the resize command.
9986 \begin_layout Description
9987 $$RotateFront The front part of the rotation command.
9990 \begin_layout Description
9991 $$RotateBack The back part of the rotation command.
9994 \begin_layout Standard
9995 The value string of the
9999 command supports additionally the following substitutions if they are enabled
10011 \begin_layout Description
10012 $$Clip The clip option.
10015 \begin_layout Description
10016 $$Extra The extra option.
10019 \begin_layout Description
10020 $$Resize The resize option.
10023 \begin_layout Description
10024 $$Rotate The rotation option.
10027 \begin_layout Standard
10028 You may ask why there are so many path macros.
10029 There are mainly two reasons:
10032 \begin_layout Standard
10033 First, relative and absolute file names should remain relative or absolute,
10035 Users may have reasons to prefer either form.
10036 Relative names are useful for portable documents that should work on different
10037 machines, for example.
10038 Absolute names may be required by some programs.
10041 \begin_layout Standard
10042 Second, LaTeX treats relative file names differently than LyX and other
10043 programs in nested included files.
10044 For LyX, a relative file name is always relative to the document that contains
10046 For LaTeX, it is always relative to the master document.
10047 These two definitions are identical if you have only one document, but
10048 differ if you have a master document that includes part documents.
10049 That means that relative filenames must be transformed when presented to
10051 Fortunately LyX does this automatically for you if you choose the right
10055 \begin_layout Standard
10056 So which path macro should be used in new template definitions? The rule
10060 \begin_layout Itemize
10065 if an absolute path is required.
10068 \begin_layout Itemize
10071 $$AbsOrRelPathMaster
10073 if the substituted string is some kind of LaTeX input.
10076 \begin_layout Itemize
10079 $$AbsOrRelPathParent
10081 in order to preserve the user's choice.
10084 \begin_layout Standard
10085 There are special cases where this rule does not work and e.g.\InsetSpace ~
10087 are needed, but normally it will work just fine.
10088 One example for such a case is the command
10090 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
10092 in the XFig template above: We can't use the absolute name because the
10097 files needs the relative name in order to rewrite the file content.
10100 \begin_layout Section
10101 Security discussion
10104 \begin_layout Standard
10105 \begin_inset Note Note
10108 \begin_layout Standard
10109 This section is outdated
10114 The external material feature interfaces with a lot of external programs
10115 and does so automatically, so we have to consider the security implications
10117 In particular, since you have the option of including your own filenames
10118 and/or parameter strings and those are expanded into a command, it seems
10119 that it would be possible to create a malicious document which executes
10120 arbitrary commands when a user views or prints the document.
10121 This is something we definately want to avoid.
10124 \begin_layout Standard
10125 However, since the external program commands are specified in the template
10126 configuration file only, there are no security issues if LyX is properly
10127 configured with safe templates only.
10128 This is so because the external programs are invoked with the
10132 -system call rather than the
10136 system-call, so it's not possible to execute arbitrary commands from the
10137 filename or parameter section via the shell.
10140 \begin_layout Standard
10141 This also implies that you are restricted in what command strings you can
10142 use in the external material templates.
10143 In particular, pipes and redirection are not readily available.
10144 This has to be so if LyX should remain safe.
10145 If you want to use some of the shell features, you should write a safe
10146 script to do this in a controlled manner, and then invoke the script from
10147 the command string.
10152 directory of the LyX installation, you can find a safe wrapper script
10154 general_command_wrapper.py
10156 that supports redirection of input and output.
10157 That can serve as an example for how to write safe template scripts.
10158 For a more advanced example that uses
10162 and friends, take a look at the
10169 \begin_layout Standard
10170 It is possible to design a template that interacts directly with the shell,
10171 but since this would allow a malicious user to execute arbitrary commands
10172 by writing clever filenames and/or parameters, we generally recommend that
10173 you only use safe scripts that work with the
10177 system call in a controlled manner.
10178 Of course, for use in a controlled environment, it can be tempting to just
10179 fall back to use ordinary shell scripts.
10180 If you do so, be aware that you
10184 provide an easily exploitable security hole in your system.
10185 Of course it stands to reason that such unsafe templates will never be
10186 included in the standard LyX distribution, although we do encourage people
10187 to submit new templates in the open source tradition.
10188 But LyX as shipped from the official distribution channels will never have
10192 \begin_layout Standard
10193 Including external material provides a lot of power, and you have to be
10194 careful not to introduce security hazards with this power.
10195 A subtle error in a single line in an innocent looking script can open
10196 the door to huge security problems.
10197 So if you do not fully understand the issues, we recommend that you consult
10198 a knowledgable security professional or the LyX development team if you
10199 have any questions about whether a given template is safe or not.
10200 And do this before you use it in an uncontrolled environment.
10203 \begin_layout Chapter
10207 \begin_layout Section
10211 \begin_layout Standard
10212 The LyX server is a method implemented in LyX that will enable other programs
10213 to talk to LyX, invoke LyX commands, and retrieve information about the
10214 LyX internal state.
10215 This is only intended for advanced users, but they should find it useful.
10218 \begin_layout Section
10219 Starting the LyX Server
10222 \begin_layout Standard
10223 The LyX server works through the use of a pair of named pipes.
10224 These are usually located in your home directory and have the names
10225 \begin_inset Quotes eld
10233 \begin_inset Quotes erd
10237 \begin_inset Quotes eld
10245 \begin_inset Quotes erd
10249 External programs write into
10253 and read back data from
10258 The stem of the pipe names can be defined in the
10263 ools\SpecialChar \menuseparator
10270 dialog, for example
10272 "/home/myhome/.lyxpipe"
10277 \begin_layout Standard
10286 ' to create the pipes.
10287 The above setting also has the effect of activating the LyX server.
10288 If one of the pipes already exists, LyX will assume that another LyX process
10289 is already running and will not start the server.
10290 To have several LyX processes with servers at the same time, you have to
10291 change the configuration between the start of the programs.
10294 \begin_layout Standard
10295 If you are developing a client program, you might find it useful to enable
10296 debugging information from the LyX server.
10297 Do this by starting LyX as
10299 lyx -dbg lyxserver.
10302 \begin_layout Standard
10303 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10304 case you must remove them manually.
10305 If LyX starts and the pipes exist already, it will not start any server.
10308 \begin_layout Standard
10309 Other than this, there are a few points to consider:
10312 \begin_layout Itemize
10313 Both server and clients must run on UNIX or OS/2 machines.
10314 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10315 not possible right now.
10318 \begin_layout Itemize
10319 On OS/2, only one client can connect to LyXServer at a time.
10322 \begin_layout Itemize
10323 On OS/2, clients must open inpipe with
10330 \begin_layout Standard
10331 You can find a complete example client written in C in the source distribution
10334 development/server_monitor.c
10339 \begin_layout Section
10340 Normal communication
10343 \begin_layout Standard
10344 To issue a LyX call, the client writes a line of ASCII text into the input
10346 This line has the following format:
10349 \begin_layout Quote
10363 \begin_layout Standard
10368 is a name that the client can choose arbitrarily.
10369 Its only use is that LyX will echo it if it sends an answer - so a client
10370 can dispatch results from different requesters.
10373 \begin_layout Standard
10378 is the function you want LyX to perform.
10379 It is the same as the commands you'd use in the minibuffer.
10382 \begin_layout Standard
10387 is an optional argument which is meaningful only to some functions (for
10389 \begin_inset Quotes eld
10393 \begin_inset Quotes erd
10396 which will insert the argument as text at the cursor position.)
10399 \begin_layout Standard
10400 The answer from LyX will arrive in the output pipe and be of the form
10403 \begin_layout Quote
10417 \begin_layout Standard
10426 are just echoed from the command request, while
10430 is more or less useful information filled according to how the command
10431 execution worked out.
10432 Some commands will return information about the internal state of LyX,
10434 \begin_inset Quotes eld
10438 \begin_inset Quotes erd
10441 , while other will return an empty data-response.
10442 This means that the command execution went fine.
10445 \begin_layout Standard
10446 In case of errors, the response from LyX will have this form
10449 \begin_layout Quote
10463 \begin_layout Standard
10468 should contain an explanation of why the command failed.
10471 \begin_layout Standard
10475 \begin_layout LyX-Code
10476 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10479 \begin_layout LyX-Code
10480 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10482 read a <~/.lyxpipe.out
10487 \begin_layout Section
10491 \begin_layout Standard
10492 LyX can notify clients of events going on asynchronously.
10493 Currently it will only do this if the user binds a key sequence with the
10495 \begin_inset Quotes eld
10499 \begin_inset Quotes erd
10503 The format of the string LyX sends is as follows:
10506 \begin_layout Quote
10515 \begin_layout Standard
10520 is the printed representation of the key sequence that was actually typed
10524 \begin_layout Standard
10525 This mechanism can be used to extend LyX's command set and implement macros:
10526 bind some key sequence to
10527 \begin_inset Quotes eld
10531 \begin_inset Quotes erd
10534 , start a client that listens on the out pipe, dispatches the command according
10535 to the sequence and starts a function that may use LyX calls and LyX requests
10536 to issue a command or a series of commands to LyX.
10539 \begin_layout Section
10540 The simple LyX Server Protocol
10543 \begin_layout Standard
10544 LyX implements a simple protocol that can be used for session management.
10545 All messages are of the form
10548 \begin_layout Quote
10558 \begin_layout Standard
10564 \begin_inset Quotes eld
10568 \begin_inset Quotes erd
10572 \begin_inset Quotes eld
10576 \begin_inset Quotes erd
10581 \begin_inset Quotes eld
10585 \begin_inset Quotes erd
10588 is received from a client, LyX will report back to inform the client that
10589 it's listening to it's messages, while
10590 \begin_inset Quotes eld
10594 \begin_inset Quotes erd
10597 sent from LyX will inform clients that LyX is closing.
10600 \begin_layout Chapter
10605 \begin_layout Standard
10606 This appendix is a huge cross-reference to all the English language keybindings.
10607 Originally, we simply wanted to list all of the key bindings followed by
10608 the function it's bound to.
10609 That way, a user can look up a key to find out what it does.
10610 We then decided, what the hey, why not include the default toolbar and
10611 menu bindings, too.
10612 Please note this section is likely to be very out of date.
10615 \begin_layout Standard
10616 The form is really self-explanatory, but here are a few tips: all entries
10617 are arranged roughly alphabetically for a given modifier (
10626 For the general keyboard layout, simpler prefixes precede the more complex
10636 All entries were gleaned from the default user interface and binding files
10637 located in the directories
10639 \SpecialChar \ldots{}
10644 \SpecialChar \ldots{}
10647 ; they should be treated as the final word on the bindings.
10650 \begin_layout Standard
10651 As a final note, be aware that some window managers (such as FVWM) take
10652 control of some of the function keys or motion keys.
10657 is listed here as generating
10661 , but FVWM grabs it and uses it to change virtual desktops instead.
10662 Very annoying unless you instruct your window manager to stop intercepting
10666 \begin_layout Section
10670 \begin_layout LyX-Code
10674 \begin_layout LyX-Code
10678 \begin_layout LyX-Code
10682 \begin_layout LyX-Code
10683 Icon "buffer-write"
10686 \begin_layout LyX-Code
10687 Icon "buffer-print"
10690 \begin_layout LyX-Code
10694 \begin_layout LyX-Code
10698 \begin_layout LyX-Code
10702 \begin_layout LyX-Code
10706 \begin_layout LyX-Code
10710 \begin_layout LyX-Code
10714 \begin_layout LyX-Code
10718 \begin_layout LyX-Code
10722 \begin_layout LyX-Code
10726 \begin_layout LyX-Code
10730 \begin_layout LyX-Code
10734 \begin_layout LyX-Code
10738 \begin_layout LyX-Code
10739 Icon "footnote-insert"
10742 \begin_layout LyX-Code
10743 Icon "marginpar-insert"
10746 \begin_layout LyX-Code
10750 \begin_layout LyX-Code
10754 \begin_layout LyX-Code
10755 Icon "figure-insert"
10758 \begin_layout LyX-Code
10759 Icon "dialog-tabular-insert"
10762 \begin_layout LyX-Code
10766 \begin_layout Section
10770 \begin_layout Standard
10771 Note that the following bindings are for LyX with English menus.
10772 The second character of the binding depends on the menu language.
10774 \begin_inset Quotes eld
10782 \begin_inset Quotes erd
10785 is with German menus
10786 \begin_inset Quotes eld
10794 \begin_inset Quotes erd
10798 To find out the shortcuts of your language press the Meta (Alt)-key and
10799 press then the keys of the underlined characters of the menu names.
10802 \begin_layout Subsection
10807 \labelwidthstring 00.00.0000
10819 \labelwidthstring 00.00.0000
10831 \labelwidthstring 00.00.0000
10843 \labelwidthstring 00.00.0000
10857 \labelwidthstring 00.00.0000
10869 \labelwidthstring 00.00.0000
10883 \labelwidthstring 00.00.0000
10895 \labelwidthstring 00.00.0000
10907 \labelwidthstring 00.00.0000
10919 \labelwidthstring 00.00.0000
10931 \labelwidthstring 00.00.0000
10939 buffer-new-template
10943 \labelwidthstring 00.00.0000
10958 \labelwidthstring 00.00.0000
10969 \labelwidthstring 00.00.0000
10980 \labelwidthstring 00.00.0000
10991 \labelwidthstring 00.00.0000
11002 \labelwidthstring 00.00.0000
11013 \labelwidthstring 00.00.0000
11025 \labelwidthstring 00.00.0000
11036 \begin_layout Subsection
11041 \labelwidthstring 00.00.0000
11053 \labelwidthstring 00.00.0000
11065 \labelwidthstring 00.00.0000
11077 \labelwidthstring 00.00.0000
11089 \labelwidthstring 00.00.0000
11101 \labelwidthstring 00.00.0000
11113 \labelwidthstring 00.00.0000
11128 \labelwidthstring 00.00.0000
11135 tabular-feature append-row
11139 \labelwidthstring 00.00.0000
11146 tabular-feature toggle-line-bottom
11150 \labelwidthstring 00.00.0000
11157 tabular-feature align-center
11161 \labelwidthstring 00.00.0000
11168 tabular-feature delete-column
11172 \labelwidthstring 00.00.0000
11179 tabular-feature align-left
11183 \labelwidthstring 00.00.0000
11190 tabular-feature align-right
11194 \labelwidthstring 00.00.0000
11201 tabular-feature toggle-line-left
11205 \labelwidthstring 00.00.0000
11212 tabular-feature multicolumn
11216 \labelwidthstring 00.00.0000
11223 tabular-feature valign-center
11227 \labelwidthstring 00.00.0000
11234 tabular-feature valign-top
11238 \labelwidthstring 00.00.0000
11245 tabular-feature toggle-line-right
11249 \labelwidthstring 00.00.0000
11256 tabular-feature toggle-line-top
11260 \labelwidthstring 00.00.0000
11267 tabular-feature append-column
11271 \labelwidthstring 00.00.0000
11278 tabular-feature valign-bottom
11282 \labelwidthstring 00.00.0000
11289 tabular-feature delete-row
11294 \labelwidthstring 00.00.0000
11307 \labelwidthstring 00.00.0000
11314 floats-operate openfoot
11318 \labelwidthstring 00.00.0000
11325 floats-operate closefoot
11329 \labelwidthstring 00.00.0000
11336 floats-operate openfig
11340 \labelwidthstring 00.00.0000
11351 \labelwidthstring 00.00.0000
11362 \labelwidthstring 00.00.0000
11369 floats-operate closefig
11374 \labelwidthstring 00.00.0000
11386 \labelwidthstring 00.00.0000
11400 \labelwidthstring 00.00.0000
11412 \labelwidthstring 00.00.0000
11424 \labelwidthstring 00.00.0000
11438 \labelwidthstring 00.00.0000
11450 \labelwidthstring 00.00.0000
11465 \labelwidthstring 00.00.0000
11472 primary-selection-paste
11476 \labelwidthstring 00.00.0000
11483 primary-selection-paste paragraph
11487 \begin_layout Subsection
11492 \labelwidthstring 00.00.0000
11507 \labelwidthstring 00.00.0000
11514 buffer-float-insert algorithm
11518 \labelwidthstring 00.00.0000
11525 buffer-float-insert wide-tab
11529 \labelwidthstring 00.00.0000
11536 buffer-float-insert figure
11540 \labelwidthstring 00.00.0000
11547 buffer-float-insert table
11551 \labelwidthstring 00.00.0000
11558 buffer-float-insert wide-fig
11563 \labelwidthstring 00.00.0000
11571 dialog-tabular-insert
11575 \labelwidthstring 00.00.0000
11587 \labelwidthstring 00.00.0000
11599 \labelwidthstring 00.00.0000
11607 buffer-child-insert
11611 \labelwidthstring 00.00.0000
11623 \labelwidthstring 00.00.0000
11635 \labelwidthstring 00.00.0000
11647 \labelwidthstring 00.00.0000
11659 \labelwidthstring 00.00.0000
11671 \labelwidthstring 00.00.0000
11683 \labelwidthstring 00.00.0000
11695 \labelwidthstring 00.00.0000
11710 \labelwidthstring 00.00.0000
11721 \labelwidthstring 00.00.0000
11732 \labelwidthstring 00.00.0000
11743 \labelwidthstring 00.00.0000
11754 \labelwidthstring 00.00.0000
11765 \labelwidthstring 00.00.0000
11777 \labelwidthstring 00.00.0000
11789 \labelwidthstring 00.00.0000
11804 \labelwidthstring 00.00.0000
11811 protected-space-insert
11815 \labelwidthstring 00.00.0000
11822 end-of-sentence-period-insert
11826 \labelwidthstring 00.00.0000
11837 \labelwidthstring 00.00.0000
11848 \labelwidthstring 00.00.0000
11859 \labelwidthstring 00.00.0000
11866 menu-separator-insert
11870 \labelwidthstring 00.00.0000
11877 hyphenation-point-insert
11881 \labelwidthstring 00.00.0000
11892 \labelwidthstring 00.00.0000
11899 command-sequence math-insert ^;math-mode;
11903 \labelwidthstring 00.00.0000
11910 command-sequence math-insert _;math-mode;
11915 \labelwidthstring 00.00.0000
11930 \labelwidthstring 00.00.0000
11937 file-insert-plaintext lines
11941 \labelwidthstring 00.00.0000
11948 file-insert-plaintext paragraphs
11952 \labelwidthstring 00.00.0000
11964 \labelwidthstring 00.00.0000
11976 \labelwidthstring 00.00.0000
11988 \labelwidthstring 00.00.0000
11999 \begin_layout Subsection
12004 \labelwidthstring 00.00.0000
12016 \labelwidthstring 00.00.0000
12028 \labelwidthstring 00.00.0000
12040 \labelwidthstring 00.00.0000
12052 \labelwidthstring 00.00.0000
12064 \labelwidthstring 00.00.0000
12076 \labelwidthstring 00.00.0000
12088 \labelwidthstring 00.00.0000
12100 \labelwidthstring 00.00.0000
12108 layout-save-default
12112 \labelwidthstring 00.00.0000
12124 \labelwidthstring 00.00.0000
12136 \labelwidthstring 00.00.0000
12147 \begin_layout Subsubsection
12150 Layout\SpecialChar \menuseparator
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
12421 \labelwidthstring 00.00.0000
12433 \labelwidthstring 00.00.0000
12445 \labelwidthstring 00.00.0000
12457 \labelwidthstring 00.00.0000
12469 \labelwidthstring 00.00.0000
12481 \labelwidthstring 00.00.0000
12493 \labelwidthstring 00.00.0000
12505 \labelwidthstring 00.00.0000
12517 \labelwidthstring 00.00.0000
12529 \labelwidthstring 00.00.0000
12540 \begin_layout Subsection
12544 \begin_layout Subsection
12548 \begin_layout Subsection
12552 \begin_layout Subsection
12557 \labelwidthstring 00.00.0000
12569 \labelwidthstring 00.00.0000
12581 \labelwidthstring 00.00.0000
12593 \labelwidthstring 00.00.0000
12605 \labelwidthstring 00.00.0000
12617 \labelwidthstring 00.00.0000
12625 layout ShortFoilhead
12629 \labelwidthstring 00.00.0000
12641 \labelwidthstring 00.00.0000
12653 \labelwidthstring 00.00.0000
12665 \labelwidthstring 00.00.0000
12677 \labelwidthstring 00.00.0000
12685 layout ShortRotatefoilhead
12689 \labelwidthstring 00.00.0000
12701 \labelwidthstring 00.00.0000
12713 \labelwidthstring 00.00.0000
12725 \labelwidthstring 00.00.0000
12733 drop-layouts-choice
12737 \labelwidthstring 00.00.0000
12752 \labelwidthstring 00.00.0000
12767 \labelwidthstring 00.00.0000
12779 \labelwidthstring 00.00.0000
12791 \labelwidthstring 00.00.0000
12799 layout Subsubsection
12803 \labelwidthstring 00.00.0000
12815 \labelwidthstring 00.00.0000
12823 layout Subparagraph
12827 \labelwidthstring 00.00.0000
12831 asterisk\InsetSpace ~
12840 \labelwidthstring 00.00.0000
12844 asterisk\InsetSpace ~
12853 \labelwidthstring 00.00.0000
12857 asterisk\InsetSpace ~
12866 \labelwidthstring 00.00.0000
12870 asterisk\InsetSpace ~
12879 \labelwidthstring 00.00.0000
12883 asterisk\InsetSpace ~
12888 layout Subsubsection*
12892 \labelwidthstring 00.00.0000
12896 asterisk\InsetSpace ~
12905 \labelwidthstring 00.00.0000
12909 asterisk\InsetSpace ~
12914 layout Subparagraph*
12918 \labelwidthstring 00.00.0000
12930 \labelwidthstring 00.00.0000
12938 layout Bibliography
12942 \labelwidthstring 00.00.0000
12954 \labelwidthstring 00.00.0000
12966 \labelwidthstring 00.00.0000
12978 \labelwidthstring 00.00.0000
12990 \labelwidthstring 00.00.0000
13002 \labelwidthstring 00.00.0000
13010 layout Rotatefoilhead
13014 \labelwidthstring 00.00.0000
13022 layout RightAddress
13026 \labelwidthstring 00.00.0000
13038 \labelwidthstring 00.00.0000
13050 \labelwidthstring 00.00.0000
13062 \labelwidthstring 00.00.0000
13073 \begin_layout Standard
13074 These ones are kept for backwards compatibility, but only make sense on
13079 \labelwidthstring 00.00.0000
13091 \labelwidthstring 00.00.0000
13099 layout Subsubsection*
13103 \labelwidthstring 00.00.0000
13114 \begin_layout Section
13118 \begin_layout Subsection
13125 \labelwidthstring 00.00.0000
13136 \labelwidthstring 00.00.0000
13147 \labelwidthstring 00.00.0000
13158 \labelwidthstring 00.00.0000
13169 \labelwidthstring 00.00.0000
13180 \labelwidthstring 00.00.0000
13191 \labelwidthstring 00.00.0000
13198 hyphenation-point-insert
13202 \labelwidthstring 00.00.0000
13213 \labelwidthstring 00.00.0000
13220 line-delete-forward
13224 \labelwidthstring 00.00.0000
13235 \labelwidthstring 00.00.0000
13246 \labelwidthstring 00.00.0000
13257 \labelwidthstring 00.00.0000
13268 \labelwidthstring 00.00.0000
13279 \labelwidthstring 00.00.0000
13290 \labelwidthstring 00.00.0000
13301 \labelwidthstring 00.00.0000
13312 \labelwidthstring 00.00.0000
13323 \labelwidthstring 00.00.0000
13334 \labelwidthstring 00.00.0000
13345 \labelwidthstring 00.00.0000
13356 \labelwidthstring 00.00.0000
13368 \labelwidthstring 00.00.0000
13380 \labelwidthstring 00.00.0000
13392 \labelwidthstring 00.00.0000
13404 \labelwidthstring 00.00.0000
13417 \labelwidthstring 00.00.0000
13429 \labelwidthstring 00.00.0000
13441 \labelwidthstring 00.00.0000
13453 \labelwidthstring 00.00.0000
13465 \labelwidthstring 00.00.0000
13478 \labelwidthstring 00.00.0000
13490 \labelwidthstring 00.00.0000
13502 \labelwidthstring 00.00.0000
13515 \labelwidthstring 00.00.0000
13528 \labelwidthstring 00.00.0000
13541 \labelwidthstring 00.00.0000
13554 \labelwidthstring 00.00.0000
13567 \labelwidthstring 00.00.0000
13580 \labelwidthstring 00.00.0000
13592 \labelwidthstring 00.00.0000
13604 \labelwidthstring 00.00.0000
13616 \labelwidthstring 00.00.0000
13624 menu-open Documents
13628 \labelwidthstring 00.00.0000
13640 \labelwidthstring 00.00.0000
13652 \labelwidthstring 00.00.0000
13664 \labelwidthstring 00.00.0000
13676 \labelwidthstring 00.00.0000
13688 \labelwidthstring 00.00.0000
13696 buffer-toggle-read-only
13700 \labelwidthstring 00.00.0000
13712 \labelwidthstring 00.00.0000
13724 \labelwidthstring 00.00.0000
13736 \labelwidthstring 00.00.0000
13747 \labelwidthstring 00.00.0000
13758 \labelwidthstring 00.00.0000
13769 \labelwidthstring 00.00.0000
13780 \labelwidthstring 00.00.0000
13791 \labelwidthstring 00.00.0000
13802 \labelwidthstring 00.00.0000
13813 \labelwidthstring 00.00.0000
13824 \labelwidthstring 00.00.0000
13835 \labelwidthstring 00.00.0000
13846 \labelwidthstring 00.00.0000
13857 \labelwidthstring 00.00.0000
13868 \labelwidthstring 00.00.0000
13879 \labelwidthstring 00.00.0000
13890 \labelwidthstring 00.00.0000
13897 word-delete-forward
13901 \labelwidthstring 00.00.0000
13908 word-delete-backward
13912 \labelwidthstring 00.00.0000
13923 \labelwidthstring 00.00.0000
13930 end-of-sentence-period-insert
13934 \labelwidthstring 00.00.0000
13941 protected-space-insert
13945 \labelwidthstring 00.00.0000
13956 \labelwidthstring 00.00.0000
13967 \labelwidthstring 00.00.0000
13978 \labelwidthstring 00.00.0000
13989 \labelwidthstring 00.00.0000
14000 \labelwidthstring 00.00.0000
14011 \labelwidthstring 00.00.0000
14018 buffer-begin-select
14022 \labelwidthstring 00.00.0000
14033 \labelwidthstring 00.00.0000
14040 paragraph-up-select
14044 \labelwidthstring 00.00.0000
14051 paragraph-down-select
14055 \labelwidthstring 00.00.0000
14062 word-backward-select
14066 \labelwidthstring 00.00.0000
14073 word-forward-select
14077 \labelwidthstring 00.00.0000
14088 \labelwidthstring 00.00.0000
14095 word-delete-forward
14099 \labelwidthstring 00.00.0000
14110 \labelwidthstring 00.00.0000
14121 \labelwidthstring 00.00.0000
14132 \labelwidthstring 00.00.0000
14143 \labelwidthstring 00.00.0000
14150 break-paragraph-keep-layout
14154 \labelwidthstring 00.00.0000
14164 \begin_layout Subsection
14171 \labelwidthstring 00.00.0000
14182 \labelwidthstring 00.00.0000
14193 \labelwidthstring 00.00.0000
14204 \labelwidthstring 00.00.0000
14215 \labelwidthstring 00.00.0000
14226 \labelwidthstring 00.00.0000
14237 \labelwidthstring 00.00.0000
14248 \labelwidthstring 00.00.0000
14259 \labelwidthstring 00.00.0000
14270 \labelwidthstring 00.00.0000
14281 \labelwidthstring 00.00.0000
14292 \labelwidthstring 00.00.0000
14303 \labelwidthstring 00.00.0000
14314 \labelwidthstring 00.00.0000
14325 \labelwidthstring 00.00.0000
14336 \labelwidthstring 00.00.0000
14347 \labelwidthstring 00.00.0000
14358 \labelwidthstring 00.00.0000
14369 \labelwidthstring 00.00.0000
14380 \labelwidthstring 00.00.0000
14391 \labelwidthstring 00.00.0000
14402 \labelwidthstring 00.00.0000
14413 \labelwidthstring 00.00.0000
14420 protected-space-insert
14424 \labelwidthstring 00.00.0000
14435 \labelwidthstring 00.00.0000
14446 \labelwidthstring 00.00.0000
14457 \labelwidthstring 00.00.0000
14464 buffer-new-template
14468 \labelwidthstring 00.00.0000
14479 \labelwidthstring 00.00.0000
14490 \labelwidthstring 00.00.0000
14501 \labelwidthstring 00.00.0000
14512 \labelwidthstring 00.00.0000
14523 \labelwidthstring 00.00.0000
14534 \labelwidthstring 00.00.0000
14545 \labelwidthstring 00.00.0000
14552 end-of-sentence-period-insert
14556 \labelwidthstring 00.00.0000
14567 \labelwidthstring 00.00.0000
14578 \labelwidthstring 00.00.0000
14585 hyphenation-point-insert
14589 \labelwidthstring 00.00.0000
14600 \labelwidthstring 00.00.0000
14607 protected-space-insert
14611 \labelwidthstring 00.00.0000
14622 \labelwidthstring 00.00.0000
14633 \labelwidthstring 00.00.0000
14644 \labelwidthstring 00.00.0000
14655 \labelwidthstring 00.00.0000
14666 \labelwidthstring 00.00.0000
14677 \labelwidthstring 00.00.0000
14688 \labelwidthstring 00.00.0000
14699 \labelwidthstring 00.00.0000
14710 \labelwidthstring 00.00.0000
14721 \labelwidthstring 00.00.0000
14732 \labelwidthstring 00.00.0000
14743 \labelwidthstring 00.00.0000
14754 \labelwidthstring 00.00.0000
14765 \labelwidthstring 00.00.0000
14776 \labelwidthstring 00.00.0000
14783 word-delete-forward
14787 \labelwidthstring 00.00.0000
14794 word-delete-backward
14798 \labelwidthstring 00.00.0000
14809 \labelwidthstring 00.00.0000
14820 \labelwidthstring 00.00.0000
14831 \labelwidthstring 00.00.0000
14842 \labelwidthstring 00.00.0000
14849 paragraph-down-select
14853 \labelwidthstring 00.00.0000
14864 \labelwidthstring 00.00.0000
14871 buffer-begin-select
14875 \labelwidthstring 00.00.0000
14882 word-backward-select
14886 \labelwidthstring 00.00.0000
14893 word-forward-select
14897 \labelwidthstring 00.00.0000
14904 paragraph-up-select
14908 \labelwidthstring 00.00.0000
14919 \labelwidthstring 00.00.0000
14926 break-paragraph-keep-layout
14930 \labelwidthstring 00.00.0000
14941 \labelwidthstring 00.00.0000
14952 \labelwidthstring 00.00.0000
14963 \labelwidthstring 00.00.0000
14974 \labelwidthstring 00.00.0000
14985 \labelwidthstring 00.00.0000
14996 \labelwidthstring 00.00.0000
15007 \labelwidthstring 00.00.0000
15018 \labelwidthstring 00.00.0000
15029 \labelwidthstring 00.00.0000
15040 \labelwidthstring 00.00.0000
15050 \begin_layout Subsection
15056 \begin_layout Standard
15057 These are LyX keyboard definitions for mathematics, similar to those of
15061 \begin_layout Standard
15062 The bindings file and the present documentation were prepared by Serge Winitzki
15063 with assistance from Jean-Marc Lasgouttes.
15064 Version 1.3, for LyX 1.2.x and 1.3.x.
15067 \begin_layout Standard
15068 These definitions make it a lot easier to type equations without using the
15069 mouse, especially for people familiar with Scientific Word.
15070 The standard LyX bindings such as
15081 \begin_layout Standard
15082 Tip: to find the "LyX bind name" for a key, look at the status bar after
15083 typing some non-existent key combination.
15085 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
15086 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
15090 \labelwidthstring 00.00.0000
15099 -- Copy, cut, paste is as in Sciword,
15115 \labelwidthstring 00.00.0000
15124 -- Display equation toggle: type
15128 to insert a displayed formula (
15133 \begin_inset Quotes eld
15137 \begin_inset Quotes erd
15145 in a displayed formula to convert it back to an inline formula.
15149 \labelwidthstring 00.00.0000
15164 to insert a fraction (
15169 \begin_inset Quotes eld
15173 \begin_inset Quotes erd
15177 You can also select an expression and type
15181 to convert it to the numerator of a fraction.
15190 end of the denominator will delete the numerator and convert the denominator
15195 \labelwidthstring 00.00.0000
15207 \begin_inset Formula $\int$
15215 \begin_inset Quotes eld
15219 \begin_inset Quotes erd
15226 \labelwidthstring 00.00.0000
15233 line-delete-forward
15235 -- Emacs-like binding: delete forward of cursor to end of line.
15239 \labelwidthstring 00.00.0000
15248 -- A text/math toggle (
15253 \begin_inset Quotes eld
15257 \begin_inset Quotes erd
15260 ): switches to math in text mode, and also inserts roman text in math mode.
15270 \begin_inset Quotes eld
15274 \begin_inset Quotes erd
15281 \labelwidthstring 00.00.0000
15290 -- Add/remove numbering in a single equation.
15294 \labelwidthstring 00.00.0000
15303 -- Add/remove numbering at a line in equation arrays.
15306 \begin_layout Standard
15307 The above commands are toggles that control the numbering of equations (
15312 \begin_inset Quotes eld
15316 \begin_inset Quotes erd
15320 Note: when deleting a number in a labeled eqnarray, the label is not really
15321 removed (the TeX code becomes
15322 \begin_inset Quotes eld
15334 \begin_inset Quotes erd
15337 ) and this generates a (harmless) LaTeX warning.
15341 \labelwidthstring 00.00.0000
15350 -- Open a new document.
15355 \labelwidthstring 00.00.0000
15364 -- Insert a quote character " (
15369 \begin_inset Quotes eld
15373 \begin_inset Quotes erd
15378 \begin_inset Quotes eld
15382 \begin_inset Quotes erd
15385 double quote character that you get by default.
15389 \labelwidthstring 00.00.0000
15400 -- Square root sign
15401 \begin_inset Formula $\sqrt{x}$
15409 \begin_inset Quotes eld
15413 \begin_inset Quotes erd
15420 \labelwidthstring 00.00.0000
15432 \begin_inset Formula $\sqrt[n]{x}$
15439 \labelwidthstring 00.00.0000
15448 -- Another binding for a switch between the text and the math mode (
15453 \begin_inset Quotes eld
15457 \begin_inset Quotes erd
15461 Note that the roman text inserted in math mode is special.
15465 \labelwidthstring 00.00.0000
15478 the selected text (text mode only, use things like
15494 \labelwidthstring 00.00.0000
15503 -- W*ndows heritage.
15507 \labelwidthstring 00.00.0000
15516 -- Close the current document (again, a W*ndows heritage).
15520 \labelwidthstring 00.00.0000
15531 \labelwidthstring 00.00.0000
15542 \labelwidthstring 00.00.0000
15552 \begin_inset Quotes eld
15556 \begin_inset Quotes erd
15560 \begin_inset Quotes eld
15564 \begin_inset Quotes erd
15570 \begin_layout Standard
15571 Bracket delimiters: press
15575 -<bracket key> to insert a matching pair of delimiters.
15580 inserts a pair of parentheses
15581 \begin_inset Formula $\left[\right]$
15589 does the same thing.) It will switch to math mode if needed.
15590 The supported characters are ( [ { < |.
15591 It is the same to press the right or the left bracket.
15592 The corresponding delimiters are
15593 \begin_inset Formula $\left(\right)$
15597 \begin_inset Formula $\left[\right]$
15601 \begin_inset Formula $\left\{ \right\} $
15605 \begin_inset Formula $\left\langle \right\rangle $
15609 \begin_inset Formula $\left|\right|$
15614 \begin_inset Quotes eld
15618 \begin_inset Quotes erd
15621 and resize with their contents.
15622 Use Math Panel to get other or non-matching delimiters.
15623 Press backspace on the
15627 delimiter to remove both
15628 \begin_inset Quotes eld
15632 \begin_inset Quotes erd
15635 delimiters without removing their contents.
15639 \labelwidthstring 00.00.0000
15648 -- for convenience, pressing
15662 \labelwidthstring 00.00.0000
15673 \labelwidthstring 00.00.0000
15684 \labelwidthstring 00.00.0000
15695 \labelwidthstring 00.00.0000
15706 \labelwidthstring 00.00.0000
15717 \labelwidthstring 00.00.0000
15724 math-delim langle rangle
15726 -- angular delimiters
15727 \begin_inset Formula $\left\langle \right\rangle $
15730 , not to confuse with ordinary < > signs.
15734 \labelwidthstring 00.00.0000
15741 math-delim langle rangle
15744 \begin_layout Standard
15745 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15746 some British ones), the bar character
15751 -something and on some wayward Unices to "brokenbar".
15752 So we define all of these keys as well.
15756 \labelwidthstring 00.00.0000
15767 \labelwidthstring 00.00.0000
15778 \labelwidthstring 00.00.0000
15789 \labelwidthstring 00.00.0000
15800 \labelwidthstring 00.00.0000
15810 \begin_layout Standard
15811 Accents are in most cases
15815 -<accent key>, e.g.\InsetSpace ~
15829 for tilde (you also need to press
15835 \begin_inset Quotes eld
15847 \begin_inset Quotes erd
15851 Some accents work only in math mode and others only in text mode.
15855 \labelwidthstring 00.00.0000
15864 -- overdot accent, ȧ (text mode only).
15868 \labelwidthstring 00.00.0000
15880 \begin_inset Formula $\dot{a}$
15883 (math mode only -- in physics this denotes a first derivative).
15887 \labelwidthstring 00.00.0000
15898 -- Vector accent over math
15899 \begin_inset Formula $\overrightarrow{x}$
15906 \labelwidthstring 00.00.0000
15915 -- umlaut accent, ä (text mode only)
15919 \labelwidthstring 00.00.0000
15930 -- double dot accent,
15931 \begin_inset Formula $\ddot{a}$
15934 (math mode only -- in physics this denotes a second derivative).
15935 To get a triple dot in math mode, use
15943 \labelwidthstring 00.00.0000
15952 -- grave accent à (text mode only, use
15962 \labelwidthstring 00.00.0000
15971 -- tilde accent ã (text mode only, use
15981 \labelwidthstring 00.00.0000
15990 -- acute accent á (text mode only, use
16000 \labelwidthstring 00.00.0000
16009 -- circumflex (caret) accent â (text mode only, use
16018 \begin_layout Standard
16020 The new key S-F2 for creating a LaTeX file seems handy.
16024 \labelwidthstring 00.00.0000
16033 -- Save current document.
16037 \labelwidthstring 00.00.0000
16044 buffer-export latex
16046 -- Write a LaTeX file for the current document.
16050 \labelwidthstring 00.00.0000
16059 -- Find and replace dialog.
16063 \labelwidthstring 00.00.0000
16080 \labelwidthstring 00.00.0000
16093 to quit LyX is the W*ndows w*ndow manager's mnemonic.
16096 \begin_layout Standard
16105 are used to switch fonts.
16110 to switch back to the normal font.
16111 The non-default font switches
16119 all work as toggles.
16120 They also work on the whole word if you put the cursor in the middle of
16121 the word, or if you select some text.
16125 \labelwidthstring 00.00.0000
16134 -- stop using any special font
16138 \labelwidthstring 00.00.0000
16155 \labelwidthstring 00.00.0000
16172 \labelwidthstring 00.00.0000
16189 \labelwidthstring 00.00.0000
16203 (Used sometimes for people's names.)
16206 \begin_layout Standard
16212 \begin_inset Quotes eld
16216 \begin_inset Quotes erd
16223 key (useful e.g.\InsetSpace ~
16224 if the keyboard has no working
16231 \begin_layout Standard
16232 Here are some Sciword-inspired mnemonics for frequently used math symbols.
16233 Many symbols start with a
16242 cannot be itself bound to anything.
16246 \labelwidthstring 00.00.0000
16258 \begin_inset Quotes eld
16262 \begin_inset Quotes erd
16266 \begin_inset Formula $\prime$
16270 This is frequently unnecessary: in most cases the normal apostrophe works
16273 \begin_inset Formula $x'+2x=0$
16276 , but in some cases this would generate a double superscript error in LaTeX.
16278 \begin_inset Formula $x^{\prime2}$
16282 \begin_inset Formula $x$
16285 prime squared) must be entered with the prime character.
16289 \labelwidthstring 00.00.0000
16297 command-sequence math-superscript; math-insert
16301 -- Insert a prime as a superscript (see example above).
16305 \labelwidthstring 00.00.0000
16314 -- Insert an upper index.
16321 \labelwidthstring 00.00.0000
16330 -- Insert a lower index.
16337 \labelwidthstring 00.00.0000
16349 -- Partial derivative symbol
16350 \begin_inset Formula $\partial$
16357 \labelwidthstring 00.00.0000
16369 -- Summation symbol
16370 \begin_inset Formula $\sum$
16373 (not the same as the Greek letter uppercase Sigma
16374 \begin_inset Formula $\Sigma$
16377 because it can resize and allows smart upper/lower limits).
16381 \labelwidthstring 00.00.0000
16394 \begin_inset Formula $\prod$
16397 (not the same as the Greek letter uppercase Pi,
16398 \begin_inset Formula $\Pi$
16405 \labelwidthstring 00.00.0000
16418 \begin_inset Formula $\infty$
16425 \labelwidthstring 00.00.0000
16438 \begin_inset Formula $\times$
16445 \labelwidthstring 00.00.0000
16455 -- Insert a stacked array
16456 \begin_inset Formula $\begin{array}{c}
16458 \end{array}\end{array}$
16462 (Frequently useful in formulae.)
16466 \labelwidthstring 00.00.0000
16477 \begin_inset Formula $\times$
16481 \begin_inset Formula $\begin{array}{ccc}
16486 (Then you can modify its size using the
16488 Edit\SpecialChar \menuseparator
16495 \labelwidthstring 00.00.0000
16508 \begin_inset Quotes eld
16512 \begin_inset Quotes erd
16516 \begin_inset Formula $\dagger$
16523 \labelwidthstring 00.00.0000
16536 \begin_inset Quotes eld
16540 \begin_inset Quotes erd
16544 \begin_inset Formula $\equiv$
16551 \labelwidthstring 00.00.0000
16563 \begin_inset Quotes eld
16566 Approximate equality
16567 \begin_inset Quotes erd
16571 \begin_inset Formula $\approx$
16578 \labelwidthstring 00.00.0000
16590 \begin_inset Quotes eld
16594 \begin_inset Quotes erd
16598 \begin_inset Formula $\sim$
16605 \labelwidthstring 00.00.0000
16617 \begin_inset Formula $\rightarrow$
16621 \begin_inset Formula $\lim_{x\rightarrow0}$
16628 \labelwidthstring 00.00.0000
16640 \begin_inset Formula $\leq$
16647 \labelwidthstring 00.00.0000
16658 -- Greater-or-equal
16659 \begin_inset Formula $\geq$
16666 \labelwidthstring 00.00.0000
16679 \begin_inset Quotes eld
16683 \begin_inset Quotes erd
16687 \begin_inset Formula $\ll$
16690 (useful in physics)
16694 \labelwidthstring 00.00.0000
16707 \begin_inset Quotes eld
16711 \begin_inset Quotes erd
16715 \begin_inset Formula $\gg$
16721 \begin_layout Subsection
16722 Standard math bindings
16726 \labelwidthstring 00.00.0000
16740 \labelwidthstring 00.00.0000
16752 \labelwidthstring 00.00.0000
16764 \labelwidthstring 00.00.0000
16778 \labelwidthstring 00.00.0000
16790 \labelwidthstring 00.00.0000
16802 \labelwidthstring 00.00.0000
16816 \labelwidthstring 00.00.0000
16828 \labelwidthstring 00.00.0000
16840 \labelwidthstring 00.00.0000
16852 \labelwidthstring 00.00.0000
16866 \labelwidthstring 00.00.0000
16880 \labelwidthstring 00.00.0000
16894 \labelwidthstring 00.00.0000
16908 \labelwidthstring 00.00.0000
16922 \labelwidthstring 00.00.0000
16936 \labelwidthstring 00.00.0000
16948 \labelwidthstring 00.00.0000
16962 \labelwidthstring 00.00.0000
16974 \labelwidthstring 00.00.0000
16986 \labelwidthstring 00.00.0000
16998 \labelwidthstring 00.00.0000
17010 \labelwidthstring 00.00.0000
17024 \labelwidthstring 00.00.0000
17036 \labelwidthstring 00.00.0000
17048 \labelwidthstring 00.00.0000
17060 \labelwidthstring 00.00.0000
17068 math-delim langle rangle
17072 \labelwidthstring 00.00.0000
17080 math-delim rangle langle
17084 \labelwidthstring 00.00.0000
17096 \labelwidthstring 00.00.0000
17110 \labelwidthstring 00.00.0000
17123 \begin_layout Subsection
17128 \labelwidthstring 00.00.0000
17140 \labelwidthstring 00.00.0000
17152 \labelwidthstring 00.00.0000
17164 \labelwidthstring 00.00.0000
17176 \labelwidthstring 00.00.0000