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
51 Customizing LyX: Features for the Advanced User
59 \begin_layout Standard
61 Principal maintainer of this file is
66 If you have comments or error corrections, please send them to the LyX
67 Documentation mailing list, <lyx-docs@lists.lyx.org>.
75 \begin_layout Standard
76 \begin_inset LatexCommand tableofcontents
87 \begin_layout Standard
88 This manual covers the customization features present in LyX.
89 In it, we discuss issues like keyboard shortcuts, screen previewing options,
90 printer options, sending commands to LyX via the LyX Server, internationalizati
91 on, installing new LaTeX classes and LyX layouts, etc.
92 We can't possibly hope to touch on everything you can change---our developers
93 add new features faster than we can document them---but we will explain
94 the most common customizations and hopefully point you in the right direction
95 for some of the more obscure ones.
99 LyX configuration files
102 \begin_layout Standard
103 \begin_inset LatexCommand label
108 This chapter aims to help you to find your way through the LyX configuration
110 Before continuing to read this chapter, you should find out where your
111 LyX library directory is by using
116 elp\SpecialChar \menuseparator
124 This directory is the place where LyX places its system-wide configuration
125 files, and we will simply name it
129 in the remainder of this document.
133 \begin_layout Section
141 \begin_layout Standard
146 and its sub-directories contain a number of files and that can be used
147 to customise LyX's behaviour.
148 You can change many of these files from within LyX itself through the
153 ools\SpecialChar \menuseparator
161 Most customization that you might want to do to LyX is possible through
163 However, many other inner aspects of LyX can be customized by modifying
169 They fall in different categories, described in the following subsections.
172 \begin_layout Subsection
173 Automatically generated files
176 \begin_layout Standard
177 These files are generated when you configure LyX.
178 They contain various default values that are guessed by inspection.
179 In general, it is not a good idea to modify them, since they might be overwritt
184 \labelwidthstring 00.00.0000
191 contains defaults for various commands.
195 \labelwidthstring 00.00.0000
202 contains the list of packages that have been recognized by LyX.
203 It is currently unused by the LyX program itself, but the information extracted
204 , and more, is made available with
209 elp\SpecialChar \menuseparator
221 \labelwidthstring 00.00.0000
228 is the list of text classes that have been found in your
232 directory, along with the associated LaTeX document class and their description.
236 \labelwidthstring 00.00.0000
241 is automatically generated during configuration from the file
248 \begin_layout Subsection
253 \labelwidthstring 00.00.0000
260 this directory contains files with the extension
264 that define the keybindings used in LyX (see section\InsetSpace ~
266 \begin_inset LatexCommand ref
267 reference "sec:bindings"
272 If there exists an internationalized version of the bind file named
276 , that will be used first.
277 See Chapter\InsetSpace ~
279 \begin_inset LatexCommand ref
280 reference "chap:i18n"
285 \begin_inset LatexCommand ref
286 reference "sec:bindings"
294 \labelwidthstring 00.00.0000
301 contains graphics files that can be included in documents.
306 \labelwidthstring 00.00.0000
313 contains LyX documentation files (including the one you are currently reading).
318 deserves special attention, as noted above.
319 If there exists an internationalized version of the help-document with
324 prepended to the name, that will be used first.
325 See Chapter\InsetSpace ~
327 \begin_inset LatexCommand ref
328 reference "chap:i18n"
336 \labelwidthstring 00.00.0000
343 contains example files that explain how to use some features.
344 In the file browser, press the
352 \labelwidthstring 00.00.0000
357 contains image files that are used by the
362 In addition, it also contains the individual icons used in the toolbar
363 and the banners that can be shown when LyX is launched.
367 \labelwidthstring 00.00.0000
374 contains keyboard keymapping files.
375 See Chapter\InsetSpace ~
377 \begin_inset LatexCommand ref
378 reference "sec:keymap"
386 \labelwidthstring 00.00.0000
393 contains the text class files described in Chapter\InsetSpace ~
395 \begin_inset LatexCommand ref
396 reference "chap:textclass"
404 \labelwidthstring 00.00.0000
409 contains some files that demonstrate the capabilities of the
411 External\InsetSpace ~
418 \labelwidthstring 00.00.0000
423 contains the standard LyX template files described in Chapter\InsetSpace ~
425 \begin_inset LatexCommand ref
426 reference "sec:templates"
434 \labelwidthstring 00.00.0000
439 contains some LaTeX cls files distributed with LyX.
443 \labelwidthstring 00.00.0000
448 contains files with the extension
452 that define the user interface to LyX.
453 That is, the files define which items appear in which menus and the items
454 appearing on the toolbar.
455 See Chapter\InsetSpace ~
457 \begin_inset LatexCommand ref
465 \begin_layout Subsection
466 Files you don't want to modify
469 \begin_layout Standard
470 These files are used internally by LyX and you generally do not need to
471 modify them unless you are a developer.
475 \labelwidthstring 00.00.0000
482 this file contains the list of LyX developers.
483 The contents are displayed with the menu entry
488 elp\SpecialChar \menuseparator
496 \labelwidthstring 00.00.0000
503 this is a LaTeX script used during the configuration process.
508 \labelwidthstring 00.00.0000
515 this is the script that is used to re-configure LyX.
516 It creates configuration files in the directory it was run from.
519 \begin_layout Subsection
520 Other files needing a line or two...
524 \labelwidthstring 00.00.0000
529 this contains tables describing how different character encodings can be
534 \labelwidthstring 00.00.0000
539 this file contains the templates available to the new
541 External\InsetSpace ~
548 \labelwidthstring 00.00.0000
553 this file contains a list of all the languages currently supported by LyX.
556 \begin_layout Section
557 Your local configuration directory
560 \begin_layout Standard
561 Even if you are using LyX as an unprivileged user, you might want to change
562 LyX configuration for your own use.
567 directory contains all your personal configuration files.
568 This is the directory described as
569 \begin_inset Quotes eld
573 \begin_inset Quotes erd
581 elp\SpecialChar \menuseparator
586 This directory is used as a mirror of
590 , which means that every file in
594 is a replacement for the corresponding file in
599 Any configuration file described in the above sections can be placed either
600 in the system-wide directory, in which case it will affect all users, or
601 in your local directory for your own use.
604 \begin_layout Standard
605 To make things clearer, let's provide a few examples:
608 \begin_layout Itemize
609 The preferences set in the
614 ools\SpecialChar \menuseparator
621 dialog are saved to a file
632 \begin_layout Itemize
633 When you reconfigure using
638 ools\SpecialChar \menuseparator
649 and the resulting files are written in your local configuration directory
650 (see section\InsetSpace ~
652 \begin_inset LatexCommand ref
653 reference "sec:autodetected"
657 to have a list of the
661 settings affected by this section).
662 This means that any additional text class file that you might have added
667 will be added to the list of classes in the
672 ayout\SpecialChar \menuseparator
682 \begin_layout Itemize
683 Similarly, if you have installed some LaTeX document classes in your home
684 directory, that LaTeX can find with your
688 path, they will show up in your list of text classes.
692 \begin_layout Standard
693 as long as LyX or yourself have a
697 file for it, of course.
705 \begin_layout Itemize
706 If you get some updated documentation from LyX ftp site and cannot install
707 it because you do not have sysadmin rights on your system, you can just
722 \begin_layout Section
723 Running LyX with multiple configurations
726 \begin_layout Standard
727 The configuration freedom of the local configuration directory may not suffice
728 if you want to have more than one configuration at your disposal.
729 For example, you may want to be use different key bindings or printer settings
731 You can achieve this by having several such directories.
732 You then specify which directory to use at run-time.
735 \begin_layout Standard
736 Invoking LyX with the command line switch
744 instructs the program to read the configuration from that directory, and
745 not from the default directory (you can determine the default directory
746 by running LyX without this switch as described above).
747 If this directory does not exist, LyX offers to create it for you, just
748 like it does for the default directory on the first time you run the program.
749 You can modify the configuration options in this additional
753 exactly as you would for the default directory.
754 These directories are completely independent (but read on).
755 Note that setting the environment variable
759 to some value has exactly the same effect
764 \begin_layout Standard
765 Having several configurations also requires more maintenance: if you want
766 to add a new layout to
770 which you want available from all your configurations, you must add it
771 to each directory separately.
772 You can avoid this with the following trick: after LyX creates the additional
773 directory, most of the subdirectories (see above) are empty.
774 If you want the new configuration to mirror an existing one, replace the
775 empty subdirectory with a symbolic link to the matching subdirectory in
776 the existing configuration.
783 subirectory, however, since it contains a file written by the configuration
784 script (also accessible through
789 ools\SpecialChar \menuseparator
795 \begin_inset LatexCommand ref
796 reference "sec:autodetected"
802 which is configuration-specific.
805 \begin_layout Chapter
816 \begin_layout Section
817 Using the dialog for the first time
820 \begin_layout Standard
825 file will contain only changes that you have made to the default behaviour,
826 some of which is hard-coded into LyX and some of which is contained in
829 LyXDir/lyxrc.defaults
832 Note that in both files lines beginning with a
833 \begin_inset Quotes eld
841 \begin_inset Quotes erd
844 are just comments and not interpreted.
845 However, only system administrators should edit
855 ools\SpecialChar \menuseparator
862 dialog to create and modify their own
869 \begin_layout Standard
875 ools\SpecialChar \menuseparator
882 dialog will be largely self-explanatory.
883 Almost all the commands have an associated comment, so you shouldn't have
884 too much trouble modifying it to taste.
885 Before we highlight a few of the more important commands below, however,
890 ing some of your changes (e.g., screen fonts) will have an instant effect.
892 changing the bind file) will not.
893 If nothing appears to have changed, just
897 the changes and restart LyX.
900 \begin_layout Section
904 \begin_layout Standard
905 The font used to display your documents on the LyX screen is very important,
906 since you'll be reading all your documents with this font.
907 Therefore it is important that the font is as readable and good-looking
909 The LyX team tried to provide the best possible default font for you, but
910 since practically all X11 systems are different, it's likely that the default
911 fonts will be sub-optimal on your system.
912 Fortunately, you can do something about this.
913 Before we explain how to do this, you should learn a bit more about fonts
914 so that you are better prepared for choosing your fonts, because it is
915 a trade-off that is specific to your preferences and the capabilities of
919 \begin_layout Standard
920 Notice that this section only deals with the fonts on the
924 inside the LyX window.
925 The fonts that appear on the
933 are independent from these fonts, and are determined by the document class.
938 to learn how to change the font of the printed version of your document.
941 \begin_layout Standard
942 Basically, screen fonts come in two different kinds: scalable outline fonts
943 and non-scalable bitmap fonts.
944 This distinction seems a bit arbitrary, since non-scalable fonts are actually
945 scalable in most modern font renderers.
946 The difference lies in the
950 of the scaling, and the
955 The most important decision is thus whether you should use non-scalable
956 bitmap fonts or scalable outline fonts.
959 \begin_layout Standard
960 The scalable fonts are built from
964 of the single glyphs (i.e.
965 characters) in the font.
966 This means that each glyph is defined using mathematical curves that are
967 well suited for scaling to any requested size.
968 This mathematical definition is interpreted by the font renderer and turned
969 into a small picture composed of pixels according to which size and glyph,
970 the programmer requests.
971 This means that scalable fonts will look pretty good in all sizes.
972 Well, almost all sizes.
973 Since scalable fonts are defined in an abstract way, it can be hard to
974 provide a good rendering at small sizes, where each pixel has to be very
975 carefully computed to provide a good image.
976 Technically it is possible to do this from the mathematical definition,
977 but in order to keep the rendering reasonably fast, tradeoffs have to be
978 made, and the result is that scalable fonts can be difficult to read at
982 \begin_layout Standard
983 Bitmap fonts on the other hand, are defined by bitmap graphics from the
984 start, so they will look good at all the sizes they are meant for.
985 However, they don't scale well, because in order to scale a glyph, each
986 pixel is enlarged into several pixels.
987 It is the same effect that happens if you try to enlarge a picture in
991 or any other picture manipulation program.
992 In order to relieve this effect, bitmap fonts are typically provided in
993 several fixed sizes typically from around 8 pixels high up to 34 pixels
994 or so high in steps according to what is believed to be useful.
995 The advantage of bitmap fonts is that no complicated computations are necessary
996 to display each glyph, so bitmap fonts are thus faster displayed than scalable
998 The disadvantage is that sizes that don't exists as fixed versions have
999 to be scaled by doubling pixels, and thus look bad.
1002 \begin_layout Standard
1003 The net result of all this, is that bitmap fonts are generally best for
1004 the small sizes, where they are available, while scalable fonts are generally
1005 best for large sizes.
1006 The logical conclusion would thus be to use bitmap fonts for the small
1007 sizes, and scalable fonts for the large sizes.
1008 Unfortunately, this is not a good idea, since bitmap fonts and scalable
1009 fonts are not designed to be used together, so the overall look of such
1010 a scheme would be bad.
1011 The best you can do is thus to try both schemes and decide for yourself
1015 \begin_layout Standard
1016 By default, LyX uses non-scalable bitmap fonts (when using the XForms frontend).
1021 is used, for sans serif fonts,
1029 is used as the monospaced/typewriter font.
1032 \begin_layout Standard
1033 In the following, we will describe what to do if the text does not look
1035 We'll start with the most important parameters: DPI and font zoom.
1038 \begin_layout Subsection
1039 DPI setting and Font Zoom
1042 \begin_layout Standard
1043 LyX automatically tries to scale the fonts to look as close as the paper
1044 output size as possible, except for the so-called font zoom factor.
1047 \begin_layout Standard
1048 In order for this to work on all systems, it relies on the screen DPI (dots
1049 per inch) setting to be correct.
1050 The DPI setting for your system is autodetected by LyX using the information
1051 the X server can provide.
1052 You can check what LyX autodetects the DPI setting to, by running LyX as
1060 \begin_layout Standard
1061 On many systems, X is not set up correctly, so you should check that it
1064 \begin_inset Quotes eld
1072 \begin_inset Quotes erd
1075 and write down what the DPI is for the resolution you use (this will be
1076 close to the value LyX detects).
1077 It is the number mentioned as
1078 \begin_inset Quotes eld
1082 \begin_inset Quotes erd
1086 Also write down the number of pixels you have in the width (the first number
1088 \begin_inset Quotes eld
1092 \begin_inset Quotes erd
1098 \begin_layout Standard
1099 Then get the good old ruler out of the closet, and measure the width of
1100 the visible screen-image on your monitor.
1101 Convert this measurement to inches if you used a centimeter ruler by dividing
1103 Now you can determine the correct DPI setting for your screen by dividing
1104 the number of pixels in the width by the width of the screen-image on the
1106 If this number is more than, say, 5 DPI from the detected value, you should
1107 either fix the X setup, or at least tell LyX that the DPI is different
1108 than the detected value.
1111 \begin_layout Standard
1112 If you can't fix the X setup (which of course is best since other programs
1113 than LyX will benefit from this as well), you can tell LyX the correct
1121 \begin_layout Standard
1122 If the text is too small or too big for your taste, you should fiddle with
1123 the font zoom setting.
1124 This setting is used to scale the point size of the text.
1125 If your DPI setting is correct, and the font zoom setting is set to 100,
1126 this means that LyX will try to display the text exactly the same size
1127 as it will appear on the paper-output.
1128 If you set the zoom factor to 200, the text will try to be 2 times as big
1130 Of course, this will only happen if LyX can find a font that has the appropriat
1131 e size, which you can't count on.
1132 Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
1136 \begin_layout Standard
1137 The default font zoom setting is 150, since a monitor is typically wider
1138 than a piece of paper, but you should try to fiddle with it through the
1152 dialog to find a size that you like.
1153 When you've found a setting that seems to work nicely for you (tip: use
1161 button to keep the dialog open while you experiment), you can make this
1162 setting the default by using the
1172 \begin_layout Standard
1173 While it is often possible to find a suitable size for the text on the screen,
1174 this doesn't necessarily mean that the fonts are the best ones available
1176 In order to help you get the most out of your system, you can use the font
1177 definition commands to fine-tune the look of the text in greater detail
1181 \begin_layout Subsection
1182 Font definition commands
1185 \begin_layout Standard
1186 As mentioned, LyX uses non-scalable bitmap fonts by default with the XForms
1192 is used, for sans serif fonts,
1200 is used as the monospaced/typewriter font.
1203 \begin_layout Standard
1204 You can change all of these from within the
1209 The number of fonts that are available on different systems vary, but the
1214 should be available everywhere.
1215 Use that program to find candidate fonts.
1216 When you've found a font that you like, try to insert the first two elements
1218 \begin_inset Quotes eld
1222 \begin_inset Quotes erd
1226 \begin_inset Quotes eld
1230 \begin_inset Quotes erd
1237 ) in the appropriate field in the
1249 LyX will then reformat your document using the new font, and if you like
1250 the font, you should
1258 One place to start for a new font is to see if the scalable font
1259 \begin_inset Quotes eld
1263 \begin_inset Quotes erd
1267 Tip: You can see whether a font is a bitmap font or a scalable font by
1269 \begin_inset Quotes eld
1273 \begin_inset Quotes erd
1277 \begin_inset Quotes eld
1281 \begin_inset Quotes erd
1289 If the value 0 is available, the font is scalable.
1290 If the value 0 isn't available, the font is a bitmap font.
1293 \begin_layout Standard
1294 Before you go about scrapping a bitmap font because the larger sizes look
1296 \begin_inset Quotes eld
1300 \begin_inset Quotes erd
1303 , you should toggle the
1304 \begin_inset Quotes eld
1308 \begin_inset Quotes erd
1312 This is only useful if you use bitmap fonts, because only these don't scale
1314 If you define this flag, LyX will only use the fixed font sizes that are
1315 available, and this guarantees that all bitmap fonts look well.
1316 (You can see which individual font sizes are available with the
1325 .) However, the prize is that the difference between the size of the fonts
1326 on screen and the size of fonts on paper will be larger because LyX will
1327 have to be satisfied with the closest available size, and not try to scale
1329 Also, you can risk that some logically different sizes, such as
1337 , will be mapped to the same screen font, making it hard for you to see
1338 the difference on screen.
1339 We've decided not to use scalable fonts by default because of these artifacts,
1340 but since LyX is a WYSIWYM system, many people like to use the flag anyways,
1341 well-knowing that the font size on the screen can't be trusted.
1342 But remember that this flag only makes a difference when you use bitmap
1344 Scalable fonts won't be affected for reasons you should understand by now.
1347 \begin_layout Standard
1348 One final note regarding this flag: you should know that there is nothing
1349 wrong with using bitmap and scalable fonts at the same time for different
1351 For instance, it's common to use the scalable
1352 \begin_inset Quotes eld
1356 \begin_inset Quotes erd
1359 for the serif text together with a bitmap version of
1360 \begin_inset Quotes eld
1364 \begin_inset Quotes erd
1368 And you can safely select the
1369 \begin_inset Quotes eld
1373 \begin_inset Quotes erd
1376 button without worries: It will only apply to the Helvetica font.
1379 \begin_layout Standard
1380 Sometimes the artifacts introduced by use of the flag can be relieved by
1381 using the fine-detail screen font sizes which defines which point sizes
1382 the different logical font sizes correspond to.
1387 to see exactly what concrete fonts the logical sizes map to, and try adjusting
1388 the corresponding entries in the
1392 dialog until you've managed to hit the nail and get the fonts you want.
1393 This can be hard to do, because LyX uses the DPI setting and the font zoom
1394 settings to calculate which exact screen font size to ask the X server
1395 for, thus obfuscating the mapping.
1396 If you can't make it by trial-and-error, you can make the process more
1397 transparent if you set both the DPI setting and font zoom settings to 100---eve
1398 n when this is known to be wrong.
1399 This will of course make your scalable fonts look weird, so use with care.
1402 \begin_layout Subsection
1406 \begin_layout Standard
1407 By default, LyX will use fonts meant to write Western European text, including
1408 all kinds of English.
1409 This is defined through the so-called
1418 If you want to use LyX to write for instance Eastern European text, Cyrillic
1419 or any other language not covered by the ISO-8859-1 font encoding, you
1420 can define a different one with the encoding setting.
1421 This requires you to have special fonts installed.
1426 to see whether this is the case: check the
1427 \begin_inset Quotes eld
1431 \begin_inset Quotes erd
1435 \begin_inset Quotes eld
1439 \begin_inset Quotes erd
1442 fields for ISO-8859-X values different from ISO-8859-1, and search for
1443 one that contains the national characters of your language.
1444 If you find any, enter this encoding in the dialog.
1445 If not, go searching the Web for appropriate fonts.
1446 For the Qt frontend, it's recommended you use an iso646 font set.
1449 \begin_layout Standard
1450 When you've set LyX up to use a different font encoding, you should also
1451 consider changing the font used by dialog windows in LyX.
1458 dialog will not be understandable unless you tell LyX to use a different
1460 By default the menu font is set to
1462 -*-helvetica-medium-r
1464 , but often Helvetica is not available in the font encoding you need, so
1465 the dialog allows this to be changed.
1468 \begin_layout Standard
1469 As you can see, there are quite a few options that can be used to fine tune
1470 the look of your fonts.
1471 This should not scare you from fiddling with the settings, because after
1472 all, you will hopefully be using LyX for many hours in the future.
1473 And contrary to real WYSIWYG word processors where you are tied to using
1474 fonts that have to look good both on paper and on screen, LyX gives you
1475 the possibility of using fonts that are designed to look good on the screen
1476 while using a different set of fonts to look good on paper.
1479 \begin_layout Section
1481 \begin_inset LatexCommand label
1489 \begin_layout Standard
1490 Bindings are used to, well, bind a function to a key.
1491 Several prepackaged binding files are available: a CUA set of bindings
1492 (familiar as the typical set of PC and CDE set of keyboard shortcuts),
1493 an Emacs set of bindings, for those of us who follow the One True Way and
1494 refuse to lower our standards,
1498 \begin_layout Standard
1499 I'm kidding here, of course!
1504 as well as specialty bindings (broadway and hollywood) and other languages
1505 (French, German, etc.).
1508 \begin_layout Standard
1509 If, however, you'd like to customise the keybindings to your own exacting
1510 tastes, then copy the best-fit file in
1519 Don't forget to load this new file into LyX using the
1524 (For the moment you'll have to restart LyX for these changes to take effect.)
1527 \begin_layout Standard
1528 LyX supports internationalization of the user interface (see Chapter\InsetSpace ~
1530 \begin_inset LatexCommand ref
1531 reference "chap:i18n"
1540 is set, with the environment variable
1544 , LyX will try to use bindfiles by prepending
1549 For example, you can put a translated copy of some standard bind file in
1554 directory, and LyX will use it automatically.
1557 \begin_layout Standard
1562 files is straightforward:
1565 \begin_layout Standard
1570 bind <key combination> <lyx-function>
1573 \begin_layout Standard
1574 Both key combination and lyx-function (including any arguments) must be
1575 enclosed in "double quotes".
1576 All the LyX functions are listed in the
1583 \begin_layout Section
1585 \begin_inset LatexCommand label
1593 \begin_layout Standard
1594 The appearance of both the menu and toolbar may both be changed using the
1609 For the moment, only one file exists,
1613 , but feel free to experiment.
1614 Just copy the file to the
1618 directory and play! Note that, for the moment, you'll have to restart LyX
1619 for these changes to take effect.
1622 \begin_layout Standard
1627 files is straightforward: have a look at
1640 entries must be ended with an explicit
1665 s and in the case of the
1666 \begin_inset Quotes eld
1670 \begin_inset Quotes erd
1678 One small word of warning.
1683 s may be inserted in a
1691 , but they are defined as
1702 \begin_layout Section
1703 \begin_inset LatexCommand label
1704 name "sec:converters-etc"
1708 Converters, Formats, and Copiers
1711 \begin_layout Standard
1712 LyX has a powerful mechanism to convert to and from any file format using
1717 \begin_layout Subsection
1721 \begin_layout Standard
1722 The first step is to define your file formats, e.g.
1723 PDF, if they are not already defined.
1729 ools\SpecialChar \menuseparator
1734 references:Converters
1737 Enter a new format name; a new GUI name (used in, e.g., the View and Export
1738 menus); and a file extension.
1743 \begin_layout Standard
1744 There are also two flags that can be set using the checkboxes in the dialog.
1749 flag tells LyX that a format is suitable for document export.
1750 If this flag is set for a format, and if a suitable conversion route exists,
1751 then the format will appear in the
1756 ile\SpecialChar \menuseparator
1764 The format will also appear in the
1771 menu if it has a viewer associated with it.
1772 (See below.) Pure image formats (e.g.\InsetSpace ~
1777 ) should not have this flag set; formats that can both represent vector
1778 graphics and documents (e.g.\InsetSpace ~
1783 ) should have it set.
1786 \begin_layout Standard
1791 flag tells LyX whether a format can contain vector graphics.
1792 This information is used to determine the target format of included graphics
1798 Included graphics may need to be converted to either
1814 cannot handle other image formats.
1815 If an included graphic is not already in
1827 format, it is converted to
1835 flag of the format is set, and otherwise to
1842 \begin_layout Standard
1843 A Format can have a Viewer associated with it.
1844 For example, you might want to use
1848 to look at PostScript® files, or
1852 to preview the LaTeX output.
1853 You can enter the program to use as a viewer (and what options to pass
1854 to it) in the Viewer field.
1855 You can also modify the viewer associated with a pre-defined format simply
1856 by changing what you find in this field, clicking the
1860 button, and then (if you're sure you want to do this) clicking the
1872 \begin_layout Standard
1873 Changes to the formats are kept in the
1877 file in you local LyX directory (for example,
1882 If you want to restore the defaults, edit this file and delete the lines
1883 in the Formats and Converters sections.
1888 For example, to change the
1896 format in the dialog, change the viewer to be
1900 (or whatever), and hit
1910 \begin_layout Standard
1911 If the operating system has a default viewer associated to a format, this
1912 viewer is used instead of the one defined here in the Windows® and OS X
1914 (It is planned to implement this feature on other platforms.)
1917 \begin_layout Standard
1918 Editors are like viewers: Each Format can have an Editor associated to it,
1919 entered in the Editor field, and the editor associated with a format can
1925 ools\SpecialChar \menuseparator
1930 references:Converters
1933 LyX will launch the associated editor whenever an included file
1937 \begin_layout Standard
1938 This can be an included
1942 file, a verbatim included text file, external material or an included graphics
1951 \begin_layout Subsection
1955 \begin_layout Standard
1956 Each Format can have a Copier associated with it.
1957 These are defined in the
1962 ools\SpecialChar \menuseparator
1970 Since all conversions from one Format to another take place in LyX's temporary
1971 directory, it is sometimes necessary to modify a file before copying it
1972 to the temporary directory in order that the conversion may be performed.
1976 \begin_layout Standard
1977 For example, the file may refer to other files---images, for example---using
1978 relative filenames, and these may become invalid when the file is copied
1979 to the temporary directory.
1984 This is done by the Copier: It copies a file to (or from) the temporary
1985 directory and may modify it in the process.
1989 \begin_layout Standard
1990 Copiers may also be used for other purposes.
1991 For example, if appropriate converters are found, LyX will automatically
1992 install copiers for the html and wordhtml formats.
1993 When these formats are exported, the copier sees to it that not just the
1994 main HTML file but various associated files (style files, images, and the
1995 like) are also copied, and all these files are written to a subdirectory
1996 of the directory in which the original LyX file was found.
1997 The copier may of course be customized.
1998 The optional -e argument takes a comma-separated list of extensions to
1999 be copied; if it is omitted, all files will be copied.
2000 The -t argument determines the extension added to the generated directory.
2002 \begin_inset Quotes eld
2006 \begin_inset Quotes erd
2009 , so HTML generated from
2011 /path/to/filename.lyx
2015 /path/to/filename.html.LyXconv
2021 \begin_layout Standard
2022 The definitions of the copiers may use four variables:
2026 \labelwidthstring 00.00.0000
2027 $$s The LyX system directory (e.g.,
2035 \labelwidthstring 00.00.0000
2040 \labelwidthstring 00.00.0000
2045 \labelwidthstring 00.00.0000
2046 $$l The `LaTeX name'
2049 \begin_layout Standard
2050 The latter is to be given in a form suitable for inclusion in a LaTeX
2056 command and is relevant only when exporting files suitable for such inclusion.
2059 \begin_layout Subsection
2063 \begin_layout Standard
2064 To define a converter from one format to another---e.g., LaTeX to PDF---select
2065 the Converters panel.
2066 Choose the `From' and `To' formats, and then enter the program to be used
2067 in the conversion in the Converter field.
2071 \begin_layout Standard
2072 You do not have to define converters between all the Formats between which
2073 you want to convert.
2074 For example, you will note that there is no `LyX to PostScript®' converter,
2075 but LyX will export PostScript®.
2076 It does so by first creating a LaTeX file (no converter needs to be defined
2077 for this) which it then converts to DVI using the `LaTeX to DVI' converter,
2078 and then it converts the resulting DVI file to PostScript®.
2079 LyX finds such `chains' of converters automatically, and it will always
2080 choose the shortest chain possible.
2081 You can, though, still define multiple conversion methods between file
2083 For example, the standard LyX configuration provides three ways to convert
2084 LaTeX to PDF: Directly, using pdflatex; via (DVI and) PostScript®, using
2085 ps2pdf; or via DVI, using dvipdfm.
2086 To define such alternate chains, you must define multiple target `file
2088 In the standard configuration, for example, formats named `pdf', `pdf2',
2089 and `pdf3' are defined, all of which share the extension `pdf'.
2093 \begin_layout Standard
2094 Several variables can be used in the definition of converters:
2098 \labelwidthstring 00.00.0000
2099 $$s The LyX system directory (e.g.,
2107 \labelwidthstring 00.00.0000
2112 \labelwidthstring 00.00.0000
2117 \labelwidthstring 00.00.0000
2118 $$b The base filename of the input file
2122 \labelwidthstring 00.00.0000
2123 $$p The path to the input file
2126 \begin_layout Standard
2127 In the `Extra Flag' field you can enter as many of the following flags as
2128 you wish, separated by commas:
2132 \labelwidthstring 00.00.0000
2133 latex This converter runs some form of LaTeX.
2134 (This will make LyX's LaTeX error logs available.)
2138 \labelwidthstring 00.00.0000
2139 needaux Needs the LaTeX .aux file for the conversion.
2143 \labelwidthstring 00.00.0000
2147 \begin_layout Standard
2148 The following three variables are not really flags at all but take an argument
2158 \labelwidthstring 00.00.0000
2159 parselog If set, the converter's standard error will be redirected to a
2164 , and the script given as argument will be run as:
2166 script <infile.out >infile.log
2169 The argument may contain $$s.
2173 \labelwidthstring 00.00.0000
2174 resultdir The name of the directory in which the
2178 will dump the generated files.
2179 LyX will not create this directory, and it does not copy anything into
2180 it, though it will copy this directory to the destination.
2181 The argument may contain $$b, which will be replaced by the basename of
2182 the input and output files, respectively, when the directory is copied.
2185 that resultdir and usetempdir make no sense together.
2186 The latter will be ignored if the former is given.
2190 \labelwidthstring 00.00.0000
2191 resultfile Determines the output filename and may, again, contain $$b.
2192 Sensible only with resultdir, and optional even then; if not given, it
2193 defaults to `index'.
2197 \begin_layout Standard
2198 None of these last three are presently used in any of the converters that
2199 are installed with LyX.
2201 \begin_inset LatexCommand ref
2202 reference "sub:LyX-and-Literate"
2206 of the Extended Features guide for some examples of how you might use parselog.
2209 \begin_layout Section
2210 BibTeX and makeindex
2213 \begin_layout Standard
2214 Both the bibliography generating command (default
2218 ) and the index generating command (default
2231 As an alternative for
2243 \begin_layout Standard
2244 The command to enter is
2250 makeindex.sh -m $$lang
2253 \begin_layout Standard
2254 where the placeholder
2258 will be replaced by the chosen document (babel) language.
2262 \begin_layout Standard
2263 have installed the packages
2280 at a shell prompt for a help page.
2283 \begin_layout Section
2284 Plain text export options
2287 \begin_layout Standard
2288 \begin_inset VSpace bigskip
2294 \begin_layout Standard
2296 There are a couple of commands that can be used to
2297 \begin_inset Quotes eld
2301 \begin_inset Quotes erd
2304 exported plain text files.
2305 Note that LyX automatically detects and uses the best settings for your
2306 system at installation time, but you can modify them if you disagree with
2310 \begin_layout Description
2314 Plain text\InsetSpace ~
2318 This option defines the command used to produce better plain text tables
2323 UNIX-commands (refer to their manpages for more information about them).
2324 Setting this as empty tells LyX to use the internal (inferior) formatter.
2327 \begin_layout Description
2331 Plain text\InsetSpace ~
2336 With this command you can set the default line length of the plain text
2338 Setting it to 0 means endless lines.
2341 \begin_layout Section
2345 \begin_layout Standard
2346 There are a bunch of configuration options that are used for interaction
2347 with the external print command from LyX.
2348 Normally the defaults are fine: if, however, your print command takes different
2349 option names, you can modify them here.
2352 \begin_layout Subsection
2356 \begin_layout Standard
2357 You can change the colors used by LyX on-screen using the new
2362 Alternatively, if you're feeling particularly perverse you could use the
2367 bindable function (see the
2372 Input would have the format:
2375 \begin_layout Standard
2378 set-color LyXName X11Color
2381 \begin_layout Standard
2382 Here is a (partial) list of the functions and default colors:
2385 \begin_layout Standard
2387 \begin_inset Tabular
2388 <lyxtabular version="3" rows="10" columns="3">
2390 <column alignment="left" valignment="top" leftline="true" width="0pt">
2391 <column alignment="left" valignment="top" leftline="true" width="0pt">
2392 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2393 <row topline="true" bottomline="true">
2394 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2397 \begin_layout Standard
2412 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2415 \begin_layout Standard
2430 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2433 \begin_layout Standard
2449 <row topline="true">
2450 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2453 \begin_layout Standard
2468 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2471 \begin_layout Standard
2486 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2489 \begin_layout Standard
2505 <row topline="true">
2506 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2509 \begin_layout Standard
2524 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2527 \begin_layout Standard
2542 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2545 \begin_layout Standard
2561 <row topline="true">
2562 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2565 \begin_layout Standard
2580 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2583 \begin_layout Standard
2598 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2601 \begin_layout Standard
2617 <row topline="true">
2618 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2621 \begin_layout Standard
2636 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2639 \begin_layout Standard
2654 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2657 \begin_layout Standard
2673 <row topline="true">
2674 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2677 \begin_layout Standard
2692 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2695 \begin_layout Standard
2705 fraction Lines, brackets, etc.
2710 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2713 \begin_layout Standard
2729 <row topline="true">
2730 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2733 \begin_layout Standard
2748 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2751 \begin_layout Standard
2757 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2760 \begin_layout Standard
2776 <row topline="true">
2777 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2780 \begin_layout Standard
2795 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2798 \begin_layout Standard
2804 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2807 \begin_layout Standard
2823 <row topline="true">
2824 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2827 \begin_layout Standard
2842 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2845 \begin_layout Standard
2851 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2854 \begin_layout Standard
2870 <row topline="true" bottomline="true">
2871 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2874 \begin_layout Standard
2889 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2892 \begin_layout Standard
2902 selection background
2907 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2910 \begin_layout Standard
2933 \begin_layout Section
2934 The autodetected settings
2937 \begin_layout Standard
2938 \begin_inset LatexCommand label
2939 name "sec:autodetected"
2943 There are several items that are detected for you when you run
2950 \SpecialChar \menuseparator
2956 In this section, we list those which pertain to the user preferences.
2959 \begin_layout Description
2965 plaintext_roff_command
2980 , depending on what is available.
2983 \begin_layout Description
2996 plus a bunch of options.
2999 \begin_layout Description
3012 on systems (so-called System V) who have this command, and
3016 otherwise (BSD systems).
3019 \begin_layout Description
3025 print_spool_printerprefix
3036 , depending on whether
3047 \begin_layout Description
3064 fonts are found and LaTeX has support for these fonts built-in.
3065 You can set it manually if you only have the so-called
3072 \begin_layout Section
3076 \begin_layout Standard
3077 There are many other configuration options that can be used to customize
3079 We still need to document them here, but again, most should be fairly obvious.
3080 Please ask on the mailing lists if you need some more information; it may
3081 even prompt us to expand this section.
3084 \begin_layout Chapter
3085 Internationalizing LyX
3086 \begin_inset LatexCommand label
3094 \begin_layout Standard
3095 LyX supports using a translated interface.
3096 Last time we checked, LyX provided text in 14 languages together with the
3097 default English text.
3098 The language of choice is called your
3103 (For further reading on locale settings, see also the documentation for
3104 locale that comes with your operating system.
3105 For Linux, the manual page for locale(5) could be a good place to start).
3108 \begin_layout Standard
3109 Notice that these translations will work, but do contain a few flaws.
3110 In particular, all dialogs have been designed with the English text in
3111 mind, which means that some of the translated text will be too large to
3112 fit within the space allocated.
3113 This is only a display problem and will not cause any harm.
3114 Also, you will find that some of the translations do not define short-cut
3115 keys for everything.
3116 Sometimes, there are simply not enough free letters to do it.
3117 Other times, the translator just hasn't got around to doing it yet.
3118 Our localization team -- which you may wish to join -- will try to fix
3119 these shortcomings in future versions of LyX.
3122 \begin_layout Section
3123 Selecting an alternative language for the user interface
3126 \begin_layout Standard
3127 This feature is disabled by default, meaning that system default language
3129 To enable an alternative language, you have to set an appropriate environment
3137 for csh class shells
3152 with the two letter code (or four letter code, like
3156 for British English) for the language you want.
3162 Besides the user interface texts being translated, also the appropriate
3163 manuals will be presented under the Help menu -- if available.
3166 \begin_layout Standard
3167 On some systems, you may have to redefine
3179 , to override the system settings; their preference is in this order
3183 \begin_layout Standard
3184 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
3190 , which corresponds to the way GNU
3195 Consult your system documentation.
3196 Normally, you'll want to put the appropriate line in a shell script run
3197 on start-up, so that the translation is on by default.
3198 Remember that this affects
3202 localized packages, not only LyX!
3205 \begin_layout Standard
3206 If LyX is configured and compiled with
3207 \begin_inset Quotes eld
3215 \begin_inset Quotes erd
3218 , this mechanism will not work.
3221 \begin_layout Section
3225 \begin_layout Subsection
3226 Translating the graphical user interface (text messages).
3229 \begin_layout Standard
3234 library to handle the internationalization of the interface.
3235 To have LyX speak your favorite language in all menus and dialogs, you
3240 -file for that language.
3241 When this is available, you'll have to generate a mo-file from it and install
3247 The process of doing all of this is explained in the documentation for
3252 , but in short, this is what you do (
3256 denotes the language code):
3259 \begin_layout Standard
3263 \begin_layout Standard
3275 \begin_layout Itemize
3278 LYX-SOURCE-DIR/po/lyx.pot
3291 doesn't exist, it can be remade with
3295 in that directory, or you can use an existing po-file for some other language
3299 \begin_layout Itemize
3306 \begin_layout Standard
3307 We recommend that you use Emacs to do this, since the
3311 distribution includes a nice mode that supports you in doing this.
3319 For some menu- and widget-labels, there are also shortcut keys that should
3321 Those keys are marked after a `|', and should be translated according to
3322 the words and phrases of the
3327 There is a tool named
3331 written in Prolog in
3333 LYX-SOURCE-DIR/development/tools/
3335 that may be useful to help determine short-cut keys.
3336 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
3337 characters as shortcut keys.
3338 You should also fill also out the information at the beginning of the new
3343 -file with your email-address, etc., so people know where to reach you with
3344 suggestions and entertaining flames.
3347 \begin_layout Itemize
3356 This can be done with
3377 \begin_layout Itemize
3382 -file to your locale-tree, at the correct directory for application messages
3387 , and under the name
3396 /usr/local/share/locale/
3407 \begin_layout Standard
3411 \begin_layout Standard
3423 \begin_layout Standard
3424 Adding a new po-file to the
3428 of LyX involves altering the configure scripts and more, but the way
3432 works, you don't actually need the source-code of LyX to translate it---having
3448 \begin_layout Standard
3449 If you've written a translation file for a language that LyX does not currently
3450 support, feel free to submit it for inclusion by sending a patch.
3451 In this case, we recommend that you read the
3459 directory for more instructions.
3462 \begin_layout Subsubsection
3466 \begin_layout Standard
3467 Sometimes it turns out that one english message needs to be translated into
3468 different messages in the target language.
3469 One example is the message
3473 which has the german translation
3490 does not handle such ambigous translations.
3491 Therefore you have to add some context information to the message: Instead
3498 To[[as in 'From format x to format y']]
3502 To[[as in 'From page x to page y']].
3505 Now the two occurences of
3513 and can be translated correctly to
3528 \begin_layout Standard
3529 Of course the context information needs to be stripped off the original
3530 message when no translation is used.
3531 Therefore you have to put it in double square brackets at the end of the
3532 message (see the example above).
3533 The translation mechanism of LyX ensures that everything in double square
3534 brackets at the end of messages is removed before displaying the message.
3537 \begin_layout Subsection
3538 Translating the documentation.
3541 \begin_layout Standard
3542 The online documentation (in the
3549 -menu) can (and should!) be translated.
3550 If there are translated versions of the documentation available
3554 \begin_layout Standard
3555 As of February 2003, almost all of the docs have been translated into German
3561 has been translated into at least 12 other languages, with other translations
3563 The library of translated documents is growing rapidly.
3568 , and the locale is set accordingly, these will be used automagically by
3570 LyX looks for translated versions as
3584 denotes the language as set by the environmental variable
3589 If there are none, the default English versions will be displayed.
3590 Note that the translated versions must have the same filenames (
3594 above) as the original.
3595 If you feel up to translating the documentation (an excellent way to proof-read
3596 the original documentation BTW!), there are a few things you should do
3600 \begin_layout Itemize
3605 , the guide to writing LyX documentation.
3606 Pay special attention to the translator's section.
3609 \begin_layout Itemize
3610 Check out the documentation translation web page at
3611 \begin_inset LatexCommand url
3612 name "The LyX Developer's Web Site"
3613 target "http://www.devel.lyx.org"
3618 That way, you can find out which (if any) documents have already been translate
3619 d into your language.
3620 You can also find out who (if anyone) is organizing the effort to translate
3621 the documentation into your language.
3622 If no one is organizing the effort, please let us know that you're interested.
3625 \begin_layout Standard
3626 Once you get to actually translating, here's a few hints for you that may
3630 \begin_layout Itemize
3631 Join the documentation team! There is information on how to do that in
3640 elp\SpecialChar \menuseparator
3647 ), which by the way is the first document you should translate.
3650 \begin_layout Itemize
3651 Learn the typographic conventions for the language you are translating to.
3652 Typography is an ancient art and over the centuries, a great variety of
3653 conventions have developed throughout different parts of the world.
3654 Also study the professional terminology amongst typographers in your country.
3655 Inventing your own terminology will only confuse the users.
3658 (Warning! Typography is addictive!)
3661 \begin_layout Itemize
3662 Make a copy of the document.
3663 This will be your working copy.
3664 You can use this as your personal translated help-file by placing it in
3672 \begin_layout Itemize
3673 Sometimes the original document (from the LyX-team) will be updated.
3674 Use the ViewCVS tool available at
3675 \begin_inset LatexCommand htmlurl
3676 target "http://www.lyx.org/viewcvs.cgi/lyxdoc/"
3680 to see what has been changed
3684 \begin_layout Standard
3685 Alternatively, you can keep a copy of the latest version of the English
3686 document which you've translated.
3692 That way you can easily see which parts of the translated document need
3696 \begin_layout Itemize
3697 If you ever find an error in the original document, fix it and notify the
3698 rest of the documentation team of the changes! (You didn't forget to join
3699 the documentation team did you?)
3702 \begin_layout Section
3703 International Keyboard Support
3706 \begin_layout Standard
3709 [Editor's Note: The following section is by
3717 It needs to be fixed to conform to the new Documentation Style sheet and
3718 to make use of the new v1.0 features.
3719 The whole thing also needs to be merged with the section following it.-jw]
3722 \begin_layout Subsection
3723 Defining Own Keymaps: Keymap File Format
3726 \begin_layout Standard
3727 Let's look at a keyboard definition file a little closer.
3728 It is a plain text file defining
3731 \begin_layout Itemize
3732 key-to-key or key-to-string translations
3735 \begin_layout Itemize
3739 \begin_layout Itemize
3740 dead keys exceptions
3743 \begin_layout Standard
3744 To define key-to-key or key-to-string translation, use this command:
3747 \begin_layout Quotation
3763 \begin_layout Standard
3768 is the key to be translated and
3772 is the string to be inserted into the document.
3773 To define dead keys, use:
3776 \begin_layout Quotation
3792 \begin_layout Standard
3802 The following dead keys are supported (shortcut name is in parentheses):
3805 \begin_layout Quotation
3813 \begin_layout Quotation
3819 \begin_layout Quotation
3825 \begin_layout Quotation
3831 \begin_layout Quotation
3837 \begin_layout Quotation
3844 \begin_layout Standard
3856 \begin_layout Quotation
3862 \begin_layout Quotation
3869 \begin_layout Standard
3881 \begin_layout Quotation
3887 \begin_layout Quotation
3893 \begin_layout Quotation
3900 \begin_layout Standard
3912 \begin_layout Quotation
3919 \begin_layout Standard
3931 \begin_layout Quotation
3937 \begin_layout Quotation
3938 hungarian umlaut (hug)
3943 \begin_layout Quotation
3949 \begin_layout Quotation
3956 \begin_layout Standard
3968 \begin_layout Standard
3969 Since in many international keyboards there are exceptions to what some
3970 dead keys should do, you can define them using
3973 \begin_layout Quotation
3982 deadkey key outstring
3985 \begin_layout Standard
3986 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3990 \begin_layout Quotation
4004 \begin_layout Standard
4005 to make it work correctly.
4006 Also, you have to define as exceptions dead keys over i and j, to remove
4007 the dot from them before inserting an accent mark.
4008 I will change this when the time comes, but so far I haven't had time.
4011 \begin_layout Standard
4012 Oh, and about characters: backslash is escaped, so to enter it, you'll need
4018 have different meaning.
4023 marks comments, quotes start and end LaTeX-style commands.
4024 To enter quote, you'll need to use
4043 \begin_layout Standard
4044 If you make a keyboard description file that works for your language, please
4045 mail it to me, so I can include it in the next keymap distribution.
4048 \begin_layout Standard
4049 More keywords will be supported in keymap configuration file in future,
4053 \begin_layout Itemize
4071 \begin_layout Itemize
4086 an external keymap translation program
4089 \begin_layout Standard
4090 Also, it should look into
4094 file for defaults, too (for example, a
4100 option to include default keyboard).
4103 \begin_layout Section
4104 International Keymap Stuff
4105 \begin_inset LatexCommand label
4113 \begin_layout Standard
4114 The next two sections describe the
4126 file syntax in detail.
4127 These sections should help you design your own key map if the ones provided
4128 do not meet your needs.
4131 \begin_layout Subsection
4135 \begin_layout Standard
4144 file maps keystrokes to characters or strings.
4145 As the name suggests it sets a keyboard mapping.
4170 are described in this section.
4174 \labelwidthstring 00.00.0000
4181 Map a character to a string
4184 \begin_layout LyX-Code
4199 \begin_layout Standard
4232 the double-quote (")
4249 must be escaped with a preceding backslash (
4260 \begin_layout Standard
4267 statement to cause the symbol
4273 to be output for the keystroke
4282 \begin_layout LyX-Code
4289 \labelwidthstring 00.00.0000
4296 Specify an accent character
4299 \begin_layout LyX-Code
4308 \begin_layout Standard
4309 This will make the cha
4347 This is the dead key
4351 \begin_layout Standard
4358 refers to a key that does not produce a character by itself, but when followed
4359 with another key, produces the desired accent character.
4360 For example, a German characte
4362 r with an umlaut like
4372 can be produced in this manner.
4381 \begin_layout Standard
4394 and then another key not in
4411 followed by the other, unallowed key, as output.
4420 cancels a dead key, so if
4437 , the cursor will not go one position backwards but will instead cancel
4454 might have had on the next keystroke.
4458 \begin_layout Standard
4459 The following example specifies that the character ' is to be an acute accent,
4460 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4463 \begin_layout LyX-Code
4466 kmod ' acute aeiouAEIOU
4470 \labelwidthstring 00.00.0000
4475 Specify an exception to the accent character
4478 \begin_layout LyX-Code
4487 \begin_layout Standard
4488 This defines an exce
4529 have been assigned a keystroke with a previous
4552 must not belong in the
4604 If such a declaration does not exist in
4660 \begin_layout Standard
4661 The following command produces causes äi to be produced when you enter acute-i
4665 \begin_layout LyX-Code
4680 \labelwidthstring 00.00.0000
4685 Combine two accent characters
4688 \begin_layout LyX-Code
4694 accent1 accent2 allowed
4697 \begin_layout Standard
4698 This one is getting pretty esoteric.
4699 It allows you to combine the effect
4780 \begin_layout Standard
4781 Consider this example from the
4790 \begin_layout LyX-Code
4793 kmod ; acute aeioyvhAEIOYVH
4797 kcomb acute umlaut iyIY
4800 \begin_layout Standard
4801 This allows you to press
4807 and get the effect of
4824 in this case cancels the last dead key, so if you press
4841 \begin_layout Subsection
4845 \begin_layout Standard
4852 mapping is performed, a
4859 file maps the strings that the symbols generate to characters in the current
4861 The LyX distribution currently includes at least the
4876 \begin_layout Standard
4883 file is a sequence of declarations of the form
4886 \begin_layout LyX-Code
4899 \begin_layout Standard
4900 For example, in order to map
4908 to the corresponding character in the iso-8859-1 set (233), the following
4912 \begin_layout LyX-Code
4920 \begin_layout Standard
4943 the same character can apply to more than one string.
4954 \begin_layout LyX-Code
4980 \begin_layout Standard
4981 If LyX cannot find a mapping for the string produced by the keystroke or
4982 a deadkey sequence, it will check if it looks like an accented char and
4983 try to draw an accent over the character on screen.
4986 \begin_layout Subsection
4990 \begin_layout Standard
4991 There is a second way to add support for international characters through
4992 so-called dead-keys.
4993 A dead-key works in combination with a letter to produce an accented character.
4994 Here, we'll explain how to create a really simple dead-key to illustrate
4998 \begin_layout Standard
4999 Suppose you happen to need the circumflex character,
5000 \begin_inset Quotes eld
5004 \begin_inset Quotes erd
5012 -key [a.k.a.\InsetSpace ~
5017 ] to the LyX command
5026 Now, whenever you type the
5030 -key followed by a letter, that letter will have a circumflex accent on
5032 For example, the sequence
5033 \begin_inset Quotes eld
5041 \begin_inset Quotes erd
5044 produces the letter:
5045 \begin_inset Quotes eld
5049 \begin_inset Quotes erd
5053 If you tried to type
5054 \begin_inset Quotes eld
5062 \begin_inset Quotes erd
5065 , however, LyX will complain with a beep, since a
5066 \begin_inset Quotes eld
5074 \begin_inset Quotes erd
5077 never takes a circumflex accent.
5082 after a dead-key produces the bare-accent.
5083 Please note this last point! If you bind a key to a dead-key, you'll need
5084 to rebind the character on that key to yet another key.
5089 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
5092 \begin_layout Standard
5093 One common way to bind dead-keys is to use
5105 in combination with an accent, like
5106 \begin_inset Quotes eld
5114 \begin_inset Quotes erd
5118 \begin_inset Quotes eld
5126 \begin_inset Quotes erd
5130 \begin_inset Quotes eld
5138 \begin_inset Quotes erd
5142 Another way involves using
5150 [remember them from section?] to set up the special
5159 acts in some ways just like
5163 and permits you to bind keys to accented characters.
5164 You can also turn keys into dead-keys by binding them to something like
5169 and then binding this symbolic key to the corresponding LyX command.
5173 \begin_layout Standard
5178 : This is exactly what I do in my
5196 and a bunch of these
5197 \begin_inset Quotes eld
5205 \begin_inset Quotes erd
5208 symbolic keys bound such things as
5219 This is how I produce my accented characters.
5224 You can make just about anything into the
5232 keys, a spare function key, etc.
5233 As for the LyX commands that produce accents, check the entry for
5242 You'll find the complete list there.
5245 \begin_layout Subsection
5246 Saving your Language Configuration
5249 \begin_layout Standard
5250 \begin_inset LatexCommand label
5255 You can edit your preferences so that your desired language environment
5256 is automatically configured when LyX starts up, via the
5261 dit\SpecialChar \menuseparator
5271 \begin_layout Chapter
5272 Installing New Document Classes, Layouts, and Templates
5273 \begin_inset LatexCommand label
5274 name "chap:textclass"
5282 \begin_layout Standard
5283 Installing New Document Classes
5291 \begin_layout Standard
5292 In this chapter, we describe the procedures for creating and installing
5293 new LyX layout and template files, as well as offer a refresher on correctly
5294 installing new LaTeX document classes.
5295 Some definitions: a document class is a LaTeX file (usually ending in
5303 ) which describes the format of a document such as an article, report, journal
5305 and all the commands needed to realize that format.
5306 A layout file is a LyX file which corresponds to a LaTeX document class
5307 and which tells LyX how to
5308 \begin_inset Quotes eld
5312 \begin_inset Quotes erd
5315 things on the screen to make the display look something like the final
5317 More precisely, a layout file describes a
5318 \begin_inset Quotes eld
5322 \begin_inset Quotes erd
5325 which is the internal construct LyX uses to render the screen display.
5327 \begin_inset Quotes eld
5331 \begin_inset Quotes erd
5335 \begin_inset Quotes eld
5339 \begin_inset Quotes erd
5342 can be used somewhat interchangeably, but it is better to refer to the
5343 file as the layout, and the thing living in LyX's memory as the text class.
5344 A template file is simply a LyX document which contains a set of predefined
5345 entries for a given document class which are generally required for that
5347 Templates are especially useful for things like journal manuscripts which
5348 are to be submitted electronically.
5351 \begin_layout Section
5352 Installing a new LaTeX package
5355 \begin_layout Standard
5356 Some installations may not include a LaTeX package that you would like to
5358 For example, you might need FoilTeX, a common (and very powerful) package
5359 for preparing slides or viewgraphs for overhead projectors.
5360 Here are the formal steps involved in getting the package up and running
5361 if you are using teTeX or some other web2c based distribution.
5365 \begin_layout Enumerate
5366 Get the package from CTAN or wherever.
5370 \begin_layout Standard
5373 Inventory of your LaTeX configuration
5375 manual for details of what CTAN is and where supported document classes
5384 \begin_layout Enumerate
5389 (this usually lives in the directory
5393 , though you can run
5398 It describes how to add a local
5402 directory; follow the instructions.
5403 You need to insert the name of your local
5416 is a logical place to install software that did not come with your distribution
5422 Usually, you will have to modify only two things:
5426 \begin_layout Enumerate
5431 to the directory you chose; e.g.
5436 TEXMFLOCAL = /usr/local/texmf
5439 \begin_layout Enumerate
5453 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
5457 \begin_layout Enumerate
5468 You must follow the directory structure of your existing
5472 directory (for example, latex packages should go under
5474 /usr/local/texmf/tex/latex/
5479 \begin_layout Enumerate
5480 Install the package.
5481 For example, you would unpack the FoilTeX tarball and create
5483 /usr/local/texmf/tex/latex/foiltex
5490 directory contains various files.
5493 \begin_layout Enumerate
5501 /usr/local/texmf/ls-R
5506 \begin_layout Enumerate
5507 From within LyX, do:
5512 ools\SpecialChar \menuseparator
5523 \begin_layout Standard
5524 Now you should see your new package---for example
5533 ayout\SpecialChar \menuseparator
5548 Note that there are simpler ways of installing packages: you can add a
5549 link to the new package directory in the system LaTeX directory (
5553 , don't forget to then run
5557 ), or sometimes simply set the
5561 environment variable to include the new package.
5562 However, the formal procedure described in
5566 is guaranteed to work, so you should follow it unless circumstances absolutely
5567 prevent it: such as, when you don't have superuser access.
5570 \begin_layout Section
5574 \begin_layout Standard
5575 This section describes how to write and install your own LyX layout files
5576 (also known as text classes) and walks through the
5580 text class format as an example.
5585 files describe what paragraph styles are available for a given document
5586 class and how LyX should display them.
5587 We try to provide a thorough description of the process here; however,
5588 there are so many different types of documents supported by LaTeX classes
5589 we can't hope to cover every different possibility or problem you might
5594 \begin_layout Standard
5595 When you plan to write a new layout, it is extremely helpful to look at
5596 the example layouts distributed with LyX.
5597 If you use a nice LaTeX document class that might be of interest for others,
5598 too, and have a nice corresponding LyX layout, feel free to contribute
5599 the stuff to us, so we may put it into the distribution.
5602 \begin_layout Standard
5603 All the tags described in this chapter are case-insensitive; this means
5616 are really the same command.
5617 The possible values are printed in brackets after the feature's name.
5618 The default value if a feature isn't specified inside a text class-description
5626 If the argument has a datatype like
5627 \begin_inset Quotes eld
5631 \begin_inset Quotes erd
5635 \begin_inset Quotes eld
5639 \begin_inset Quotes erd
5642 , the default is shown like this:
5652 \begin_layout Subsection
5653 Supporting new document classes
5656 \begin_layout Standard
5657 There are two situations you are likely to encounter when wanting to support
5658 a new LaTeX document class, involving LaTeX2e class (
5669 \begin_layout Subsection
5677 \begin_layout Standard
5678 If your new document class is provided as a style file that is used in conjuncti
5679 on with an existing, supported document class, start by copying the existing
5680 class's layout file into your local directory.
5681 For the sake of example we'll assume that the style file is called
5685 and it is meant to be used with
5689 which is a standard class.
5692 \begin_layout LyX-Code
5693 cp report.layout ~/.lyx/layouts/myclass.layout
5696 \begin_layout Standard
5701 and change the line:
5704 \begin_layout LyX-Code
5707 DeclareLaTeXClass{report}
5710 \begin_layout Standard
5714 \begin_layout LyX-Code
5717 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5720 \begin_layout Standard
5724 \begin_layout LyX-Code
5734 \begin_layout Standard
5735 near the top of the file.
5738 \begin_layout Standard
5739 Start LyX and select
5744 ools\SpecialChar \menuseparator
5752 Restart LyX and try creating a new document.
5757 " as a document class option in the
5762 ocument\SpecialChar \menuseparator
5770 It is likely that some of the sectioning commands and such will differ
5771 from how the base class
5775 \begin_layout Standard
5785 works, so you can fiddle around with the settings for the different sections
5787 See below for more discussion on this.
5790 \begin_layout Subsection
5798 \begin_layout Standard
5799 In this case, you will probably have to
5800 \begin_inset Quotes eld
5804 \begin_inset Quotes erd
5808 We strongly suggest copying an existing layout file which uses a similar
5809 LaTeX class and modifying it if at all possible.
5810 At least use an existing file as a starting point so you can find out what
5811 items you need to worry about.
5812 Again, the specifics are covered below.
5815 \begin_layout Section
5816 Declaring a new text class
5819 \begin_layout Standard
5820 When it's finally time to get your hands dirty and create or edit your own
5821 layout file, the following sections describe what you're up against.
5822 Our advice is to go slowly, save and test often, listen to soothing music,
5823 and enjoy one or two of your favorite adult beverages; more if you are
5824 getting particularly stuck.
5825 It's really not that hard, except that the multitude of options can become
5826 overwhelming if you try to do to much in one sitting.
5827 Go have another adult beverage, just for good measure.
5830 \begin_layout Standard
5834 \begin_layout Standard
5835 Lines in a layout file which begin with a
5840 There is one exception to this rule: all layouts should begin with lines
5844 \begin_layout LyX-Code
5847 #% Do not delete the line below; configure depends on this
5850 \begin_layout LyX-Code
5855 DeclareLaTeXClass{article}
5858 \begin_layout Standard
5859 The second line is used when you configure LyX.
5860 The layout file is read by the LaTeX script
5864 , in a special mode where
5869 The first line is just a LaTeX comment, and the second one contains the
5870 declaration of the text class.
5871 If these lines appear in a file named
5875 , then they define a text class of name
5879 (the name of the layout file) which uses the LaTeX document class
5883 (the default is to use the same name as the layout).
5885 \begin_inset Quotes eld
5889 \begin_inset Quotes erd
5892 that appears above is used as a description of the text class in the
5897 ocument\SpecialChar \menuseparator
5907 \begin_layout Standard
5908 Let's assume that you wrote your own text class that uses the
5912 documentclass, but where you changed the appearance of the section headings.
5913 If you put it in a file
5917 , the header of this file should be:
5920 \begin_layout LyX-Code
5923 #% Do not delete the line below; configure depends on this
5926 \begin_layout LyX-Code
5931 DeclareLaTeXClass[article]{article (with my own headings)}
5934 \begin_layout Standard
5935 This declares a text class
5939 , associated with the LaTeX document class
5944 \begin_inset Quotes eld
5947 article (with my own headings)
5948 \begin_inset Quotes erd
5952 If your text class depends on several packages, you can declare it as:
5955 \begin_layout LyX-Code
5958 #% Do not delete the line below; configure depends on this
5961 \begin_layout LyX-Code
5966 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5969 \begin_layout Standard
5970 This indicates that your text class uses the foo.sty package.
5971 Finally, it is also possible to declare classes for DocBook code.
5972 Typical declarations will look like
5975 \begin_layout LyX-Code
5978 #% Do not delete the line below; configure depends on this
5981 \begin_layout LyX-Code
5986 DeclareDocBookClass[article]{SGML (DocBook article)}
5989 \begin_layout Standard
5990 Note that these declarations can also be given an optional parameter declaring
5991 the name of the document class (but not a list).
5994 \begin_layout Standard
5995 When the text class has been modified to your taste, all you have to do
5996 is to copy it either in
6009 ools\SpecialChar \menuseparator
6017 Exit LyX and restart it; then your new text class should be available along
6021 \begin_layout Subsection
6025 \begin_layout Standard
6026 The first non-comment line must contain the file format number:
6029 \begin_layout Description
6040 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
6041 don't have an explicit file format).
6042 The file format that is documented here is
6049 \begin_layout Subsection
6050 General text class parameters
6053 \begin_layout Standard
6054 These are the general parameters which describe the form of the entire document:
6057 \begin_layout Standard
6061 \begin_layout Standard
6073 \begin_layout Description
6087 ] Whether the class-default should have one or two columns.
6088 Can be changed in the
6093 ocument\SpecialChar \menuseparator
6101 This setting (same goes for
6105 , too) is important: if your text class has two columns by default but you
6106 forget to set it correctly, the
6114 be output when you select
6123 ocument\SpecialChar \menuseparator
6131 \begin_layout Description
6145 ] Whether the class-default should be printing on one or both sides of the
6147 Can be changed in the
6152 ocument\SpecialChar \menuseparator
6162 \begin_layout Description
6176 ] The class default pagestyle.
6177 Can be changed in the
6182 ocument\SpecialChar \menuseparator
6192 \begin_layout Description
6196 ClassOptions\SpecialChar \ldots{}
6200 This section describes various global options supported by the document
6202 See Section\InsetSpace ~
6204 \begin_inset LatexCommand ref
6205 reference "sec:classoptions"
6212 \begin_layout Description
6230 ] Whether the class already provides the feature
6235 A feature is in general the name of a package (amsmath, makeidx, \SpecialChar \ldots{}
6237 macro (url, boldsymbol,\SpecialChar \ldots{}
6238 ); the complete list of supported features is unfortunat
6242 \begin_layout Description
6249 This is used to describe the default font of the document.
6250 See Section\InsetSpace ~
6252 \begin_inset LatexCommand ref
6253 reference "sec:fonts"
6260 \begin_layout Description
6271 ] This is the style that will be assigned to new paragraphs, usually
6276 This will default to the first defined style if not given, but you are
6277 highly encouraged to use this directive.
6280 \begin_layout Description
6297 ] Indicates what kind of markup is used to define the title of a document.
6302 means that the macro with name
6306 will be inserted after the last layout which has
6307 \begin_inset Quotes eld
6315 \begin_inset Quotes erd
6323 corresponds to the case where the block of paragraphs which have
6324 \begin_inset Quotes eld
6332 \begin_inset Quotes erd
6335 should be enclosed into the
6344 \begin_layout Description
6355 ] The name of the command/environment mentionned above.
6358 \begin_layout Description
6362 Preamble\SpecialChar \ldots{}
6366 A set of macro definitions that will be output at the beginning of the
6368 Use this for global definitions.
6371 \begin_layout Description
6378 As its name implies, this command allows you to include another layout
6379 definition file within yours to avoid duplicating commands.
6380 Common examples are the standard layout files, for example,
6384 , which contains most of the basic layouts.
6387 \begin_layout Description
6391 Style\SpecialChar \ldots{}
6395 This sequence defines a new style.
6396 If the style already exists, it will redefine some of its parameters instead.
6397 See Section\InsetSpace ~
6399 \begin_inset LatexCommand ref
6400 reference "sec:style"
6407 \begin_layout Description
6414 This command deletes an existing style.
6415 This is particularly useful when you want to suppress a style that has
6416 be defined in an input file.
6419 \begin_layout Description
6423 Float\SpecialChar \ldots{}
6427 This sequence defines a new float.
6428 See Section\InsetSpace ~
6430 \begin_inset LatexCommand ref
6431 reference "sec:floats"
6438 \begin_layout Description
6445 This command deletes an existing float.
6446 This is particularly useful when you want to suppress a float that has
6447 be defined in an input file.
6450 \begin_layout Description
6454 CharStyle\SpecialChar \ldots{}
6458 This section defines a new character style.
6459 See Section\InsetSpace ~
6461 \begin_inset LatexCommand ref
6462 reference "sec:charstyle"
6469 \begin_layout Description
6473 Counter\SpecialChar \ldots{}
6477 This sequence defines a new counter.
6478 See Section\InsetSpace ~
6480 \begin_inset LatexCommand ref
6481 reference "sec:counter"
6488 \begin_layout Standard
6492 \begin_layout Standard
6504 \begin_layout Subsection
6512 \begin_layout Standard
6513 \begin_inset LatexCommand label
6514 name "sec:classoptions"
6522 section can contain the following entries:
6525 \begin_layout Description
6536 ] The list of available font sizes for the document's main font, separated
6538 \begin_inset Quotes eld
6546 \begin_inset Quotes erd
6552 \begin_layout Description
6561 string="empty|plain|headings|fancy"
6563 ] The list of available page styles, separated by
6564 \begin_inset Quotes eld
6572 \begin_inset Quotes erd
6578 \begin_layout Description
6589 ] Some document class options, separated by a comma, that will be added
6590 to the optional part of the
6599 \begin_layout Subsection
6600 Specific Paragraph Layouts
6603 \begin_layout Standard
6604 \begin_inset LatexCommand label
6609 A paragraph layout description looks like this
6613 \begin_layout Standard
6614 Note that this will either define a new layout or modify an existing one.
6622 \begin_layout LyX-Code
6629 \begin_layout LyX-Code
6633 \begin_layout LyX-Code
6637 \begin_layout Standard
6638 where the following commands are allowed:
6641 \begin_layout Standard
6645 \begin_layout Standard
6657 \begin_layout Description
6668 This is used to copy all the features of an existing layout into the current
6673 \begin_layout Description
6685 , Command, Environment, Item_Environment,
6691 ] How the layout should be translated into LaTeX.
6696 means nothing special.
6709 {\SpecialChar \ldots{}
6724 }\SpecialChar \ldots{}
6748 is generated for each paragraph of this environment.
6761 is passed as an argument to the environment.
6766 can be defined in the
6771 ayout\SpecialChar \menuseparator
6785 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6786 Visit the SGML class files for specific examples.
6789 \begin_layout Description
6800 If 1, marks the layout as being part of a title block (see also the
6811 \begin_layout Description
6818 The name of the corresponding LaTeX stuff.
6819 Either the environment or command name.
6822 \begin_layout Description
6829 The optional parameter for the corresponding
6836 This parameter cannot be changed from within LyX.
6839 \begin_layout Description
6850 ] The number of optional arguments that can be used with this layout.
6851 This is useful for things like section headings, and only makes sense with
6855 \begin_layout Description
6867 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6871 The kind of margin that the layout has on the left side.
6876 just means a fixed margin.
6881 means that the left margin depends on the string entered in the
6886 dit\SpecialChar \menuseparator
6891 aragraph\InsetSpace ~
6895 This is used to typeset nice lists without tabulators.
6900 means that the margin depends on the size of the label.
6901 This is used for automatic enumerated headlines.
6902 It is obvious that the headline
6903 \begin_inset Quotes eld
6906 5.4.3.2.1 Very long headline
6907 \begin_inset Quotes erd
6910 must have a wider left margin (as wide as
6911 \begin_inset Quotes eld
6915 \begin_inset Quotes erd
6918 plus the space) than
6919 \begin_inset Quotes eld
6922 3.2 Very long headline
6923 \begin_inset Quotes erd
6926 , even if other word processors are not able to do this.
6931 is similar, but only the very first row of the paragraph is dynamic, while
6932 the others are static; this is used, for example, for descriptions.
6937 means the margin is chosen in a way that the longest row of this paragraph
6938 fits to the right margin.
6939 This is used to typeset an address on the right edge of the page.
6942 \begin_layout Description
6959 ] Whether the following Paragraph is allowed to indent its very first row.
6964 means that it is not allowed to do so,
6968 means it could do so if it wants to.
6971 \begin_layout Description
6982 ] The indent of the very first line of a paragraph.
6983 The argument is passed as a string.
6988 means that the paragraph is indented with the width of
6997 You can get a negative width by prefixing the string with
7002 This way was chosen so that the look is the same with each used screen
7008 will be fixed for a certain layout.
7009 The exception is Standard layout, since the indentation of a Standard layout
7010 paragraph can be prohibited with
7015 Also, Standard layout paragraphs inside environments use the
7019 of the environment, not their native one.
7020 For example, Standard paragraphs inside an enumeration are not indented.
7023 \begin_layout Description
7034 ] LyX allows to choose either
7035 \begin_inset Quotes eld
7039 \begin_inset Quotes erd
7043 \begin_inset Quotes eld
7047 \begin_inset Quotes erd
7050 to typeset a document.
7052 \begin_inset Quotes eld
7056 \begin_inset Quotes erd
7059 is chosen, this value is completely ignored.
7061 \begin_inset Quotes eld
7065 \begin_inset Quotes erd
7068 is chosen, the parindent of a LaTeXtype
7069 \begin_inset Quotes eld
7073 \begin_inset Quotes erd
7076 layout is ignored and all paragraphs are additionally separated by this
7078 The vertical space is calculated with
7080 value*DefaultHeight()
7086 is the height of a row with the normal font.
7087 This way, the look stays the same with different screen fonts.
7090 \begin_layout Description
7101 ] The vertical space with which the very first of a chain of paragraphs
7102 with this layout is separated from the previous paragraph.
7103 If the previous paragraph has another layout, the separations are not simply
7104 added, but the maximum is taken.
7107 \begin_layout Description
7122 for the very last paragraph.
7125 \begin_layout Description
7136 ] The vertical space between two paragraphs of this layout.
7139 \begin_layout Description
7150 ] This is an extra space between the paragraphs of an environment layout.
7151 If you put other layouts into an environment, each is separated with the
7157 But the whole items of the environment are additionally separated with
7166 \begin_layout Description
7177 ] If you put layouts into environments, the leftmargins are not simply added,
7178 but added with a factor
7179 \begin_inset Formula $\frac{4}{depth+4}$
7183 Note that this parameter is also used when the border is defined as
7192 Then it is added to the manual or dynamic border.
7193 This string has the same meaning as for
7200 \begin_layout Description
7218 \begin_layout Description
7230 , Manual, Static, Top_Environment,
7232 Centered_Top_Environment, Sensitive,
7241 means the label is the very first word (up to the first real blank).
7246 means it is defined in the layout (see
7257 Centered_Top_Environment
7259 are special cases of
7264 The label will be printed above the paragraph, but only at the top of an
7265 environment or the top of a chain of paragraphs with this layout.
7266 Usage is for example the
7275 This is also the case for
7279 labels with latex type
7283 , in order to make layouts for theorems work correctly.
7288 is a special case for the caption-labels
7289 \begin_inset Quotes eld
7293 \begin_inset Quotes erd
7297 \begin_inset Quotes eld
7301 \begin_inset Quotes erd
7309 means the (hardcoded) label string depends on the kind of float.
7314 label type defines automatically numbered labels.
7317 \begin_layout Description
7330 The name of the counter for automatic numbering (see Section\InsetSpace ~
7332 \begin_inset LatexCommand ref
7333 reference "sec:counter"
7338 This must be given if
7351 \begin_layout Description
7362 ] The horizontal space between the label and the text body.
7363 Only used for labels that are not above the text body.
7366 \begin_layout Description
7373 [float=0] The vertical space between the label and the text body.
7374 Only used for labels that are above the text body (
7380 Centered_Top_Environment
7385 \begin_layout Description
7396 ] The string used for a label with a
7405 this string is also used as a suggestion for the
7409 that can be set in the
7414 dit\SpecialChar \menuseparator
7419 aragraph\InsetSpace ~
7429 is set, this string can be contain special formatting commands as explained
7430 in Section\InsetSpace ~
7432 \begin_inset LatexCommand ref
7433 reference "sec:counter"
7440 \begin_layout Description
7451 ] This is used inside the appendix instead of
7472 \begin_layout Description
7479 The level of the style in the table of contents.
7480 This is used for automatic numbering of section headings.
7483 \begin_layout Description
7495 , Box, Filled_Box, Static
7497 ] The type of label that stands at the end of the paragraph (or sequence
7520 \begin_inset Quotes eld
7524 \begin_inset Quotes erd
7536 ) is a white (resp.\InsetSpace ~
7537 black) square suitable for end of proof markers,
7541 is an explicit text string.
7544 \begin_layout Description
7555 ] The string used for a label with a
7567 \begin_layout Description
7579 , left, right, center
7581 ] Paragraph alignment.
7584 \begin_layout Description
7596 , left, right, center
7603 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7605 For example a right-aligned or centered enumeration isn't possible.
7608 \begin_layout Description
7622 ] With this parameter the
7627 \begin_inset Quotes eld
7630 Vertical space above
7631 \begin_inset Quotes erd
7639 dit\SpecialChar \menuseparator
7644 aragraph\InsetSpace ~
7647 dialog can be set when initializing a paragraph with this layout
7651 \begin_layout Standard
7654 Note from Jean-Marc:
7656 I'm not sure that this setting has much use, and it should probably be
7657 removed in later versions.
7666 \begin_layout Description
7687 \begin_layout Description
7701 ] Whether fragile commands in this layout should be
7710 \begin_layout Description
7727 ] Whether newlines are translated into LaTeX newlines (
7736 The translation can be switched off to allow more comfortable LaTeX editing
7740 \begin_layout Description
7754 ] Whether the contents of this paragraph should be output in raw form, meaning
7755 without special translations that LaTeX would require.
7756 This somehow replaces the older
7763 \begin_layout Description
7777 ] Usually LyX doesn't allow you to insert more than one space between words,
7778 since a space is considered as the separation between two words, not a
7779 character or symbol of its own.
7780 This is a very fine thing but sometimes annoying, for example when typing
7781 program code or plain LaTeX code.
7787 Note that LyX will create protected blanks for the additional blanks when
7788 in another mode than LaTeX-mode.
7791 \begin_layout Description
7805 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7806 lead to empty LaTeX output.
7807 There are some cases where this could be desirable however: in a letter
7808 template, the required fields can be provided as empty fields, so that
7809 people do not forget them; in some special classes, a layout can be used
7810 as some kind of break, which does not contain actual text.
7813 \begin_layout Description
7825 , onehalf, double, other
7831 ] This defines what the default spacing should be in the layout.
7844 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7845 If you specify the argument
7849 , then you should also provide a numerical argument which will be the actual
7851 Note that, contrary to other parameters,
7855 implies the generation of specific LaTeX code, using the package
7862 \begin_layout Description
7869 The font used for both the text body
7874 See section\InsetSpace ~
7876 \begin_inset LatexCommand ref
7877 reference "sec:fonts"
7882 Note that defining this font automatically defines the
7889 \begin_layout Description
7896 The font used for the text body .
7897 See section\InsetSpace ~
7899 \begin_inset LatexCommand ref
7900 reference "sec:fonts"
7907 \begin_layout Description
7914 The font used for the label.
7915 See section\InsetSpace ~
7917 \begin_inset LatexCommand ref
7918 reference "sec:fonts"
7925 \begin_layout Description
7929 Preamble\SpecialChar \ldots{}
7933 A set of macro definitions that will be output at the beginning of the
7934 LaTeX files when the layout is used.
7935 Use this to define the macros needed by this particular layout.
7938 \begin_layout Description
7945 the name of a style which preamble should be output
7949 the one mentionned above.
7950 This allows to ensure some ordering of the preamble snippets when macros
7951 definitions depend on one another
7955 \begin_layout Standard
7956 Note that, besides that functionality, there is no way to ensure any ordering
7958 The ordering that you see in a given version of LyX may change without
7959 warning in later versions.
7967 \begin_layout Standard
7971 \begin_layout Standard
7983 \begin_layout Subsection
7987 \begin_layout Standard
7988 \begin_inset LatexCommand label
7993 Since version 1.3.0 of LyX, it is necessary to define the floats (
8001 , \SpecialChar \ldots{}
8002 ) in the text class itself.
8003 If you are looking here to learn how to upgrade an existing text class,
8004 it will probably turn out that all you have to do is to add
8007 \begin_layout LyX-Code
8011 \begin_layout Standard
8012 at a reasonable location of the text class.
8016 \begin_layout Standard
8017 Don't forget to also have a look at counters in next section.
8022 If you want to implement a text class that proposes some other float types
8023 (like the AGU class bundled with LyX), the information below will hopefully
8027 \begin_layout Description
8039 \begin_inset Quotes erd
8043 \begin_inset Quotes erd
8047 \begin_inset Quotes eld
8051 \begin_inset Quotes erd
8054 of the new class of floats, like program or algorithm.
8055 After the appropriate
8076 \begin_layout Description
8088 \begin_inset Quotes erd
8092 \begin_inset Quotes erd
8095 ] The string that will be used in the menus and also for the caption.
8098 \begin_layout Description
8119 if the float is already defined by the documentclass.
8124 , the float will be defined using the LaTeX package
8131 \begin_layout Description
8143 \begin_inset Quotes erd
8147 \begin_inset Quotes erd
8150 ] This (optional) argument determines whether floats of this class will
8151 be numbered within some sectional unit of the document.
8152 For example, if within is equal to
8156 , the floats will be numbered within chapters.
8160 \begin_layout Description
8172 \begin_inset Quotes erd
8176 \begin_inset Quotes erd
8179 ] The style used when defining the float using
8188 \begin_layout Description
8200 \begin_inset Quotes erd
8204 \begin_inset Quotes erd
8207 ] The default placement for the given class of floats.
8208 They are like in standard LaTeX:
8224 for top, bottom, page, and here, respectively.
8228 \begin_layout Standard
8229 Note that the order of these letters in the string is irrelevant, like in
8235 On top of that there is a new type,
8239 , which does not really correspond to a float, since it means: put it
8240 \begin_inset Quotes eld
8244 \begin_inset Quotes erd
8248 Note, however that the
8252 specifier is special and, because of implementation details cannot be used
8253 in non-builtin float types.
8254 If you do not understand what this means, just use
8261 \begin_layout Description
8273 \begin_inset Quotes erd
8277 \begin_inset Quotes erd
8280 ] The file name extension of an auxiliary file for the list of figures (or
8282 LaTeX writes the captions to this file.
8285 \begin_layout Description
8297 \begin_inset Quotes erd
8301 \begin_inset Quotes erd
8304 ] The heading used for the list of floats.
8307 \begin_layout Subsection
8311 \begin_layout Standard
8312 \begin_inset LatexCommand label
8313 name "sec:charstyle"
8317 You can define character styles since version 1.4.0 of LyX.
8322 section can contain the following entries:
8325 \begin_layout Description
8332 The font used for both the text body
8337 See section\InsetSpace ~
8339 \begin_inset LatexCommand ref
8340 reference "sec:fonts"
8345 Note that defining this font automatically defines the
8352 \begin_layout Description
8359 The font used for the label.
8360 See section\InsetSpace ~
8362 \begin_inset LatexCommand ref
8363 reference "sec:fonts"
8370 \begin_layout Description
8377 The name of the corresponding LaTeX stuff.
8378 Either the environment or command name.
8381 \begin_layout Description
8388 The optional parameter for the corresponding
8395 This parameter cannot be changed from within LyX.
8398 \begin_layout Description
8405 See section\InsetSpace ~
8407 \begin_inset LatexCommand ref
8408 reference "sec:style"
8415 \begin_layout Description
8419 Preamble\SpecialChar \ldots{}
8423 See section\InsetSpace ~
8425 \begin_inset LatexCommand ref
8426 reference "sec:style"
8433 \begin_layout Subsection
8437 \begin_layout Standard
8438 \begin_inset LatexCommand label
8443 Since version 1.3.0 of LyX, it is necessary to define the counters (
8451 , \SpecialChar \ldots{}
8452 ) in the text class itself.
8453 If you are looking here to learn how to upgrade an existing text class,
8454 it will probably turn out that all you have to do is to add
8457 \begin_layout LyX-Code
8458 Input stdcounters.inc
8461 \begin_layout Standard
8462 The definition of counters is presently a bit primitive in LyX, since many
8463 things are still hardcoded.
8464 The following two parameters can be used:
8467 \begin_layout Description
8479 \begin_inset Quotes erd
8483 \begin_inset Quotes erd
8486 ] The name of the counter
8489 \begin_layout Description
8501 \begin_inset Quotes erd
8505 \begin_inset Quotes erd
8508 ] If this is set to the name of another counter, the present counter will
8509 be reset everytime the other one is increased (is that unclear enough?).
8512 \begin_layout Standard
8513 When a counter has been associated to a style, it is possible to use some
8514 special constructs in
8529 \begin_layout Itemize
8538 will be replaced the expanded
8549 This is used for example to define the label of a subsection in terms of
8550 the label of a section.
8553 \begin_layout Itemize
8554 counter values can be expressed using LaTeX-like macros
8578 \begin_layout Description
8589 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8594 \begin_layout Standard
8604 Actually, the situation is a bit more complicated than that: any
8623 other than those descibed below will produce arabic numerals.
8624 It would not be surprising to see this change in the future.
8632 \begin_layout Description
8639 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8643 \begin_layout Description
8650 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8654 \begin_layout Description
8661 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8665 \begin_layout Description
8672 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8676 \begin_layout Description
8683 for hebrew numerals.
8687 \begin_layout Subsection
8691 \begin_layout Standard
8692 \begin_inset LatexCommand label
8697 A font description looks like that:
8700 \begin_layout LyX-Code
8710 \begin_layout LyX-Code
8714 \begin_layout LyX-Code
8718 \begin_layout Standard
8719 and the following commands are available:
8722 \begin_layout Description
8739 \begin_layout Description
8756 \begin_layout Description
8768 , Italic, SmallCaps, Slanted
8773 \begin_layout Description
8789 , large, larger, largest, huge, giant
8794 \begin_layout Description
8806 , black, white, red, green, blue, cyan, magenta, yellow
8811 \begin_layout Subsection
8812 Upgrading old layout files
8815 \begin_layout Standard
8816 The file format of layout files changes from time to time, so old layout
8817 files need to be converted.
8818 This process has been automated in LyX 1.4.0: If LyX reads an old format
8819 layout file it will call the conversion tool
8821 $LyXDir/scripts/layout2layout.py
8823 and convert it to a temporary file in current format.
8824 The original file is left untouched, so that you can still use it with
8826 If you want to convert the layout file permanently, just call the converter
8830 \begin_layout LyX-Code
8831 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8834 \begin_layout Standard
8846 \begin_layout Standard
8847 The automatic conversion does only handle syntax changes.
8848 It cannot handle the case where the contents of included files was changed.
8849 For example, layout files based on
8862 If you get error messages about undefined counters, try to convert your
8882 \begin_layout Section
8884 \begin_inset LatexCommand label
8885 name "sec:templates"
8892 \begin_layout Standard
8893 Templates are created just like usual documents.
8894 The only difference is that usual documents contain all possible settings,
8895 including the fontscheme and the papersize.
8896 Usually a user doesn't want a template to overwrite his defaults in these
8898 For that reason, the designer of a template should remove the corresponding
8911 from the template LyX file.
8912 This can be done with any simple text-editor, for example
8924 \begin_layout Standard
8925 Put the edited template files you create in
8929 , copy the ones you use from the global template directory in
8933 to the same place, and redefine the template path in the
8938 dit\SpecialChar \menuseparator
8957 \begin_layout Standard
8958 Note that there is a template which has a particular meaning:
8963 This template is loaded everytime you create a new document with
8970 \SpecialChar \menuseparator
8978 in order to provide useful defaults.
8979 To create this template from inside LyX, all you have to do is to open
8980 a document with the correct settings, and use the
8986 e as Document Defaults
8991 \begin_layout Chapter
8992 Including External Material
8995 \begin_layout Section
8999 \begin_layout Standard
9000 \begin_inset Note Note
9003 \begin_layout Standard
9004 This section is completely outdated.
9009 One often requested feature from LyX users is to be able to interface LyX
9010 with Xfig, Dia, or other similar applications that specialize in producing
9011 a certain kind of diagram, figure, schematic or whatever material might
9012 be relevant to include in your document.
9013 Previously, it was only possible to include boring, static, fixed images
9014 in LyX documents with the graphics feature, but there are several limitations
9015 attached to this approach:
9018 \begin_layout Itemize
9019 If you want to change the figure, you have to invoke an external program
9023 \begin_layout Itemize
9024 LyX does not notice that the referenced files change, so the on-screen display
9025 can fast become obsolete, and this is aggravated by the lack of a means
9026 of updating the display
9029 \begin_layout Itemize
9030 The graphics stuff does not provide any mechanisms for coping with different
9031 exported formats such as DocBook, HTML or plain text
9034 \begin_layout Standard
9035 The external material facility attempts to solve all of these problems
9039 \begin_layout Standard
9040 Even if the graphics facility can't solve all problems, it is still valuable
9041 because it does provide in-line preview of the graphics, and supports advanced
9042 geometric transformations with a comfortable user interface.
9048 It does this by offering a general method to interface LyX to external
9050 Instead of introducing a long list of different constructs tailored for
9051 each specific application, we chose to sacrifice the in-line displaying
9052 of the included material in order to provide a general construct to cover
9053 a wide range of applications.
9054 The result is the external material construct.
9055 External material presents itself in the document simply as a button, but
9056 don't let this fool you.
9057 When you click on it, a dialog will appear that allows you to chose exactly
9058 what material to include, and in the following sections you will learn
9059 that this is indeed a powerful mechanism that can solve all of the above
9063 \begin_layout Section
9067 \begin_layout Standard
9068 The external material feature is based on the concept of a
9073 A template is a specification of how LyX should interface with a certain
9075 As bundled, LyX comes with predefined templates for Xfig figures, Dia diagrams,
9076 various raster format images, gnuplot, and more.
9077 You can check the actual list by using the menu
9079 Insert\SpecialChar \menuseparator
9080 File\SpecialChar \menuseparator
9089 Furthermore, it is possible to roll your own template to support a specific
9091 Later we'll describe in more detail what is involved, and hopefully you
9092 will submit all the templates you create so we can include them in a later
9096 \begin_layout Standard
9097 Another basic idea of the external material feature is to distinguish between
9098 the original file that serves as a base for final material and the produced
9099 file that is included in your exported or printed document.
9100 For example, consider the case of a figure produced with
9105 The Xfig application itself works on an original file with the
9110 Within XFig, you create and change your figure, and when you are done,
9116 When you want to include the figure in your document, you invoke
9120 in order to create a PostScript file that can readily be included in your
9126 file is the original file, and the PostScript file is the produced file.
9129 \begin_layout Standard
9130 This distinction is important in order to allow updating of the material
9131 while you are in the process of writing the document.
9132 Furthermore, it provides us with the flexibility that is needed to support
9133 multiple export formats.
9134 For instance, in the case of a plain text file, it is not exactly an award-winn
9135 ing idea to include the figure as raw PostScript.
9136 Instead, you'd either prefer to just include a reference to the figure,
9137 or try to invoke some graphics to Ascii converter to make the final result
9138 look similar to the real graphics.
9139 The external material management allows you to do this, because it is parameter
9140 ized on the different export formats that LyX supports.
9143 \begin_layout Standard
9144 Besides supporting the production of different products according to the
9145 exported format, it supports tight integration with editing and viewing
9147 In the case of an XFig figure, you are able to invoke
9151 on the original file with a single click from within the external material
9152 dialog in LyX, and also preview the produced PostScript file with
9157 No more fiddling around with the command line and/or file browsers to locate
9158 and manipulate the original or produced files.
9159 In this way, you are finally able to take full advantage of the many different
9160 applications that are relevant to use when you write your documents, and
9161 ultimately be more productive.
9164 \begin_layout Section
9165 External material dialog
9168 \begin_layout Standard
9173 dialog is described in the
9182 \begin_layout Section
9186 \begin_layout Standard
9187 In this section, we should include some examples of use of the external
9189 Those examples could include:
9192 \begin_layout Itemize
9193 External raster images
9196 \begin_layout Itemize
9197 External XFig figures
9200 \begin_layout Itemize
9204 \begin_layout Itemize
9208 \begin_layout Itemize
9209 The use of makefiles
9212 \begin_layout Itemize
9213 Recursive external LyX templates
9216 \begin_layout Section
9217 The external template configuration file
9220 \begin_layout Standard
9221 It is relatively easy to add custom external template definitions to LyX.
9222 However, be aware this doing this in an careless manner most probably
9226 introduce an easily exploitable security hole.
9227 So before you do this, please read the discussion about security which
9231 \begin_layout Standard
9232 Having said that, we encourage you to submit any interesting templates that
9237 \begin_layout Standard
9238 The external templates are defined in the
9240 lib/external_templates
9243 You can place your own version in
9245 .lyx/external_templates
9250 \begin_layout Standard
9251 A typical template looks like this:
9254 \begin_layout LyX-Code
9258 \begin_layout LyX-Code
9259 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
9262 \begin_layout LyX-Code
9266 \begin_layout LyX-Code
9270 \begin_layout LyX-Code
9274 \begin_layout LyX-Code
9278 \begin_layout LyX-Code
9282 \begin_layout LyX-Code
9283 AutomaticProduction true
9286 \begin_layout LyX-Code
9290 \begin_layout LyX-Code
9294 \begin_layout LyX-Code
9298 \begin_layout LyX-Code
9299 TransformCommand Rotate RotationLatexCommand
9302 \begin_layout LyX-Code
9303 TransformCommand Resize ResizeLatexCommand
9306 \begin_layout LyX-Code
9307 Product "$$RotateFront$$ResizeFront
9310 \begin_layout LyX-Code
9315 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
9318 \begin_layout LyX-Code
9319 $$ResizeBack$$RotateBack"
9322 \begin_layout LyX-Code
9326 \begin_layout LyX-Code
9327 UpdateResult "$$AbsPath$$Basename.pstex_t"
9330 \begin_layout LyX-Code
9331 Requirement "graphicx"
9334 \begin_layout LyX-Code
9335 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9338 \begin_layout LyX-Code
9339 ReferencedFile latex "$$AbsPath$$Basename.eps"
9342 \begin_layout LyX-Code
9343 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9346 \begin_layout LyX-Code
9350 \begin_layout LyX-Code
9354 \begin_layout LyX-Code
9355 TransformCommand Rotate RotationLatexCommand
9358 \begin_layout LyX-Code
9359 TransformCommand Resize ResizeLatexCommand
9362 \begin_layout LyX-Code
9363 Product "$$RotateFront$$ResizeFront
9366 \begin_layout LyX-Code
9371 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9374 \begin_layout LyX-Code
9375 $$ResizeBack$$RotateBack"
9378 \begin_layout LyX-Code
9382 \begin_layout LyX-Code
9383 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9386 \begin_layout LyX-Code
9387 Requirement "graphicx"
9390 \begin_layout LyX-Code
9391 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9394 \begin_layout LyX-Code
9395 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9398 \begin_layout LyX-Code
9402 \begin_layout LyX-Code
9406 \begin_layout LyX-Code
9407 Product "$$Contents(
9409 "$$AbsPath$$Basename.asc
9414 \begin_layout LyX-Code
9415 UpdateFormat asciixfig
9418 \begin_layout LyX-Code
9419 UpdateResult "$$AbsPath$$Basename.asc"
9422 \begin_layout LyX-Code
9426 \begin_layout LyX-Code
9430 \begin_layout LyX-Code
9431 Product "<graphic fileref=
9433 "$$AbsOrRelPathMaster$$Basename.eps
9438 \begin_layout LyX-Code
9442 \begin_layout LyX-Code
9446 \begin_layout LyX-Code
9447 UpdateResult "$$AbsPath$$Basename.eps"
9450 \begin_layout LyX-Code
9451 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9454 \begin_layout LyX-Code
9455 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9458 \begin_layout LyX-Code
9462 \begin_layout LyX-Code
9463 Product "[XFig: $$FName]"
9466 \begin_layout LyX-Code
9470 \begin_layout LyX-Code
9474 \begin_layout Standard
9475 As you can see, the template is enclosed in
9479 \SpecialChar \ldots{}
9485 It contains a header specifying some general settings, and for each supported
9486 primary document file format a section
9490 \SpecialChar \ldots{}
9498 \begin_layout Subsection
9502 \begin_layout Description
9506 Template\InsetSpace ~
9510 A unique name for the template.
9511 It must not contain substitution macros (see below).
9514 \begin_layout Description
9518 GuiName\InsetSpace ~
9522 The text that is displayed on the button.
9523 This command must occur exactly once.
9526 \begin_layout Description
9530 HelpText\InsetSpace ~
9535 The help text that is used in the External dialog.
9536 Provide enough information to explain to the user just what the template
9537 can provide him with.
9538 This command must occur exactly once.
9541 \begin_layout Description
9545 InputFormat\InsetSpace ~
9549 The file format of the original file.
9550 This must be the name of a format that is known to LyX (see the
9555 ools\SpecialChar \menuseparator
9560 references:Conversion
9567 if the template can handle original files of more than one format.
9568 LyX will attempt to interrogate the file itself in order to deduce its
9569 format in this case.
9570 This command must occur exactly once.
9573 \begin_layout Description
9577 FileFilter\InsetSpace ~
9581 A glob pattern that is used in the file dialog to filter out the desired
9583 If there is more than one possible file extension (e.g.\InsetSpace ~
9592 ), use something like
9597 This command must occur exactly once.
9600 \begin_layout Description
9604 AutomaticProduction\InsetSpace ~
9608 Wether the file represented by the template must be generated by LyX.
9609 This command must occur exactly once.
9612 \begin_layout Description
9616 Transform\InsetSpace ~
9617 Rotate|Resize|Clip|Extra
9620 This command specifies which transformations are supported by this template.
9621 It may occur zero or more times.
9622 This command enables the corresponding tabs in the external dialog.
9627 command must have either a corresponding
9640 Otherwise the transformation will not be supported by that format.
9643 \begin_layout Subsection
9647 \begin_layout Description
9652 LaTeX|PDFLaTeX|PlainText|DocBook
9655 The primary document file format that this format definition is for.
9656 Not every template has a sensible representation in all document file formats.
9657 Please define nevertheless a
9661 section for all formats.
9662 Use a dummy text when no representation is available.
9663 Then you can at least see a reference to the external material in the exported
9667 \begin_layout Description
9671 TransformCommand\InsetSpace ~
9673 RotationLatexCommand
9676 This command specifies that the built in LaTeX command should be used for
9678 This command may occur once or not at all.
9681 \begin_layout Description
9685 TransformCommand\InsetSpace ~
9690 This command specifies that the built in LaTeX command should be used for
9692 This command may occur once or not at all.
9695 \begin_layout Description
9699 TransformOption\InsetSpace ~
9704 This command specifies that rotation is done via an optional argument.
9705 This command may occur once or not at all.
9708 \begin_layout Description
9712 TransformOption\InsetSpace ~
9717 This command specifies that resizing is done via an optional argument.
9718 This command may occur once or not at all.
9721 \begin_layout Description
9725 TransformOption\InsetSpace ~
9730 This command specifies that clipping is done via an optional argument.
9731 This command may occur once or not at all.
9734 \begin_layout Description
9738 TransformOption\InsetSpace ~
9743 This command specifies that an extra optional argument is used.
9744 This command may occur once or not at all.
9747 \begin_layout Description
9751 Product\InsetSpace ~
9755 The text that is inserted in the exported document.
9756 This is actually the most important command and can be quite complex.
9757 This command must occur exactly once.
9760 \begin_layout Description
9764 UpdateFormat\InsetSpace ~
9768 The file format of the converted file.
9769 This must be the name of a format that is known to LyX (see the
9774 ools\SpecialChar \menuseparator
9779 references:Conversion
9782 This command must occur exactly once.
9785 \begin_layout Description
9789 UpdateResult\InsetSpace ~
9793 The file name of the converted file.
9794 The file name must be absolute.
9795 This command must occur exactly once.
9798 \begin_layout Description
9802 ReferencedFile\InsetSpace ~
9803 <format>\InsetSpace ~
9807 This command denotes files that are created by the conversion process and
9808 are needed for a particular export format.
9809 If the filename is relative, it is interpreted relative to the master document.
9810 This command may be given zero or more times.
9813 \begin_layout Description
9817 Requirement\InsetSpace ~
9821 The name of a required LaTeX package.
9822 The package is included via
9828 in the LaTeX preamble.
9829 This command may occur zero or more times.
9832 \begin_layout Description
9836 Preamble\InsetSpace ~
9840 This command specifies a preamble snippet that will be included in the
9842 It has to be defined using
9846 \SpecialChar \ldots{}
9852 This command may occur zero or more times.
9855 \begin_layout Description
9864 This command defines an additional macro
9877 itself may contain substitution macros.
9878 The advantage over using
9886 is that the substituted value of
9890 is sanitized so that it is a valid optional argument in the document format.
9891 This command may occur zero or more times.
9894 \begin_layout Subsection
9895 Preamble definitions
9898 \begin_layout Standard
9899 The external template configuration file may contain additional preamble
9900 definitions enclosed by
9904 \SpecialChar \ldots{}
9910 They can be used by the templates in the
9917 \begin_layout Section
9918 The substitution mechanism
9921 \begin_layout Standard
9922 When the external material facility invokes an external program, it is done
9923 on the basis of a command defined in the template configuration file.
9924 These commands can contain various macros that are expanded before execution.
9925 Execution always take place in the directory of the containing document.
9928 \begin_layout Standard
9929 Also, whenever external material is to be displayed, the name will be produced
9930 by the substitution mechanism, and most other commands in the template
9931 definition support substitution as well.
9934 \begin_layout Standard
9935 The available macros are the following:
9938 \begin_layout Description
9939 $$FName The filename of the file specified in the external material dialog.
9940 This is either an absolute name, or it is relative to the LyX document.
9943 \begin_layout Description
9944 $$Basename The filename without path and without the extension.
9947 \begin_layout Description
9948 $$Extension The file extension (including the dot).
9951 \begin_layout Description
9952 $$FPath The path part of
9956 (absolute name or relative to the LyX document).
9959 \begin_layout Description
9960 $$AbsPath The absolute file path.
9963 \begin_layout Description
9964 $$RelPathMaster The file path, relative to the master LyX document.
9967 \begin_layout Description
9968 $$RelPathParent The file path, relative to the LyX document.
9971 \begin_layout Description
9972 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9976 \begin_layout Description
9977 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9980 \begin_layout Description
9981 $$Tempname A name and full path to a temporary file which will be automatically
9982 deleted whenever the containing document is closed, or the external material
9986 \begin_layout Description
9988 \begin_inset Quotes eld
9992 \begin_inset Quotes erd
9995 ) This macro will expand to the contents of the file with the name
10002 \begin_layout Description
10003 $$Sysdir This macro will expand to the absolute path of the system directory.
10004 This is typically used to point to the various helper scripts that are
10008 \begin_layout Standard
10009 All path macros contain a trailing directory separator, so you can construct
10011 the absolute filename with
10013 $$AbsPath$$Basename$$Extension
10018 \begin_layout Standard
10019 The macros above are substituted in all commands unless otherwise noted.
10024 supports additionally the following substitutions if they are enabled by
10036 \begin_layout Description
10037 $$ResizeFront The front part of the resize command.
10040 \begin_layout Description
10041 $$ResizeBack The back part of the resize command.
10044 \begin_layout Description
10045 $$RotateFront The front part of the rotation command.
10048 \begin_layout Description
10049 $$RotateBack The back part of the rotation command.
10052 \begin_layout Standard
10053 The value string of the
10057 command supports additionally the following substitutions if they are enabled
10069 \begin_layout Description
10070 $$Clip The clip option.
10073 \begin_layout Description
10074 $$Extra The extra option.
10077 \begin_layout Description
10078 $$Resize The resize option.
10081 \begin_layout Description
10082 $$Rotate The rotation option.
10085 \begin_layout Standard
10086 You may ask why there are so many path macros.
10087 There are mainly two reasons:
10090 \begin_layout Standard
10091 First, relative and absolute file names should remain relative or absolute,
10093 Users may have reasons to prefer either form.
10094 Relative names are useful for portable documents that should work on different
10095 machines, for example.
10096 Absolute names may be required by some programs.
10099 \begin_layout Standard
10100 Second, LaTeX treats relative file names differently than LyX and other
10101 programs in nested included files.
10102 For LyX, a relative file name is always relative to the document that contains
10104 For LaTeX, it is always relative to the master document.
10105 These two definitions are identical if you have only one document, but
10106 differ if you have a master document that includes part documents.
10107 That means that relative filenames must be transformed when presented to
10109 Fortunately LyX does this automatically for you if you choose the right
10113 \begin_layout Standard
10114 So which path macro should be used in new template definitions? The rule
10118 \begin_layout Itemize
10123 if an absolute path is required.
10126 \begin_layout Itemize
10129 $$AbsOrRelPathMaster
10131 if the substituted string is some kind of LaTeX input.
10134 \begin_layout Itemize
10137 $$AbsOrRelPathParent
10139 in order to preserve the user's choice.
10142 \begin_layout Standard
10143 There are special cases where this rule does not work and e.g.\InsetSpace ~
10145 are needed, but normally it will work just fine.
10146 One example for such a case is the command
10148 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
10150 in the XFig template above: We can't use the absolute name because the
10155 files needs the relative name in order to rewrite the file content.
10158 \begin_layout Section
10159 Security discussion
10162 \begin_layout Standard
10163 \begin_inset Note Note
10166 \begin_layout Standard
10167 This section is outdated
10172 The external material feature interfaces with a lot of external programs
10173 and does so automatically, so we have to consider the security implications
10175 In particular, since you have the option of including your own filenames
10176 and/or parameter strings and those are expanded into a command, it seems
10177 that it would be possible to create a malicious document which executes
10178 arbitrary commands when a user views or prints the document.
10179 This is something we definately want to avoid.
10182 \begin_layout Standard
10183 However, since the external program commands are specified in the template
10184 configuration file only, there are no security issues if LyX is properly
10185 configured with safe templates only.
10186 This is so because the external programs are invoked with the
10190 -system call rather than the
10194 system-call, so it's not possible to execute arbitrary commands from the
10195 filename or parameter section via the shell.
10198 \begin_layout Standard
10199 This also implies that you are restricted in what command strings you can
10200 use in the external material templates.
10201 In particular, pipes and redirection are not readily available.
10202 This has to be so if LyX should remain safe.
10203 If you want to use some of the shell features, you should write a safe
10204 script to do this in a controlled manner, and then invoke the script from
10205 the command string.
10210 directory of the LyX installation, you can find a safe wrapper script
10212 general_command_wrapper.py
10214 that supports redirection of input and output.
10215 That can serve as an example for how to write safe template scripts.
10216 For a more advanced example that uses
10220 and friends, take a look at the
10227 \begin_layout Standard
10228 It is possible to design a template that interacts directly with the shell,
10229 but since this would allow a malicious user to execute arbitrary commands
10230 by writing clever filenames and/or parameters, we generally recommend that
10231 you only use safe scripts that work with the
10235 system call in a controlled manner.
10236 Of course, for use in a controlled environment, it can be tempting to just
10237 fall back to use ordinary shell scripts.
10238 If you do so, be aware that you
10242 provide an easily exploitable security hole in your system.
10243 Of course it stands to reason that such unsafe templates will never be
10244 included in the standard LyX distribution, although we do encourage people
10245 to submit new templates in the open source tradition.
10246 But LyX as shipped from the official distribution channels will never have
10250 \begin_layout Standard
10251 Including external material provides a lot of power, and you have to be
10252 careful not to introduce security hazards with this power.
10253 A subtle error in a single line in an innocent looking script can open
10254 the door to huge security problems.
10255 So if you do not fully understand the issues, we recommend that you consult
10256 a knowledgable security professional or the LyX development team if you
10257 have any questions about whether a given template is safe or not.
10258 And do this before you use it in an uncontrolled environment.
10261 \begin_layout Chapter
10265 \begin_layout Section
10269 \begin_layout Standard
10270 The LyX server is a method implemented in LyX that will enable other programs
10271 to talk to LyX, invoke LyX commands, and retrieve information about the
10272 LyX internal state.
10273 This is only intended for advanced users, but they should find it useful.
10276 \begin_layout Section
10277 Starting the LyX Server
10280 \begin_layout Standard
10281 The LyX server works through the use of a pair of named pipes.
10282 These are usually located in your home directory and have the names
10283 \begin_inset Quotes eld
10291 \begin_inset Quotes erd
10295 \begin_inset Quotes eld
10303 \begin_inset Quotes erd
10307 External programs write into
10311 and read back data from
10316 The stem of the pipe names can be defined in the
10321 ools\SpecialChar \menuseparator
10328 dialog, for example
10330 "/home/myhome/.lyxpipe"
10335 \begin_layout Standard
10344 ' to create the pipes.
10345 The above setting also has the effect of activating the LyX server.
10346 If one of the pipes already exists, LyX will assume that another LyX process
10347 is already running and will not start the server.
10348 To have several LyX processes with servers at the same time, you have to
10349 change the configuration between the start of the programs.
10352 \begin_layout Standard
10353 If you are developing a client program, you might find it useful to enable
10354 debugging information from the LyX server.
10355 Do this by starting LyX as
10357 lyx -dbg lyxserver.
10360 \begin_layout Standard
10361 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10362 case you must remove them manually.
10363 If LyX starts and the pipes exist already, it will not start any server.
10366 \begin_layout Standard
10367 Other than this, there are a few points to consider:
10370 \begin_layout Itemize
10371 Both server and clients must run on UNIX or OS/2 machines.
10372 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10373 not possible right now.
10376 \begin_layout Itemize
10377 On OS/2, only one client can connect to LyXServer at a time.
10380 \begin_layout Itemize
10381 On OS/2, clients must open inpipe with
10388 \begin_layout Standard
10389 You can find a complete example client written in C in the source distribution
10392 development/server_monitor.c
10397 \begin_layout Section
10398 Normal communication
10401 \begin_layout Standard
10402 To issue a LyX call, the client writes a line of ASCII text into the input
10404 This line has the following format:
10407 \begin_layout Quote
10421 \begin_layout Standard
10426 is a name that the client can choose arbitrarily.
10427 Its only use is that LyX will echo it if it sends an answer - so a client
10428 can dispatch results from different requesters.
10431 \begin_layout Standard
10436 is the function you want LyX to perform.
10437 It is the same as the commands you'd use in the minibuffer.
10440 \begin_layout Standard
10445 is an optional argument which is meaningful only to some functions (for
10447 \begin_inset Quotes eld
10451 \begin_inset Quotes erd
10454 which will insert the argument as text at the cursor position.)
10457 \begin_layout Standard
10458 The answer from LyX will arrive in the output pipe and be of the form
10461 \begin_layout Quote
10475 \begin_layout Standard
10484 are just echoed from the command request, while
10488 is more or less useful information filled according to how the command
10489 execution worked out.
10490 Some commands will return information about the internal state of LyX,
10492 \begin_inset Quotes eld
10496 \begin_inset Quotes erd
10499 , while other will return an empty data-response.
10500 This means that the command execution went fine.
10503 \begin_layout Standard
10504 In case of errors, the response from LyX will have this form
10507 \begin_layout Quote
10521 \begin_layout Standard
10526 should contain an explanation of why the command failed.
10529 \begin_layout Standard
10533 \begin_layout LyX-Code
10534 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10537 \begin_layout LyX-Code
10538 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10540 read a <~/.lyxpipe.out
10545 \begin_layout Section
10549 \begin_layout Standard
10550 LyX can notify clients of events going on asynchronously.
10551 Currently it will only do this if the user binds a key sequence with the
10553 \begin_inset Quotes eld
10557 \begin_inset Quotes erd
10561 The format of the string LyX sends is as follows:
10564 \begin_layout Quote
10573 \begin_layout Standard
10578 is the printed representation of the key sequence that was actually typed
10582 \begin_layout Standard
10583 This mechanism can be used to extend LyX's command set and implement macros:
10584 bind some key sequence to
10585 \begin_inset Quotes eld
10589 \begin_inset Quotes erd
10592 , start a client that listens on the out pipe, dispatches the command according
10593 to the sequence and starts a function that may use LyX calls and LyX requests
10594 to issue a command or a series of commands to LyX.
10597 \begin_layout Section
10598 The simple LyX Server Protocol
10601 \begin_layout Standard
10602 LyX implements a simple protocol that can be used for session management.
10603 All messages are of the form
10606 \begin_layout Quote
10616 \begin_layout Standard
10622 \begin_inset Quotes eld
10626 \begin_inset Quotes erd
10630 \begin_inset Quotes eld
10634 \begin_inset Quotes erd
10639 \begin_inset Quotes eld
10643 \begin_inset Quotes erd
10646 is received from a client, LyX will report back to inform the client that
10647 it's listening to it's messages, while
10648 \begin_inset Quotes eld
10652 \begin_inset Quotes erd
10655 sent from LyX will inform clients that LyX is closing.
10658 \begin_layout Chapter
10663 \begin_layout Standard
10664 This appendix is a huge cross-reference to all the English language keybindings.
10665 Originally, we simply wanted to list all of the key bindings followed by
10666 the function it's bound to.
10667 That way, a user can look up a key to find out what it does.
10668 We then decided, what the hey, why not include the default toolbar and
10669 menu bindings, too.
10670 Please note this section is likely to be very out of date.
10673 \begin_layout Standard
10674 The form is really self-explanatory, but here are a few tips: all entries
10675 are arranged roughly alphabetically for a given modifier (
10684 For the general keyboard layout, simpler prefixes precede the more complex
10694 All entries were gleaned from the default user interface and binding files
10695 located in the directories
10697 \SpecialChar \ldots{}
10702 \SpecialChar \ldots{}
10705 ; they should be treated as the final word on the bindings.
10708 \begin_layout Standard
10709 As a final note, be aware that some window managers (such as FVWM) take
10710 control of some of the function keys or motion keys.
10715 is listed here as generating
10719 , but FVWM grabs it and uses it to change virtual desktops instead.
10720 Very annoying unless you instruct your window manager to stop intercepting
10724 \begin_layout Section
10728 \begin_layout LyX-Code
10732 \begin_layout LyX-Code
10736 \begin_layout LyX-Code
10740 \begin_layout LyX-Code
10741 Icon "buffer-write"
10744 \begin_layout LyX-Code
10745 Icon "buffer-print"
10748 \begin_layout LyX-Code
10752 \begin_layout LyX-Code
10756 \begin_layout LyX-Code
10760 \begin_layout LyX-Code
10764 \begin_layout LyX-Code
10768 \begin_layout LyX-Code
10772 \begin_layout LyX-Code
10776 \begin_layout LyX-Code
10780 \begin_layout LyX-Code
10784 \begin_layout LyX-Code
10788 \begin_layout LyX-Code
10792 \begin_layout LyX-Code
10796 \begin_layout LyX-Code
10797 Icon "footnote-insert"
10800 \begin_layout LyX-Code
10801 Icon "marginpar-insert"
10804 \begin_layout LyX-Code
10808 \begin_layout LyX-Code
10812 \begin_layout LyX-Code
10813 Icon "figure-insert"
10816 \begin_layout LyX-Code
10817 Icon "dialog-tabular-insert"
10820 \begin_layout LyX-Code
10824 \begin_layout Section
10828 \begin_layout Standard
10829 Note that the following bindings are for LyX with English menus.
10830 The second character of the binding depends on the menu language.
10832 \begin_inset Quotes eld
10840 \begin_inset Quotes erd
10843 is with German menus
10844 \begin_inset Quotes eld
10852 \begin_inset Quotes erd
10856 To find out the shortcuts of your language press the Meta (Alt)-key and
10857 press then the keys of the underlined characters of the menu names.
10860 \begin_layout Subsection
10865 \labelwidthstring 00.00.0000
10877 \labelwidthstring 00.00.0000
10889 \labelwidthstring 00.00.0000
10901 \labelwidthstring 00.00.0000
10915 \labelwidthstring 00.00.0000
10927 \labelwidthstring 00.00.0000
10941 \labelwidthstring 00.00.0000
10953 \labelwidthstring 00.00.0000
10965 \labelwidthstring 00.00.0000
10977 \labelwidthstring 00.00.0000
10989 \labelwidthstring 00.00.0000
10997 buffer-new-template
11001 \labelwidthstring 00.00.0000
11016 \labelwidthstring 00.00.0000
11027 \labelwidthstring 00.00.0000
11038 \labelwidthstring 00.00.0000
11049 \labelwidthstring 00.00.0000
11060 \labelwidthstring 00.00.0000
11071 \labelwidthstring 00.00.0000
11083 \labelwidthstring 00.00.0000
11094 \begin_layout Subsection
11099 \labelwidthstring 00.00.0000
11111 \labelwidthstring 00.00.0000
11123 \labelwidthstring 00.00.0000
11135 \labelwidthstring 00.00.0000
11147 \labelwidthstring 00.00.0000
11159 \labelwidthstring 00.00.0000
11171 \labelwidthstring 00.00.0000
11186 \labelwidthstring 00.00.0000
11193 tabular-feature append-row
11197 \labelwidthstring 00.00.0000
11204 tabular-feature toggle-line-bottom
11208 \labelwidthstring 00.00.0000
11215 tabular-feature align-center
11219 \labelwidthstring 00.00.0000
11226 tabular-feature delete-column
11230 \labelwidthstring 00.00.0000
11237 tabular-feature align-left
11241 \labelwidthstring 00.00.0000
11248 tabular-feature align-right
11252 \labelwidthstring 00.00.0000
11259 tabular-feature toggle-line-left
11263 \labelwidthstring 00.00.0000
11270 tabular-feature multicolumn
11274 \labelwidthstring 00.00.0000
11281 tabular-feature valign-center
11285 \labelwidthstring 00.00.0000
11292 tabular-feature valign-top
11296 \labelwidthstring 00.00.0000
11303 tabular-feature toggle-line-right
11307 \labelwidthstring 00.00.0000
11314 tabular-feature toggle-line-top
11318 \labelwidthstring 00.00.0000
11325 tabular-feature append-column
11329 \labelwidthstring 00.00.0000
11336 tabular-feature valign-bottom
11340 \labelwidthstring 00.00.0000
11347 tabular-feature delete-row
11352 \labelwidthstring 00.00.0000
11365 \labelwidthstring 00.00.0000
11372 floats-operate openfoot
11376 \labelwidthstring 00.00.0000
11383 floats-operate closefoot
11387 \labelwidthstring 00.00.0000
11394 floats-operate openfig
11398 \labelwidthstring 00.00.0000
11409 \labelwidthstring 00.00.0000
11420 \labelwidthstring 00.00.0000
11427 floats-operate closefig
11432 \labelwidthstring 00.00.0000
11444 \labelwidthstring 00.00.0000
11458 \labelwidthstring 00.00.0000
11470 \labelwidthstring 00.00.0000
11482 \labelwidthstring 00.00.0000
11496 \labelwidthstring 00.00.0000
11508 \labelwidthstring 00.00.0000
11523 \labelwidthstring 00.00.0000
11530 primary-selection-paste
11534 \labelwidthstring 00.00.0000
11541 primary-selection-paste paragraph
11545 \begin_layout Subsection
11550 \labelwidthstring 00.00.0000
11565 \labelwidthstring 00.00.0000
11572 buffer-float-insert algorithm
11576 \labelwidthstring 00.00.0000
11583 buffer-float-insert wide-tab
11587 \labelwidthstring 00.00.0000
11594 buffer-float-insert figure
11598 \labelwidthstring 00.00.0000
11605 buffer-float-insert table
11609 \labelwidthstring 00.00.0000
11616 buffer-float-insert wide-fig
11621 \labelwidthstring 00.00.0000
11629 dialog-tabular-insert
11633 \labelwidthstring 00.00.0000
11645 \labelwidthstring 00.00.0000
11657 \labelwidthstring 00.00.0000
11665 buffer-child-insert
11669 \labelwidthstring 00.00.0000
11681 \labelwidthstring 00.00.0000
11693 \labelwidthstring 00.00.0000
11705 \labelwidthstring 00.00.0000
11717 \labelwidthstring 00.00.0000
11729 \labelwidthstring 00.00.0000
11741 \labelwidthstring 00.00.0000
11753 \labelwidthstring 00.00.0000
11768 \labelwidthstring 00.00.0000
11779 \labelwidthstring 00.00.0000
11790 \labelwidthstring 00.00.0000
11801 \labelwidthstring 00.00.0000
11812 \labelwidthstring 00.00.0000
11823 \labelwidthstring 00.00.0000
11835 \labelwidthstring 00.00.0000
11847 \labelwidthstring 00.00.0000
11862 \labelwidthstring 00.00.0000
11869 protected-space-insert
11873 \labelwidthstring 00.00.0000
11880 end-of-sentence-period-insert
11884 \labelwidthstring 00.00.0000
11895 \labelwidthstring 00.00.0000
11906 \labelwidthstring 00.00.0000
11917 \labelwidthstring 00.00.0000
11924 menu-separator-insert
11928 \labelwidthstring 00.00.0000
11935 hyphenation-point-insert
11939 \labelwidthstring 00.00.0000
11950 \labelwidthstring 00.00.0000
11957 command-sequence math-insert ^;math-mode;
11961 \labelwidthstring 00.00.0000
11968 command-sequence math-insert _;math-mode;
11973 \labelwidthstring 00.00.0000
11988 \labelwidthstring 00.00.0000
11995 file-insert-plaintext lines
11999 \labelwidthstring 00.00.0000
12006 file-insert-plaintext paragraphs
12010 \labelwidthstring 00.00.0000
12022 \labelwidthstring 00.00.0000
12034 \labelwidthstring 00.00.0000
12046 \labelwidthstring 00.00.0000
12057 \begin_layout Subsection
12062 \labelwidthstring 00.00.0000
12074 \labelwidthstring 00.00.0000
12086 \labelwidthstring 00.00.0000
12098 \labelwidthstring 00.00.0000
12110 \labelwidthstring 00.00.0000
12122 \labelwidthstring 00.00.0000
12134 \labelwidthstring 00.00.0000
12146 \labelwidthstring 00.00.0000
12158 \labelwidthstring 00.00.0000
12166 layout-save-default
12170 \labelwidthstring 00.00.0000
12182 \labelwidthstring 00.00.0000
12194 \labelwidthstring 00.00.0000
12205 \begin_layout Subsubsection
12208 Layout\SpecialChar \menuseparator
12215 \labelwidthstring 00.00.0000
12227 \labelwidthstring 00.00.0000
12239 \labelwidthstring 00.00.0000
12251 \labelwidthstring 00.00.0000
12263 \labelwidthstring 00.00.0000
12275 \labelwidthstring 00.00.0000
12287 \labelwidthstring 00.00.0000
12299 \labelwidthstring 00.00.0000
12311 \labelwidthstring 00.00.0000
12323 \labelwidthstring 00.00.0000
12335 \labelwidthstring 00.00.0000
12347 \labelwidthstring 00.00.0000
12359 \labelwidthstring 00.00.0000
12371 \labelwidthstring 00.00.0000
12383 \labelwidthstring 00.00.0000
12395 \labelwidthstring 00.00.0000
12407 \labelwidthstring 00.00.0000
12419 \labelwidthstring 00.00.0000
12431 \labelwidthstring 00.00.0000
12443 \labelwidthstring 00.00.0000
12455 \labelwidthstring 00.00.0000
12467 \labelwidthstring 00.00.0000
12479 \labelwidthstring 00.00.0000
12491 \labelwidthstring 00.00.0000
12503 \labelwidthstring 00.00.0000
12515 \labelwidthstring 00.00.0000
12527 \labelwidthstring 00.00.0000
12539 \labelwidthstring 00.00.0000
12551 \labelwidthstring 00.00.0000
12563 \labelwidthstring 00.00.0000
12575 \labelwidthstring 00.00.0000
12587 \labelwidthstring 00.00.0000
12598 \begin_layout Subsection
12602 \begin_layout Subsection
12606 \begin_layout Subsection
12610 \begin_layout Subsection
12615 \labelwidthstring 00.00.0000
12627 \labelwidthstring 00.00.0000
12639 \labelwidthstring 00.00.0000
12651 \labelwidthstring 00.00.0000
12663 \labelwidthstring 00.00.0000
12675 \labelwidthstring 00.00.0000
12683 layout ShortFoilhead
12687 \labelwidthstring 00.00.0000
12699 \labelwidthstring 00.00.0000
12711 \labelwidthstring 00.00.0000
12723 \labelwidthstring 00.00.0000
12735 \labelwidthstring 00.00.0000
12743 layout ShortRotatefoilhead
12747 \labelwidthstring 00.00.0000
12759 \labelwidthstring 00.00.0000
12771 \labelwidthstring 00.00.0000
12783 \labelwidthstring 00.00.0000
12791 drop-layouts-choice
12795 \labelwidthstring 00.00.0000
12810 \labelwidthstring 00.00.0000
12825 \labelwidthstring 00.00.0000
12837 \labelwidthstring 00.00.0000
12849 \labelwidthstring 00.00.0000
12857 layout Subsubsection
12861 \labelwidthstring 00.00.0000
12873 \labelwidthstring 00.00.0000
12881 layout Subparagraph
12885 \labelwidthstring 00.00.0000
12889 asterisk\InsetSpace ~
12898 \labelwidthstring 00.00.0000
12902 asterisk\InsetSpace ~
12911 \labelwidthstring 00.00.0000
12915 asterisk\InsetSpace ~
12924 \labelwidthstring 00.00.0000
12928 asterisk\InsetSpace ~
12937 \labelwidthstring 00.00.0000
12941 asterisk\InsetSpace ~
12946 layout Subsubsection*
12950 \labelwidthstring 00.00.0000
12954 asterisk\InsetSpace ~
12963 \labelwidthstring 00.00.0000
12967 asterisk\InsetSpace ~
12972 layout Subparagraph*
12976 \labelwidthstring 00.00.0000
12988 \labelwidthstring 00.00.0000
12996 layout Bibliography
13000 \labelwidthstring 00.00.0000
13012 \labelwidthstring 00.00.0000
13024 \labelwidthstring 00.00.0000
13036 \labelwidthstring 00.00.0000
13048 \labelwidthstring 00.00.0000
13060 \labelwidthstring 00.00.0000
13068 layout Rotatefoilhead
13072 \labelwidthstring 00.00.0000
13080 layout RightAddress
13084 \labelwidthstring 00.00.0000
13096 \labelwidthstring 00.00.0000
13108 \labelwidthstring 00.00.0000
13120 \labelwidthstring 00.00.0000
13131 \begin_layout Standard
13132 These ones are kept for backwards compatibility, but only make sense on
13137 \labelwidthstring 00.00.0000
13149 \labelwidthstring 00.00.0000
13157 layout Subsubsection*
13161 \labelwidthstring 00.00.0000
13172 \begin_layout Section
13176 \begin_layout Subsection
13183 \labelwidthstring 00.00.0000
13194 \labelwidthstring 00.00.0000
13205 \labelwidthstring 00.00.0000
13216 \labelwidthstring 00.00.0000
13227 \labelwidthstring 00.00.0000
13238 \labelwidthstring 00.00.0000
13249 \labelwidthstring 00.00.0000
13256 hyphenation-point-insert
13260 \labelwidthstring 00.00.0000
13271 \labelwidthstring 00.00.0000
13278 line-delete-forward
13282 \labelwidthstring 00.00.0000
13293 \labelwidthstring 00.00.0000
13304 \labelwidthstring 00.00.0000
13315 \labelwidthstring 00.00.0000
13326 \labelwidthstring 00.00.0000
13337 \labelwidthstring 00.00.0000
13348 \labelwidthstring 00.00.0000
13359 \labelwidthstring 00.00.0000
13370 \labelwidthstring 00.00.0000
13381 \labelwidthstring 00.00.0000
13392 \labelwidthstring 00.00.0000
13403 \labelwidthstring 00.00.0000
13414 \labelwidthstring 00.00.0000
13426 \labelwidthstring 00.00.0000
13438 \labelwidthstring 00.00.0000
13450 \labelwidthstring 00.00.0000
13462 \labelwidthstring 00.00.0000
13475 \labelwidthstring 00.00.0000
13487 \labelwidthstring 00.00.0000
13499 \labelwidthstring 00.00.0000
13511 \labelwidthstring 00.00.0000
13523 \labelwidthstring 00.00.0000
13536 \labelwidthstring 00.00.0000
13548 \labelwidthstring 00.00.0000
13560 \labelwidthstring 00.00.0000
13573 \labelwidthstring 00.00.0000
13586 \labelwidthstring 00.00.0000
13599 \labelwidthstring 00.00.0000
13612 \labelwidthstring 00.00.0000
13625 \labelwidthstring 00.00.0000
13638 \labelwidthstring 00.00.0000
13650 \labelwidthstring 00.00.0000
13662 \labelwidthstring 00.00.0000
13674 \labelwidthstring 00.00.0000
13682 menu-open Documents
13686 \labelwidthstring 00.00.0000
13698 \labelwidthstring 00.00.0000
13710 \labelwidthstring 00.00.0000
13722 \labelwidthstring 00.00.0000
13734 \labelwidthstring 00.00.0000
13746 \labelwidthstring 00.00.0000
13754 buffer-toggle-read-only
13758 \labelwidthstring 00.00.0000
13770 \labelwidthstring 00.00.0000
13782 \labelwidthstring 00.00.0000
13794 \labelwidthstring 00.00.0000
13805 \labelwidthstring 00.00.0000
13816 \labelwidthstring 00.00.0000
13827 \labelwidthstring 00.00.0000
13838 \labelwidthstring 00.00.0000
13849 \labelwidthstring 00.00.0000
13860 \labelwidthstring 00.00.0000
13871 \labelwidthstring 00.00.0000
13882 \labelwidthstring 00.00.0000
13893 \labelwidthstring 00.00.0000
13904 \labelwidthstring 00.00.0000
13915 \labelwidthstring 00.00.0000
13926 \labelwidthstring 00.00.0000
13937 \labelwidthstring 00.00.0000
13948 \labelwidthstring 00.00.0000
13955 word-delete-forward
13959 \labelwidthstring 00.00.0000
13966 word-delete-backward
13970 \labelwidthstring 00.00.0000
13981 \labelwidthstring 00.00.0000
13988 end-of-sentence-period-insert
13992 \labelwidthstring 00.00.0000
13999 protected-space-insert
14003 \labelwidthstring 00.00.0000
14014 \labelwidthstring 00.00.0000
14025 \labelwidthstring 00.00.0000
14036 \labelwidthstring 00.00.0000
14047 \labelwidthstring 00.00.0000
14058 \labelwidthstring 00.00.0000
14069 \labelwidthstring 00.00.0000
14076 buffer-begin-select
14080 \labelwidthstring 00.00.0000
14091 \labelwidthstring 00.00.0000
14098 paragraph-up-select
14102 \labelwidthstring 00.00.0000
14109 paragraph-down-select
14113 \labelwidthstring 00.00.0000
14120 word-backward-select
14124 \labelwidthstring 00.00.0000
14131 word-forward-select
14135 \labelwidthstring 00.00.0000
14146 \labelwidthstring 00.00.0000
14153 word-delete-forward
14157 \labelwidthstring 00.00.0000
14168 \labelwidthstring 00.00.0000
14179 \labelwidthstring 00.00.0000
14190 \labelwidthstring 00.00.0000
14201 \labelwidthstring 00.00.0000
14208 break-paragraph-keep-layout
14212 \labelwidthstring 00.00.0000
14222 \begin_layout Subsection
14229 \labelwidthstring 00.00.0000
14240 \labelwidthstring 00.00.0000
14251 \labelwidthstring 00.00.0000
14262 \labelwidthstring 00.00.0000
14273 \labelwidthstring 00.00.0000
14284 \labelwidthstring 00.00.0000
14295 \labelwidthstring 00.00.0000
14306 \labelwidthstring 00.00.0000
14317 \labelwidthstring 00.00.0000
14328 \labelwidthstring 00.00.0000
14339 \labelwidthstring 00.00.0000
14350 \labelwidthstring 00.00.0000
14361 \labelwidthstring 00.00.0000
14372 \labelwidthstring 00.00.0000
14383 \labelwidthstring 00.00.0000
14394 \labelwidthstring 00.00.0000
14405 \labelwidthstring 00.00.0000
14416 \labelwidthstring 00.00.0000
14427 \labelwidthstring 00.00.0000
14438 \labelwidthstring 00.00.0000
14449 \labelwidthstring 00.00.0000
14460 \labelwidthstring 00.00.0000
14471 \labelwidthstring 00.00.0000
14478 protected-space-insert
14482 \labelwidthstring 00.00.0000
14493 \labelwidthstring 00.00.0000
14504 \labelwidthstring 00.00.0000
14515 \labelwidthstring 00.00.0000
14522 buffer-new-template
14526 \labelwidthstring 00.00.0000
14537 \labelwidthstring 00.00.0000
14548 \labelwidthstring 00.00.0000
14559 \labelwidthstring 00.00.0000
14570 \labelwidthstring 00.00.0000
14581 \labelwidthstring 00.00.0000
14592 \labelwidthstring 00.00.0000
14603 \labelwidthstring 00.00.0000
14610 end-of-sentence-period-insert
14614 \labelwidthstring 00.00.0000
14625 \labelwidthstring 00.00.0000
14636 \labelwidthstring 00.00.0000
14643 hyphenation-point-insert
14647 \labelwidthstring 00.00.0000
14658 \labelwidthstring 00.00.0000
14665 protected-space-insert
14669 \labelwidthstring 00.00.0000
14680 \labelwidthstring 00.00.0000
14691 \labelwidthstring 00.00.0000
14702 \labelwidthstring 00.00.0000
14713 \labelwidthstring 00.00.0000
14724 \labelwidthstring 00.00.0000
14735 \labelwidthstring 00.00.0000
14746 \labelwidthstring 00.00.0000
14757 \labelwidthstring 00.00.0000
14768 \labelwidthstring 00.00.0000
14779 \labelwidthstring 00.00.0000
14790 \labelwidthstring 00.00.0000
14801 \labelwidthstring 00.00.0000
14812 \labelwidthstring 00.00.0000
14823 \labelwidthstring 00.00.0000
14834 \labelwidthstring 00.00.0000
14841 word-delete-forward
14845 \labelwidthstring 00.00.0000
14852 word-delete-backward
14856 \labelwidthstring 00.00.0000
14867 \labelwidthstring 00.00.0000
14878 \labelwidthstring 00.00.0000
14889 \labelwidthstring 00.00.0000
14900 \labelwidthstring 00.00.0000
14907 paragraph-down-select
14911 \labelwidthstring 00.00.0000
14922 \labelwidthstring 00.00.0000
14929 buffer-begin-select
14933 \labelwidthstring 00.00.0000
14940 word-backward-select
14944 \labelwidthstring 00.00.0000
14951 word-forward-select
14955 \labelwidthstring 00.00.0000
14962 paragraph-up-select
14966 \labelwidthstring 00.00.0000
14977 \labelwidthstring 00.00.0000
14984 break-paragraph-keep-layout
14988 \labelwidthstring 00.00.0000
14999 \labelwidthstring 00.00.0000
15010 \labelwidthstring 00.00.0000
15021 \labelwidthstring 00.00.0000
15032 \labelwidthstring 00.00.0000
15043 \labelwidthstring 00.00.0000
15054 \labelwidthstring 00.00.0000
15065 \labelwidthstring 00.00.0000
15076 \labelwidthstring 00.00.0000
15087 \labelwidthstring 00.00.0000
15098 \labelwidthstring 00.00.0000
15108 \begin_layout Subsection
15114 \begin_layout Standard
15115 These are LyX keyboard definitions for mathematics, similar to those of
15119 \begin_layout Standard
15120 The bindings file and the present documentation were prepared by Serge Winitzki
15121 with assistance from Jean-Marc Lasgouttes.
15122 Version 1.3, for LyX 1.2.x and 1.3.x.
15125 \begin_layout Standard
15126 These definitions make it a lot easier to type equations without using the
15127 mouse, especially for people familiar with Scientific Word.
15128 The standard LyX bindings such as
15139 \begin_layout Standard
15140 Tip: to find the "LyX bind name" for a key, look at the status bar after
15141 typing some non-existent key combination.
15143 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
15144 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
15148 \labelwidthstring 00.00.0000
15157 -- Copy, cut, paste is as in Sciword,
15173 \labelwidthstring 00.00.0000
15182 -- Display equation toggle: type
15186 to insert a displayed formula (
15191 \begin_inset Quotes eld
15195 \begin_inset Quotes erd
15203 in a displayed formula to convert it back to an inline formula.
15207 \labelwidthstring 00.00.0000
15222 to insert a fraction (
15227 \begin_inset Quotes eld
15231 \begin_inset Quotes erd
15235 You can also select an expression and type
15239 to convert it to the numerator of a fraction.
15248 end of the denominator will delete the numerator and convert the denominator
15253 \labelwidthstring 00.00.0000
15265 \begin_inset Formula $\int$
15273 \begin_inset Quotes eld
15277 \begin_inset Quotes erd
15284 \labelwidthstring 00.00.0000
15291 line-delete-forward
15293 -- Emacs-like binding: delete forward of cursor to end of line.
15297 \labelwidthstring 00.00.0000
15306 -- A text/math toggle (
15311 \begin_inset Quotes eld
15315 \begin_inset Quotes erd
15318 ): switches to math in text mode, and also inserts roman text in math mode.
15328 \begin_inset Quotes eld
15332 \begin_inset Quotes erd
15339 \labelwidthstring 00.00.0000
15348 -- Add/remove numbering in a single equation.
15352 \labelwidthstring 00.00.0000
15361 -- Add/remove numbering at a line in equation arrays.
15364 \begin_layout Standard
15365 The above commands are toggles that control the numbering of equations (
15370 \begin_inset Quotes eld
15374 \begin_inset Quotes erd
15378 Note: when deleting a number in a labeled eqnarray, the label is not really
15379 removed (the TeX code becomes
15380 \begin_inset Quotes eld
15392 \begin_inset Quotes erd
15395 ) and this generates a (harmless) LaTeX warning.
15399 \labelwidthstring 00.00.0000
15408 -- Open a new document.
15413 \labelwidthstring 00.00.0000
15422 -- Insert a quote character " (
15427 \begin_inset Quotes eld
15431 \begin_inset Quotes erd
15436 \begin_inset Quotes eld
15440 \begin_inset Quotes erd
15443 double quote character that you get by default.
15447 \labelwidthstring 00.00.0000
15458 -- Square root sign
15459 \begin_inset Formula $\sqrt{x}$
15467 \begin_inset Quotes eld
15471 \begin_inset Quotes erd
15478 \labelwidthstring 00.00.0000
15490 \begin_inset Formula $\sqrt[n]{x}$
15497 \labelwidthstring 00.00.0000
15506 -- Another binding for a switch between the text and the math mode (
15511 \begin_inset Quotes eld
15515 \begin_inset Quotes erd
15519 Note that the roman text inserted in math mode is special.
15523 \labelwidthstring 00.00.0000
15536 the selected text (text mode only, use things like
15552 \labelwidthstring 00.00.0000
15561 -- W*ndows heritage.
15565 \labelwidthstring 00.00.0000
15574 -- Close the current document (again, a W*ndows heritage).
15578 \labelwidthstring 00.00.0000
15589 \labelwidthstring 00.00.0000
15600 \labelwidthstring 00.00.0000
15610 \begin_inset Quotes eld
15614 \begin_inset Quotes erd
15618 \begin_inset Quotes eld
15622 \begin_inset Quotes erd
15628 \begin_layout Standard
15629 Bracket delimiters: press
15633 -<bracket key> to insert a matching pair of delimiters.
15638 inserts a pair of parentheses
15639 \begin_inset Formula $\left[\right]$
15647 does the same thing.) It will switch to math mode if needed.
15648 The supported characters are ( [ { < |.
15649 It is the same to press the right or the left bracket.
15650 The corresponding delimiters are
15651 \begin_inset Formula $\left(\right)$
15655 \begin_inset Formula $\left[\right]$
15659 \begin_inset Formula $\left\{ \right\} $
15663 \begin_inset Formula $\left\langle \right\rangle $
15667 \begin_inset Formula $\left|\right|$
15672 \begin_inset Quotes eld
15676 \begin_inset Quotes erd
15679 and resize with their contents.
15680 Use Math Panel to get other or non-matching delimiters.
15681 Press backspace on the
15685 delimiter to remove both
15686 \begin_inset Quotes eld
15690 \begin_inset Quotes erd
15693 delimiters without removing their contents.
15697 \labelwidthstring 00.00.0000
15706 -- for convenience, pressing
15720 \labelwidthstring 00.00.0000
15731 \labelwidthstring 00.00.0000
15742 \labelwidthstring 00.00.0000
15753 \labelwidthstring 00.00.0000
15764 \labelwidthstring 00.00.0000
15775 \labelwidthstring 00.00.0000
15782 math-delim langle rangle
15784 -- angular delimiters
15785 \begin_inset Formula $\left\langle \right\rangle $
15788 , not to confuse with ordinary < > signs.
15792 \labelwidthstring 00.00.0000
15799 math-delim langle rangle
15802 \begin_layout Standard
15803 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15804 some British ones), the bar character
15809 -something and on some wayward Unices to "brokenbar".
15810 So we define all of these keys as well.
15814 \labelwidthstring 00.00.0000
15825 \labelwidthstring 00.00.0000
15836 \labelwidthstring 00.00.0000
15847 \labelwidthstring 00.00.0000
15858 \labelwidthstring 00.00.0000
15868 \begin_layout Standard
15869 Accents are in most cases
15873 -<accent key>, e.g.\InsetSpace ~
15887 for tilde (you also need to press
15893 \begin_inset Quotes eld
15905 \begin_inset Quotes erd
15909 Some accents work only in math mode and others only in text mode.
15913 \labelwidthstring 00.00.0000
15922 -- overdot accent, ȧ (text mode only).
15926 \labelwidthstring 00.00.0000
15938 \begin_inset Formula $\dot{a}$
15941 (math mode only -- in physics this denotes a first derivative).
15945 \labelwidthstring 00.00.0000
15956 -- Vector accent over math
15957 \begin_inset Formula $\overrightarrow{x}$
15964 \labelwidthstring 00.00.0000
15973 -- umlaut accent, ä (text mode only)
15977 \labelwidthstring 00.00.0000
15988 -- double dot accent,
15989 \begin_inset Formula $\ddot{a}$
15992 (math mode only -- in physics this denotes a second derivative).
15993 To get a triple dot in math mode, use
16001 \labelwidthstring 00.00.0000
16010 -- grave accent à (text mode only, use
16020 \labelwidthstring 00.00.0000
16029 -- tilde accent ã (text mode only, use
16039 \labelwidthstring 00.00.0000
16048 -- acute accent á (text mode only, use
16058 \labelwidthstring 00.00.0000
16067 -- circumflex (caret) accent â (text mode only, use
16076 \begin_layout Standard
16078 The new key S-F2 for creating a LaTeX file seems handy.
16082 \labelwidthstring 00.00.0000
16091 -- Save current document.
16095 \labelwidthstring 00.00.0000
16102 buffer-export latex
16104 -- Write a LaTeX file for the current document.
16108 \labelwidthstring 00.00.0000
16117 -- Find and replace dialog.
16121 \labelwidthstring 00.00.0000
16138 \labelwidthstring 00.00.0000
16151 to quit LyX is the W*ndows w*ndow manager's mnemonic.
16154 \begin_layout Standard
16163 are used to switch fonts.
16168 to switch back to the normal font.
16169 The non-default font switches
16177 all work as toggles.
16178 They also work on the whole word if you put the cursor in the middle of
16179 the word, or if you select some text.
16183 \labelwidthstring 00.00.0000
16192 -- stop using any special font
16196 \labelwidthstring 00.00.0000
16213 \labelwidthstring 00.00.0000
16230 \labelwidthstring 00.00.0000
16247 \labelwidthstring 00.00.0000
16261 (Used sometimes for people's names.)
16264 \begin_layout Standard
16270 \begin_inset Quotes eld
16274 \begin_inset Quotes erd
16281 key (useful e.g.\InsetSpace ~
16282 if the keyboard has no working
16289 \begin_layout Standard
16290 Here are some Sciword-inspired mnemonics for frequently used math symbols.
16291 Many symbols start with a
16300 cannot be itself bound to anything.
16304 \labelwidthstring 00.00.0000
16316 \begin_inset Quotes eld
16320 \begin_inset Quotes erd
16324 \begin_inset Formula $\prime$
16328 This is frequently unnecessary: in most cases the normal apostrophe works
16331 \begin_inset Formula $x'+2x=0$
16334 , but in some cases this would generate a double superscript error in LaTeX.
16336 \begin_inset Formula $x^{\prime2}$
16340 \begin_inset Formula $x$
16343 prime squared) must be entered with the prime character.
16347 \labelwidthstring 00.00.0000
16355 command-sequence math-superscript; math-insert
16359 -- Insert a prime as a superscript (see example above).
16363 \labelwidthstring 00.00.0000
16372 -- Insert an upper index.
16379 \labelwidthstring 00.00.0000
16388 -- Insert a lower index.
16395 \labelwidthstring 00.00.0000
16407 -- Partial derivative symbol
16408 \begin_inset Formula $\partial$
16415 \labelwidthstring 00.00.0000
16427 -- Summation symbol
16428 \begin_inset Formula $\sum$
16431 (not the same as the Greek letter uppercase Sigma
16432 \begin_inset Formula $\Sigma$
16435 because it can resize and allows smart upper/lower limits).
16439 \labelwidthstring 00.00.0000
16452 \begin_inset Formula $\prod$
16455 (not the same as the Greek letter uppercase Pi,
16456 \begin_inset Formula $\Pi$
16463 \labelwidthstring 00.00.0000
16476 \begin_inset Formula $\infty$
16483 \labelwidthstring 00.00.0000
16496 \begin_inset Formula $\times$
16503 \labelwidthstring 00.00.0000
16513 -- Insert a stacked array
16514 \begin_inset Formula $\begin{array}{c}
16516 \end{array}\end{array}$
16520 (Frequently useful in formulae.)
16524 \labelwidthstring 00.00.0000
16535 \begin_inset Formula $\times$
16539 \begin_inset Formula $\begin{array}{ccc}
16544 (Then you can modify its size using the
16546 Edit\SpecialChar \menuseparator
16553 \labelwidthstring 00.00.0000
16566 \begin_inset Quotes eld
16570 \begin_inset Quotes erd
16574 \begin_inset Formula $\dagger$
16581 \labelwidthstring 00.00.0000
16594 \begin_inset Quotes eld
16598 \begin_inset Quotes erd
16602 \begin_inset Formula $\equiv$
16609 \labelwidthstring 00.00.0000
16621 \begin_inset Quotes eld
16624 Approximate equality
16625 \begin_inset Quotes erd
16629 \begin_inset Formula $\approx$
16636 \labelwidthstring 00.00.0000
16648 \begin_inset Quotes eld
16652 \begin_inset Quotes erd
16656 \begin_inset Formula $\sim$
16663 \labelwidthstring 00.00.0000
16675 \begin_inset Formula $\rightarrow$
16679 \begin_inset Formula $\lim_{x\rightarrow0}$
16686 \labelwidthstring 00.00.0000
16698 \begin_inset Formula $\leq$
16705 \labelwidthstring 00.00.0000
16716 -- Greater-or-equal
16717 \begin_inset Formula $\geq$
16724 \labelwidthstring 00.00.0000
16737 \begin_inset Quotes eld
16741 \begin_inset Quotes erd
16745 \begin_inset Formula $\ll$
16748 (useful in physics)
16752 \labelwidthstring 00.00.0000
16765 \begin_inset Quotes eld
16769 \begin_inset Quotes erd
16773 \begin_inset Formula $\gg$
16779 \begin_layout Subsection
16780 Standard math bindings
16784 \labelwidthstring 00.00.0000
16798 \labelwidthstring 00.00.0000
16810 \labelwidthstring 00.00.0000
16822 \labelwidthstring 00.00.0000
16836 \labelwidthstring 00.00.0000
16848 \labelwidthstring 00.00.0000
16860 \labelwidthstring 00.00.0000
16874 \labelwidthstring 00.00.0000
16886 \labelwidthstring 00.00.0000
16898 \labelwidthstring 00.00.0000
16910 \labelwidthstring 00.00.0000
16924 \labelwidthstring 00.00.0000
16938 \labelwidthstring 00.00.0000
16952 \labelwidthstring 00.00.0000
16966 \labelwidthstring 00.00.0000
16980 \labelwidthstring 00.00.0000
16994 \labelwidthstring 00.00.0000
17006 \labelwidthstring 00.00.0000
17020 \labelwidthstring 00.00.0000
17032 \labelwidthstring 00.00.0000
17044 \labelwidthstring 00.00.0000
17056 \labelwidthstring 00.00.0000
17068 \labelwidthstring 00.00.0000
17082 \labelwidthstring 00.00.0000
17094 \labelwidthstring 00.00.0000
17106 \labelwidthstring 00.00.0000
17118 \labelwidthstring 00.00.0000
17126 math-delim langle rangle
17130 \labelwidthstring 00.00.0000
17138 math-delim rangle langle
17142 \labelwidthstring 00.00.0000
17154 \labelwidthstring 00.00.0000
17168 \labelwidthstring 00.00.0000
17181 \begin_layout Subsection
17186 \labelwidthstring 00.00.0000
17198 \labelwidthstring 00.00.0000
17210 \labelwidthstring 00.00.0000
17222 \labelwidthstring 00.00.0000
17234 \labelwidthstring 00.00.0000