1 #LyX 1.5.0svn created this file. For more info see http://www.lyx.org/
8 \IfFileExists{isolatin.def}
9 {\usepackage[isolatin]{inputenc}}
10 {\usepackage[latin1]{inputenc}}
13 \inputencoding default
16 \font_typewriter default
17 \font_default_family default
23 \paperfontsize default
31 \paperorientation portrait
34 \paragraph_separation indent
36 \quotes_language english
39 \paperpagestyle headings
40 \tracking_changes false
42 \author "Jean-Marc Lasgouttes"
48 Customizing LyX: Features for the Advanced User
56 \begin_layout Standard
58 Principal maintainer of this file is
63 If you have comments or error corrections, please send them to the LyX
64 Documentation mailing list, <lyx-docs@lists.lyx.org>.
72 \begin_layout Standard
73 \begin_inset LatexCommand tableofcontents
84 \begin_layout Standard
85 This manual covers the customization features present in LyX.
86 In it, we discuss issues like keyboard shortcuts, screen previewing options,
87 printer options, sending commands to LyX via the LyX Server, internationalizati
88 on, installing new LaTeX classes and LyX layouts, etc.
89 We can't possibly hope to touch on everything you can change---our developers
90 add new features faster than we can document them---but we will explain
91 the most common customizations and hopefully point you in the right direction
92 for some of the more obscure ones.
96 LyX configuration files
99 \begin_layout Standard
100 \begin_inset LatexCommand label
105 This chapter aims to help you to find your way through the LyX configuration
107 Before continuing to read this chapter, you should find out where your
108 LyX library directory is by using
113 elp\SpecialChar \menuseparator
121 This directory is the place where LyX places its system-wide configuration
122 files, and we will simply name it
126 in the remainder of this document.
130 \begin_layout Section
138 \begin_layout Standard
143 and its sub-directories contain a number of files and that can be used
144 to customise LyX's behaviour.
145 You can change many of these files from within LyX itself through the
150 ools\SpecialChar \menuseparator
158 Most customization that you might want to do to LyX is possible through
160 However, many other inner aspects of LyX can be customized by modifying
166 They fall in different categories, described in the following subsections.
169 \begin_layout Subsection
170 Automatically generated files
173 \begin_layout Standard
174 These files are generated when you configure LyX.
175 They contain various default values that are guessed by inspection.
176 In general, it is not a good idea to modify them, since they might be overwritt
181 \labelwidthstring 00.00.0000
188 contains defaults for various commands.
192 \labelwidthstring 00.00.0000
199 contains the list of packages that have been recognized by LyX.
200 It is currently unused by the LyX program itself, but the information extracted
201 , and more, is made available with
206 elp\SpecialChar \menuseparator
218 \labelwidthstring 00.00.0000
225 is the list of text classes that have been found in your
229 directory, along with the associated LaTeX document class and their description.
233 \labelwidthstring 00.00.0000
238 is automatically generated during configuration from the file
245 \begin_layout Subsection
250 \labelwidthstring 00.00.0000
257 this directory contains files with the extension
261 that define the keybindings used in LyX (see section\InsetSpace ~
263 \begin_inset LatexCommand ref
264 reference "sec:bindings"
269 If there exists an internationalized version of the bind file named
273 , that will be used first.
274 See Chapter\InsetSpace ~
276 \begin_inset LatexCommand ref
277 reference "chap:i18n"
282 \begin_inset LatexCommand ref
283 reference "sec:bindings"
291 \labelwidthstring 00.00.0000
298 contains graphics files that can be included in documents.
303 \labelwidthstring 00.00.0000
310 contains LyX documentation files (including the one you are currently reading).
315 deserves special attention, as noted above.
316 If there exists an internationalized version of the help-document with
321 prepended to the name, that will be used first.
322 See Chapter\InsetSpace ~
324 \begin_inset LatexCommand ref
325 reference "chap:i18n"
333 \labelwidthstring 00.00.0000
340 contains example files that explain how to use some features.
341 In the file browser, press the
349 \labelwidthstring 00.00.0000
354 contains image files that are used by the
359 In addition, it also contains the individual icons used in the toolbar
360 and the banners that can be shown when LyX is launched.
364 \labelwidthstring 00.00.0000
371 contains keyboard keymapping files.
372 See Chapter\InsetSpace ~
374 \begin_inset LatexCommand ref
375 reference "sec:keymap"
383 \labelwidthstring 00.00.0000
390 contains the text class files described in Chapter\InsetSpace ~
392 \begin_inset LatexCommand ref
393 reference "chap:textclass"
401 \labelwidthstring 00.00.0000
406 contains some files that demonstrate the capabilities of the
408 External\InsetSpace ~
415 \labelwidthstring 00.00.0000
420 contains the standard LyX template files described in Chapter\InsetSpace ~
422 \begin_inset LatexCommand ref
423 reference "sec:templates"
431 \labelwidthstring 00.00.0000
436 contains some LaTeX cls files distributed with LyX.
440 \labelwidthstring 00.00.0000
445 contains files with the extension
449 that define the user interface to LyX.
450 That is, the files define which items appear in which menus and the items
451 appearing on the toolbar.
452 See Chapter\InsetSpace ~
454 \begin_inset LatexCommand ref
462 \begin_layout Subsection
463 Files you don't want to modify
466 \begin_layout Standard
467 These files are used internally by LyX and you generally do not need to
468 modify them unless you are a developer.
472 \labelwidthstring 00.00.0000
479 this file contains the list of LyX developers.
480 The contents are displayed with the menu entry
485 elp\SpecialChar \menuseparator
493 \labelwidthstring 00.00.0000
500 this is a LaTeX script used during the configuration process.
505 \labelwidthstring 00.00.0000
512 this is the script that is used to re-configure LyX.
513 It creates configuration files in the directory it was run from.
516 \begin_layout Subsection
517 Other files needing a line or two...
521 \labelwidthstring 00.00.0000
526 this contains tables describing how different character encodings can be
531 \labelwidthstring 00.00.0000
536 this file contains the templates available to the new
538 External\InsetSpace ~
545 \labelwidthstring 00.00.0000
550 this file contains a list of all the languages currently supported by LyX.
553 \begin_layout Section
554 Your local configuration directory
557 \begin_layout Standard
558 Even if you are using LyX as an unprivileged user, you might want to change
559 LyX configuration for your own use.
564 directory contains all your personal configuration files.
565 This is the directory described as
566 \begin_inset Quotes eld
570 \begin_inset Quotes erd
578 elp\SpecialChar \menuseparator
583 This directory is used as a mirror of
587 , which means that every file in
591 is a replacement for the corresponding file in
596 Any configuration file described in the above sections can be placed either
597 in the system-wide directory, in which case it will affect all users, or
598 in your local directory for your own use.
601 \begin_layout Standard
602 To make things clearer, let's provide a few examples:
605 \begin_layout Itemize
606 The preferences set in the
611 ools\SpecialChar \menuseparator
618 dialog are saved to a file
629 \begin_layout Itemize
630 When you reconfigure using
635 ools\SpecialChar \menuseparator
646 and the resulting files are written in your local configuration directory
647 (see section\InsetSpace ~
649 \begin_inset LatexCommand ref
650 reference "sec:autodetected"
654 to have a list of the
658 settings affected by this section).
659 This means that any additional text class file that you might have added
664 will be added to the list of classes in the
669 ayout\SpecialChar \menuseparator
679 \begin_layout Itemize
680 Similarly, if you have installed some LaTeX document classes in your home
681 directory, that LaTeX can find with your
685 path, they will show up in your list of text classes.
689 \begin_layout Standard
690 as long as LyX or yourself have a
694 file for it, of course.
702 \begin_layout Itemize
703 If you get some updated documentation from LyX ftp site and cannot install
704 it because you do not have sysadmin rights on your system, you can just
719 \begin_layout Section
720 Running LyX with multiple configurations
723 \begin_layout Standard
724 The configuration freedom of the local configuration directory may not suffice
725 if you want to have more than one configuration at your disposal.
726 For example, you may want to be use different key bindings or printer settings
728 You can achieve this by having several such directories.
729 You then specify which directory to use at run-time.
732 \begin_layout Standard
733 Invoking LyX with the command line switch
740 instructs the program to read the configuration from that directory, and
741 not from the default directory (you can determine the default directory
742 by running LyX without this switch as described above).
743 If this directory does not exist, LyX offers to create it for you, just
744 like it does for the default directory on the first time you run the program.
745 You can modify the configuration options in this additional
749 exactly as you would for the default directory.
750 These directories are completely independent (but read on).
751 Note that setting the environment variable
755 to some value has exactly the same effect
760 \begin_layout Standard
761 Having several configurations also requires more maintenance: if you want
762 to add a new layout to
766 which you want available from all your configurations, you must add it
767 to each directory separately.
768 You can avoid this with the following trick: after LyX creates the additional
769 directory, most of the subdirectories (see above) are empty.
770 If you want the new configuration to mirror an existing one, replace the
771 empty subdirectory with a symbolic link to the matching subdirectory in
772 the existing configuration.
779 subirectory, however, since it contains a file written by the configuration
780 script (also accessible through
785 ools\SpecialChar \menuseparator
791 \begin_inset LatexCommand ref
792 reference "sec:autodetected"
798 which is configuration-specific.
801 \begin_layout Chapter
812 \begin_layout Section
813 Using the dialog for the first time
816 \begin_layout Standard
821 file will contain only changes that you have made to the default behaviour,
822 some of which is hard-coded into LyX and some of which is contained in
825 LyXDir/lyxrc.defaults
828 Note that in both files lines beginning with a
829 \begin_inset Quotes eld
837 \begin_inset Quotes erd
840 are just comments and not interpreted.
841 However, only system administrators should edit
852 ools\SpecialChar \menuseparator
859 dialog to create and modify their own
866 \begin_layout Standard
872 ools\SpecialChar \menuseparator
879 dialog will be largely self-explanatory.
880 Almost all the commands have an associated comment, so you shouldn't have
881 too much trouble modifying it to taste.
882 Before we highlight a few of the more important commands below, however,
887 ing some of your changes (e.g., screen fonts) will have an instant effect.
889 changing the bind file) will not.
890 If nothing appears to have changed, just
894 the changes and restart LyX.
897 \begin_layout Section
901 \begin_layout Standard
902 The font used to display your documents on the LyX screen is very important,
903 since you'll be reading all your documents with this font.
904 Therefore it is important that the font is as readable and good-looking
906 The LyX team tried to provide the best possible default font for you, but
907 since practically all X11 systems are different, it's likely that the default
908 fonts will be sub-optimal on your system.
909 Fortunately, you can do something about this.
910 Before we explain how to do this, you should learn a bit more about fonts
911 so that you are better prepared for choosing your fonts, because it is
912 a trade-off that is specific to your preferences and the capabilities of
916 \begin_layout Standard
917 Notice that this section only deals with the fonts on the
921 inside the LyX window.
922 The fonts that appear on the
930 are independent from these fonts, and are determined by the document class.
935 to learn how to change the font of the printed version of your document.
938 \begin_layout Standard
939 Basically, screen fonts come in two different kinds: scalable outline fonts
940 and non-scalable bitmap fonts.
941 This distinction seems a bit arbitrary, since non-scalable fonts are actually
942 scalable in most modern font renderers.
943 The difference lies in the
947 of the scaling, and the
952 The most important decision is thus whether you should use non-scalable
953 bitmap fonts or scalable outline fonts.
956 \begin_layout Standard
957 The scalable fonts are built from
961 of the single glyphs (i.e.
962 characters) in the font.
963 This means that each glyph is defined using mathematical curves that are
964 well suited for scaling to any requested size.
965 This mathematical definition is interpreted by the font renderer and turned
966 into a small picture composed of pixels according to which size and glyph,
967 the programmer requests.
968 This means that scalable fonts will look pretty good in all sizes.
969 Well, almost all sizes.
970 Since scalable fonts are defined in an abstract way, it can be hard to
971 provide a good rendering at small sizes, where each pixel has to be very
972 carefully computed to provide a good image.
973 Technically it is possible to do this from the mathematical definition,
974 but in order to keep the rendering reasonably fast, tradeoffs have to be
975 made, and the result is that scalable fonts can be difficult to read at
979 \begin_layout Standard
980 Bitmap fonts on the other hand, are defined by bitmap graphics from the
981 start, so they will look good at all the sizes they are meant for.
982 However, they don't scale well, because in order to scale a glyph, each
983 pixel is enlarged into several pixels.
984 It is the same effect that happens if you try to enlarge a picture in
988 or any other picture manipulation program.
989 In order to relieve this effect, bitmap fonts are typically provided in
990 several fixed sizes typically from around 8 pixels high up to 34 pixels
991 or so high in steps according to what is believed to be useful.
992 The advantage of bitmap fonts is that no complicated computations are necessary
993 to display each glyph, so bitmap fonts are thus faster displayed than scalable
995 The disadvantage is that sizes that don't exists as fixed versions have
996 to be scaled by doubling pixels, and thus look bad.
999 \begin_layout Standard
1000 The net result of all this, is that bitmap fonts are generally best for
1001 the small sizes, where they are available, while scalable fonts are generally
1002 best for large sizes.
1003 The logical conclusion would thus be to use bitmap fonts for the small
1004 sizes, and scalable fonts for the large sizes.
1005 Unfortunately, this is not a good idea, since bitmap fonts and scalable
1006 fonts are not designed to be used together, so the overall look of such
1007 a scheme would be bad.
1008 The best you can do is thus to try both schemes and decide for yourself
1012 \begin_layout Standard
1013 By default, LyX uses non-scalable bitmap fonts (when using the XForms frontend).
1018 is used, for sans serif fonts,
1026 is used as the monospaced/typewriter font.
1029 \begin_layout Standard
1030 In the following, we will describe what to do if the text does not look
1032 We'll start with the most important parameters: DPI and font zoom.
1035 \begin_layout Subsection
1036 DPI setting and Font Zoom
1039 \begin_layout Standard
1040 LyX automatically tries to scale the fonts to look as close as the paper
1041 output size as possible, except for the so-called font zoom factor.
1044 \begin_layout Standard
1045 In order for this to work on all systems, it relies on the screen DPI (dots
1046 per inch) setting to be correct.
1047 The DPI setting for your system is autodetected by LyX using the information
1048 the X server can provide.
1049 You can check what LyX autodetects the DPI setting to, by running LyX as
1057 \begin_layout Standard
1058 On many systems, X is not set up correctly, so you should check that it
1061 \begin_inset Quotes eld
1069 \begin_inset Quotes erd
1072 and write down what the DPI is for the resolution you use (this will be
1073 close to the value LyX detects).
1074 It is the number mentioned as
1075 \begin_inset Quotes eld
1079 \begin_inset Quotes erd
1083 Also write down the number of pixels you have in the width (the first number
1085 \begin_inset Quotes eld
1089 \begin_inset Quotes erd
1095 \begin_layout Standard
1096 Then get the good old ruler out of the closet, and measure the width of
1097 the visible screen-image on your monitor.
1098 Convert this measurement to inches if you used a centimeter ruler by dividing
1100 Now you can determine the correct DPI setting for your screen by dividing
1101 the number of pixels in the width by the width of the screen-image on the
1103 If this number is more than, say, 5 DPI from the detected value, you should
1104 either fix the X setup, or at least tell LyX that the DPI is different
1105 than the detected value.
1108 \begin_layout Standard
1109 If you can't fix the X setup (which of course is best since other programs
1110 than LyX will benefit from this as well), you can tell LyX the correct
1118 \begin_layout Standard
1119 If the text is too small or too big for your taste, you should fiddle with
1120 the font zoom setting.
1121 This setting is used to scale the point size of the text.
1122 If your DPI setting is correct, and the font zoom setting is set to 100,
1123 this means that LyX will try to display the text exactly the same size
1124 as it will appear on the paper-output.
1125 If you set the zoom factor to 200, the text will try to be 2 times as big
1127 Of course, this will only happen if LyX can find a font that has the appropriat
1128 e size, which you can't count on.
1129 Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
1133 \begin_layout Standard
1134 The default font zoom setting is 150, since a monitor is typically wider
1135 than a piece of paper, but you should try to fiddle with it through the
1149 dialog to find a size that you like.
1150 When you've found a setting that seems to work nicely for you (tip: use
1158 button to keep the dialog open while you experiment), you can make this
1159 setting the default by using the
1169 \begin_layout Standard
1170 While it is often possible to find a suitable size for the text on the screen,
1171 this doesn't necessarily mean that the fonts are the best ones available
1173 In order to help you get the most out of your system, you can use the font
1174 definition commands to fine-tune the look of the text in greater detail
1178 \begin_layout Subsection
1179 Font definition commands
1182 \begin_layout Standard
1183 As mentioned, LyX uses non-scalable bitmap fonts by default with the XForms
1189 is used, for sans serif fonts,
1197 is used as the monospaced/typewriter font.
1200 \begin_layout Standard
1201 You can change all of these from within the
1206 The number of fonts that are available on different systems vary, but the
1211 should be available everywhere.
1212 Use that program to find candidate fonts.
1213 When you've found a font that you like, try to insert the first two elements
1215 \begin_inset Quotes eld
1219 \begin_inset Quotes erd
1223 \begin_inset Quotes eld
1227 \begin_inset Quotes erd
1234 ) in the appropriate field in the
1246 LyX will then reformat your document using the new font, and if you like
1247 the font, you should
1255 One place to start for a new font is to see if the scalable font
1256 \begin_inset Quotes eld
1260 \begin_inset Quotes erd
1264 Tip: You can see whether a font is a bitmap font or a scalable font by
1266 \begin_inset Quotes eld
1270 \begin_inset Quotes erd
1274 \begin_inset Quotes eld
1278 \begin_inset Quotes erd
1286 If the value 0 is available, the font is scalable.
1287 If the value 0 isn't available, the font is a bitmap font.
1290 \begin_layout Standard
1291 Before you go about scrapping a bitmap font because the larger sizes look
1293 \begin_inset Quotes eld
1297 \begin_inset Quotes erd
1300 , you should toggle the
1301 \begin_inset Quotes eld
1305 \begin_inset Quotes erd
1309 This is only useful if you use bitmap fonts, because only these don't scale
1311 If you define this flag, LyX will only use the fixed font sizes that are
1312 available, and this guarantees that all bitmap fonts look well.
1313 (You can see which individual font sizes are available with the
1322 .) However, the prize is that the difference between the size of the fonts
1323 on screen and the size of fonts on paper will be larger because LyX will
1324 have to be satisfied with the closest available size, and not try to scale
1326 Also, you can risk that some logically different sizes, such as
1334 , will be mapped to the same screen font, making it hard for you to see
1335 the difference on screen.
1336 We've decided not to use scalable fonts by default because of these artifacts,
1337 but since LyX is a WYSIWYM system, many people like to use the flag anyways,
1338 well-knowing that the font size on the screen can't be trusted.
1339 But remember that this flag only makes a difference when you use bitmap
1341 Scalable fonts won't be affected for reasons you should understand by now.
1344 \begin_layout Standard
1345 One final note regarding this flag: you should know that there is nothing
1346 wrong with using bitmap and scalable fonts at the same time for different
1348 For instance, it's common to use the scalable
1349 \begin_inset Quotes eld
1353 \begin_inset Quotes erd
1356 for the serif text together with a bitmap version of
1357 \begin_inset Quotes eld
1361 \begin_inset Quotes erd
1365 And you can safely select the
1366 \begin_inset Quotes eld
1370 \begin_inset Quotes erd
1373 button without worries: It will only apply to the Helvetica font.
1376 \begin_layout Standard
1377 Sometimes the artifacts introduced by use of the flag can be relieved by
1378 using the fine-detail screen font sizes which defines which point sizes
1379 the different logical font sizes correspond to.
1384 to see exactly what concrete fonts the logical sizes map to, and try adjusting
1385 the corresponding entries in the
1389 dialog until you've managed to hit the nail and get the fonts you want.
1390 This can be hard to do, because LyX uses the DPI setting and the font zoom
1391 settings to calculate which exact screen font size to ask the X server
1392 for, thus obfuscating the mapping.
1393 If you can't make it by trial-and-error, you can make the process more
1394 transparent if you set both the DPI setting and font zoom settings to 100---eve
1395 n when this is known to be wrong.
1396 This will of course make your scalable fonts look weird, so use with care.
1399 \begin_layout Subsection
1403 \begin_layout Standard
1404 By default, LyX will use fonts meant to write Western European text, including
1405 all kinds of English.
1406 This is defined through the so-called
1415 If you want to use LyX to write for instance Eastern European text, Cyrillic
1416 or any other language not covered by the ISO-8859-1 font encoding, you
1417 can define a different one with the encoding setting.
1418 This requires you to have special fonts installed.
1423 to see whether this is the case: check the
1424 \begin_inset Quotes eld
1428 \begin_inset Quotes erd
1432 \begin_inset Quotes eld
1436 \begin_inset Quotes erd
1439 fields for ISO-8859-X values different from ISO-8859-1, and search for
1440 one that contains the national characters of your language.
1441 If you find any, enter this encoding in the dialog.
1442 If not, go searching the Web for appropriate fonts.
1443 For the Qt frontend, it's recommended you use an iso646 font set.
1446 \begin_layout Standard
1447 When you've set LyX up to use a different font encoding, you should also
1448 consider changing the font used by dialog windows in LyX.
1455 dialog will not be understandable unless you tell LyX to use a different
1457 By default the menu font is set to
1459 -*-helvetica-medium-r
1461 , but often Helvetica is not available in the font encoding you need, so
1462 the dialog allows this to be changed.
1465 \begin_layout Standard
1466 As you can see, there are quite a few options that can be used to fine tune
1467 the look of your fonts.
1468 This should not scare you from fiddling with the settings, because after
1469 all, you will hopefully be using LyX for many hours in the future.
1470 And contrary to real WYSIWYG word processors where you are tied to using
1471 fonts that have to look good both on paper and on screen, LyX gives you
1472 the possibility of using fonts that are designed to look good on the screen
1473 while using a different set of fonts to look good on paper.
1476 \begin_layout Section
1478 \begin_inset LatexCommand label
1486 \begin_layout Standard
1487 Bindings are used to, well, bind a function to a key.
1488 Several prepackaged binding files are available: a CUA set of bindings
1489 (familiar as the typical set of PC and CDE set of keyboard shortcuts),
1490 an Emacs set of bindings, for those of us who follow the One True Way and
1491 refuse to lower our standards,
1495 \begin_layout Standard
1496 I'm kidding here, of course!
1501 as well as specialty bindings (broadway and hollywood) and other languages
1502 (French, German, etc.).
1505 \begin_layout Standard
1506 If, however, you'd like to customise the keybindings to your own exacting
1507 tastes, then copy the best-fit file in
1516 Don't forget to load this new file into LyX using the
1521 (For the moment you'll have to restart LyX for these changes to take effect.)
1524 \begin_layout Standard
1525 LyX supports internationalization of the user interface (see Chapter\InsetSpace ~
1527 \begin_inset LatexCommand ref
1528 reference "chap:i18n"
1537 is set, with the environment variable
1541 , LyX will try to use bindfiles by prepending
1546 For example, you can put a translated copy of some standard bind file in
1551 directory, and LyX will use it automatically.
1554 \begin_layout Standard
1559 files is straightforward:
1562 \begin_layout Standard
1567 bind <key combination> <lyx-function>
1570 \begin_layout Standard
1571 Both key combination and lyx-function (including any arguments) must be
1572 enclosed in "double quotes".
1573 All the LyX functions are listed in the
1580 \begin_layout Section
1582 \begin_inset LatexCommand label
1590 \begin_layout Standard
1591 The appearance of both the menu and toolbar may both be changed using the
1606 For the moment, only one file exists,
1610 , but feel free to experiment.
1611 Just copy the file to the
1615 directory and play! Note that, for the moment, you'll have to restart LyX
1616 for these changes to take effect.
1619 \begin_layout Standard
1624 files is straightforward: have a look at
1637 entries must be ended with an explicit
1662 s and in the case of the
1663 \begin_inset Quotes eld
1667 \begin_inset Quotes erd
1675 One small word of warning.
1680 s may be inserted in a
1688 , but they are defined as
1699 \begin_layout Section
1700 Converters, Formats, Viewers, Editors and Copiers
1703 \begin_layout Standard
1704 LyX has a powerful mechanism to convert to and from any file format using
1706 Define a pair of formats, e.g.
1716 Now define a converter from one format to the other.
1717 In our example, two possible mechanisms exist.
1720 \begin_layout Enumerate
1721 A direct conversion, from LaTeX to PDF using pdflatex
1724 \begin_layout Enumerate
1725 A more convoluted route using intermediate formats and converters: LaTeX
1726 to DVI (using latex) to PostScript® (using dvips) to PDF (using ps2pdf).
1729 \begin_layout Standard
1730 LyX will always choose the shortest possible route, so you must specify
1731 two different Format names for
1735 files to be able to use either.
1736 Both are included by default in the
1741 Have a look and then invent your own!
1744 \begin_layout Standard
1745 Moreover, each Format can have a Viewer associated with it.
1746 For example, you might want to use
1750 to examine PostScript® files, or
1754 to preview the LaTeX output.
1755 You can alter the viewer to use (and what options to pass to it) via the
1761 ools\SpecialChar \menuseparator
1766 references:Conversion
1769 For example, to change the
1777 format in the dialog, change the viewer to be
1781 (or whatever), and hit
1791 \begin_layout Standard
1792 If the operating system has a default viewer associated to a format it is
1793 used instead of the one you can define via the
1798 ools\SpecialChar \menuseparator
1803 references:Conversion
1806 This does currently only work in the Windows® and Mac OS X ports of LyX,
1807 but it is planned to implement this feature on all other ports that can
1811 \begin_layout Standard
1812 Editors are like viewers: Each Format can have an Editor associated to it,
1813 and they can be altered via the
1818 ools\SpecialChar \menuseparator
1823 references:Conversion
1826 LyX uses them whenever an included file
1830 \begin_layout Standard
1831 This can be an included
1835 file, a verbatim included text file, external material or an included graphics
1844 \begin_layout Standard
1845 Finally, each Format can have a Copier associated to it.
1846 Since all conversions from one Format to another take place in a temporary
1847 directory, it is sometimes necessary to modify a file before copying it
1848 to the temporary directory
1852 \begin_layout Standard
1853 For example, the file may reference other files with relative filenames,
1854 which will become invalid in the temporary directory
1860 This is done by the Copier: It copies a file to (or from) the temporary
1861 directory and may modify it in the process.
1864 \begin_layout Standard
1865 Sometimes LyX needs to know a bit more about the properties of a format.
1866 These bits can be specified with flags.
1867 Currently there are two of them:
1870 \begin_layout Standard
1875 flag tells LyX that a format is suitable for document export.
1876 If this flag is set for a format, and if a suitable conversion route exists,
1877 then the format will appear in the
1882 ile\SpecialChar \menuseparator
1890 The format will also appear in the
1897 menu if it has a viewer associated to it.
1898 Pure image formats (e.g.\InsetSpace ~
1903 ) do not have this flag set, formats that can both represent images and
1904 documents (e.g.\InsetSpace ~
1912 \begin_layout Standard
1917 flag tells LyX whether a format can contain vector graphics.
1918 This information is used to determine the target format of included graphics
1924 Included graphics may need to be converted to either
1940 cannot handle other image formats.
1941 If an included graphic is not already in
1953 format it is converted to
1961 flag of the format is set, and otherwise to
1968 \begin_layout Section
1969 BibTeX and makeindex
1972 \begin_layout Standard
1973 Both the bibliography generating command (default
1977 ) and the index generating command (default
1990 As an alternative for
2002 \begin_layout Standard
2003 The command to enter is
2009 makeindex.sh -m $$lang
2012 \begin_layout Standard
2013 where the placeholder
2017 will be replaced by the chosen document (babel) language.
2021 \begin_layout Standard
2022 have installed the packages
2039 at a shell prompt for a help page.
2042 \begin_layout Section
2043 Plain text export options
2046 \begin_layout Standard
2047 \begin_inset VSpace bigskip
2053 \begin_layout Standard
2055 There are a couple of commands that can be used to
2056 \begin_inset Quotes eld
2060 \begin_inset Quotes erd
2063 exported plain text files.
2064 Note that LyX automatically detects and uses the best settings for your
2065 system at installation time, but you can modify them if you disagree with
2069 \begin_layout Description
2073 Plain text\InsetSpace ~
2078 This option defines the command used to produce better plain text tables with
2083 UNIX-commands (refer to their manpages for more information about them).
2084 Setting this as empty tells LyX to use the internal (inferior) formatter.
2087 \begin_layout Description
2091 Plain text\InsetSpace ~
2097 With this command you can set the default line length of the plain text output
2099 Setting it to 0 means endless lines.
2102 \begin_layout Section
2106 \begin_layout Standard
2107 There are a bunch of configuration options that are used for interaction
2108 with the external print command from LyX.
2109 Normally the defaults are fine: if, however, your print command takes different
2110 option names, you can modify them here.
2113 \begin_layout Subsection
2117 \begin_layout Standard
2118 You can change the colors used by LyX on-screen using the new
2123 Alternatively, if you're feeling particularly perverse you could use the
2128 bindable function (see the
2133 Input would have the format:
2136 \begin_layout Standard
2139 set-color LyXName X11Color
2142 \begin_layout Standard
2143 Here is a (partial) list of the functions and default colors:
2146 \begin_layout Standard
2148 \begin_inset Tabular
2149 <lyxtabular version="3" rows="10" columns="3">
2151 <column alignment="left" valignment="top" leftline="true" width="0pt">
2152 <column alignment="left" valignment="top" leftline="true" width="0pt">
2153 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2154 <row topline="true" bottomline="true">
2155 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2158 \begin_layout Standard
2173 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2176 \begin_layout Standard
2191 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2194 \begin_layout Standard
2210 <row topline="true">
2211 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2214 \begin_layout Standard
2229 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2232 \begin_layout Standard
2247 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2250 \begin_layout Standard
2266 <row topline="true">
2267 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2270 \begin_layout Standard
2285 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2288 \begin_layout Standard
2303 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2306 \begin_layout Standard
2322 <row topline="true">
2323 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2326 \begin_layout Standard
2341 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2344 \begin_layout Standard
2359 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2362 \begin_layout Standard
2378 <row topline="true">
2379 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2382 \begin_layout Standard
2397 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2400 \begin_layout Standard
2415 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2418 \begin_layout Standard
2434 <row topline="true">
2435 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2438 \begin_layout Standard
2453 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2456 \begin_layout Standard
2466 fraction Lines, brackets, etc.
2471 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2474 \begin_layout Standard
2490 <row topline="true">
2491 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2494 \begin_layout Standard
2509 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2512 \begin_layout Standard
2518 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2521 \begin_layout Standard
2537 <row topline="true">
2538 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2541 \begin_layout Standard
2556 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2559 \begin_layout Standard
2565 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2568 \begin_layout Standard
2584 <row topline="true">
2585 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2588 \begin_layout Standard
2603 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2606 \begin_layout Standard
2612 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2615 \begin_layout Standard
2631 <row topline="true" bottomline="true">
2632 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2635 \begin_layout Standard
2650 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2653 \begin_layout Standard
2663 selection background
2668 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2671 \begin_layout Standard
2694 \begin_layout Section
2695 The autodetected settings
2698 \begin_layout Standard
2699 \begin_inset LatexCommand label
2700 name "sec:autodetected"
2704 There are several items that are detected for you when you run
2711 \SpecialChar \menuseparator
2717 In this section, we list those which pertain to the user preferences.
2720 \begin_layout Description
2726 plaintext_roff_command
2741 , depending on what is available.
2744 \begin_layout Description
2757 plus a bunch of options.
2760 \begin_layout Description
2773 on systems (so-called System V) who have this command, and
2777 otherwise (BSD systems).
2780 \begin_layout Description
2786 print_spool_printerprefix
2797 , depending on whether
2808 \begin_layout Description
2825 fonts are found and LaTeX has support for these fonts built-in.
2826 You can set it manually if you only have the so-called
2833 \begin_layout Section
2837 \begin_layout Standard
2838 There are many other configuration options that can be used to customize
2840 We still need to document them here, but again, most should be fairly obvious.
2841 Please ask on the mailing lists if you need some more information; it may
2842 even prompt us to expand this section.
2845 \begin_layout Chapter
2846 Internationalizing LyX
2847 \begin_inset LatexCommand label
2855 \begin_layout Standard
2856 LyX supports using a translated interface.
2857 Last time we checked, LyX provided text in 14 languages together with the
2858 default English text.
2859 The language of choice is called your
2864 (For further reading on locale settings, see also the documentation for
2865 locale that comes with your operating system.
2866 For Linux, the manual page for locale(5) could be a good place to start).
2869 \begin_layout Standard
2870 Notice that these translations will work, but do contain a few flaws.
2871 In particular, all dialogs have been designed with the English text in
2872 mind, which means that some of the translated text will be too large to
2873 fit within the space allocated.
2874 This is only a display problem and will not cause any harm.
2875 Also, you will find that some of the translations do not define short-cut
2876 keys for everything.
2877 Sometimes, there are simply not enough free letters to do it.
2878 Other times, the translator just hasn't got around to doing it yet.
2879 Our localization team -- which you may wish to join -- will try to fix
2880 these shortcomings in future versions of LyX.
2883 \begin_layout Section
2884 Selecting an alternative language for the user interface
2887 \begin_layout Standard
2888 This feature is disabled by default, meaning that system default language
2890 To enable an alternative language, you have to set an appropriate environment
2898 for csh class shells
2913 with the two letter code (or four letter code, like
2917 for British English) for the language you want.
2923 Besides the user interface texts being translated, also the appropriate
2924 manuals will be presented under the Help menu -- if available.
2927 \begin_layout Standard
2928 On some systems, you may have to redefine
2940 , to override the system settings; their preference is in this order
2944 \begin_layout Standard
2945 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
2951 , which corresponds to the way GNU
2956 Consult your system documentation.
2957 Normally, you'll want to put the appropriate line in a shell script run
2958 on start-up, so that the translation is on by default.
2959 Remember that this affects
2963 localized packages, not only LyX!
2966 \begin_layout Standard
2967 If LyX is configured and compiled with
2968 \begin_inset Quotes eld
2976 \begin_inset Quotes erd
2979 , this mechanism will not work.
2982 \begin_layout Section
2986 \begin_layout Subsection
2987 Translating the graphical user interface (text messages).
2990 \begin_layout Standard
2995 library to handle the internationalization of the interface.
2996 To have LyX speak your favorite language in all menus and dialogs, you
3001 -file for that language.
3002 When this is available, you'll have to generate a mo-file from it and install
3008 The process of doing all of this is explained in the documentation for
3013 , but in short, this is what you do (
3017 denotes the language code):
3020 \begin_layout Standard
3024 \begin_layout Standard
3036 \begin_layout Itemize
3039 LYX-SOURCE-DIR/po/lyx.pot
3052 doesn't exist, it can be remade with
3056 in that directory, or you can use an existing po-file for some other language
3060 \begin_layout Itemize
3067 \begin_layout Standard
3068 We recommend that you use Emacs to do this, since the
3072 distribution includes a nice mode that supports you in doing this.
3080 For some menu- and widget-labels, there are also shortcut keys that should
3082 Those keys are marked after a `|', and should be translated according to
3083 the words and phrases of the
3088 There is a tool named
3092 written in Prolog in
3094 LYX-SOURCE-DIR/development/tools/
3096 that may be useful to help determine short-cut keys.
3097 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
3098 characters as shortcut keys.
3099 You should also fill also out the information at the beginning of the new
3104 -file with your email-address, etc., so people know where to reach you with
3105 suggestions and entertaining flames.
3108 \begin_layout Itemize
3117 This can be done with
3136 \begin_layout Itemize
3141 -file to your locale-tree, at the correct directory for application messages
3146 , and under the name
3155 /usr/local/share/locale/
3166 \begin_layout Standard
3170 \begin_layout Standard
3182 \begin_layout Standard
3183 Adding a new po-file to the
3187 of LyX involves altering the configure scripts and more, but the way
3191 works, you don't actually need the source-code of LyX to translate it---having
3207 \begin_layout Standard
3208 If you've written a translation file for a language that LyX does not currently
3209 support, feel free to submit it for inclusion by sending a patch.
3210 In this case, we recommend that you read the
3218 directory for more instructions.
3221 \begin_layout Subsubsection
3225 \begin_layout Standard
3226 Sometimes it turns out that one english message needs to be translated into
3227 different messages in the target language.
3228 One example is the message
3232 which has the german translation
3249 does not handle such ambigous translations.
3250 Therefore you have to add some context information to the message: Instead
3257 To[[as in 'From format x to format y']]
3261 To[[as in 'From page x to page y']].
3264 Now the two occurences of
3272 and can be translated correctly to
3287 \begin_layout Standard
3288 Of course the context information needs to be stripped off the original
3289 message when no translation is used.
3290 Therefore you have to put it in double square brackets at the end of the
3291 message (see the example above).
3292 The translation mechanism of LyX ensures that everything in double square
3293 brackets at the end of messages is removed before displaying the message.
3296 \begin_layout Subsection
3297 Translating the documentation.
3300 \begin_layout Standard
3301 The online documentation (in the
3308 -menu) can (and should!) be translated.
3309 If there are translated versions of the documentation available
3313 \begin_layout Standard
3314 As of February 2003, almost all of the docs have been translated into German
3320 has been translated into at least 12 other languages, with other translations
3322 The library of translated documents is growing rapidly.
3327 , and the locale is set accordingly, these will be used automagically by
3329 LyX looks for translated versions as
3343 denotes the language as set by the environmental variable
3348 If there are none, the default English versions will be displayed.
3349 Note that the translated versions must have the same filenames (
3353 above) as the original.
3354 If you feel up to translating the documentation (an excellent way to proof-read
3355 the original documentation BTW!), there are a few things you should do
3359 \begin_layout Itemize
3364 , the guide to writing LyX documentation.
3365 Pay special attention to the translator's section.
3368 \begin_layout Itemize
3369 Check out the documentation translation web page at
3370 \begin_inset LatexCommand url
3371 name "The LyX Developer's Web Site"
3372 target "http://www.devel.lyx.org"
3377 That way, you can find out which (if any) documents have already been translate
3378 d into your language.
3379 You can also find out who (if anyone) is organizing the effort to translate
3380 the documentation into your language.
3381 If no one is organizing the effort, please let us know that you're interested.
3384 \begin_layout Standard
3385 Once you get to actually translating, here's a few hints for you that may
3389 \begin_layout Itemize
3390 Join the documentation team! There is information on how to do that in
3399 elp\SpecialChar \menuseparator
3406 ), which by the way is the first document you should translate.
3409 \begin_layout Itemize
3410 Learn the typographic conventions for the language you are translating to.
3411 Typography is an ancient art and over the centuries, a great variety of
3412 conventions have developed throughout different parts of the world.
3413 Also study the professional terminology amongst typographers in your country.
3414 Inventing your own terminology will only confuse the users.
3417 (Warning! Typography is addictive!)
3420 \begin_layout Itemize
3421 Make a copy of the document.
3422 This will be your working copy.
3423 You can use this as your personal translated help-file by placing it in
3431 \begin_layout Itemize
3432 Sometimes the original document (from the LyX-team) will be updated.
3433 Use the ViewCVS tool available at
3434 \begin_inset LatexCommand htmlurl
3435 target "http://www.lyx.org/viewcvs.cgi/lyxdoc/"
3439 to see what has been changed
3443 \begin_layout Standard
3444 Alternatively, you can keep a copy of the latest version of the English
3445 document which you've translated.
3451 That way you can easily see which parts of the translated document need
3455 \begin_layout Itemize
3456 If you ever find an error in the original document, fix it and notify the
3457 rest of the documentation team of the changes! (You didn't forget to join
3458 the documentation team did you?)
3461 \begin_layout Section
3462 International Keyboard Support
3465 \begin_layout Standard
3468 [Editor's Note: The following section is by
3473 It needs to be fixed to conform to the new Documentation Style sheet and
3474 to make use of the new v1.0 features.
3475 The whole thing also needs to be merged with the section following it.-jw]
3478 \begin_layout Subsection
3479 Defining Own Keymaps: Keymap File Format
3482 \begin_layout Standard
3483 Let's look at a keyboard definition file a little closer.
3484 It is a plain text file defining
3487 \begin_layout Itemize
3488 key-to-key or key-to-string translations
3491 \begin_layout Itemize
3495 \begin_layout Itemize
3496 dead keys exceptions
3499 \begin_layout Standard
3500 To define key-to-key or key-to-string translation, use this command:
3503 \begin_layout Quotation
3519 \begin_layout Standard
3524 is the key to be translated and
3528 is the string to be inserted into the document.
3529 To define dead keys, use:
3532 \begin_layout Quotation
3548 \begin_layout Standard
3558 The following dead keys are supported (shortcut name is in parentheses):
3561 \begin_layout Quotation
3569 \begin_layout Quotation
3575 \begin_layout Quotation
3581 \begin_layout Quotation
3588 \begin_layout Quotation
3594 \begin_layout Quotation
3601 \begin_layout Standard
3613 \begin_layout Quotation
3619 \begin_layout Quotation
3626 \begin_layout Standard
3638 \begin_layout Quotation
3644 \begin_layout Quotation
3652 \begin_layout Quotation
3659 \begin_layout Standard
3671 \begin_layout Quotation
3679 \begin_layout Standard
3691 \begin_layout Quotation
3700 \begin_layout Quotation
3701 hungarian umlaut (hug)
3708 \begin_layout Quotation
3714 \begin_layout Quotation
3722 \begin_layout Standard
3734 \begin_layout Standard
3735 Since in many international keyboards there are exceptions to what some
3736 dead keys should do, you can define them using
3739 \begin_layout Quotation
3748 deadkey key outstring
3751 \begin_layout Standard
3752 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3756 \begin_layout Quotation
3770 \begin_layout Standard
3771 to make it work correctly.
3772 Also, you have to define as exceptions dead keys over i and j, to remove
3773 the dot from them before inserting an accent mark.
3774 I will change this when the time comes, but so far I haven't had time.
3777 \begin_layout Standard
3778 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3784 have different meaning.
3789 marks comments, quotes start and end LaTeX-style commands.
3790 To enter quote, you'll need to use
3809 \begin_layout Standard
3810 If you make a keyboard description file that works for your language, please
3811 mail it to me, so I can include it in the next keymap distribution.
3814 \begin_layout Standard
3815 More keywords will be supported in keymap configuration file in future,
3819 \begin_layout Itemize
3837 \begin_layout Itemize
3852 an external keymap translation program
3855 \begin_layout Standard
3856 Also, it should look into
3860 file for defaults, too (for example, a
3866 option to include default keyboard).
3869 \begin_layout Section
3870 International Keymap Stuff
3871 \begin_inset LatexCommand label
3879 \begin_layout Standard
3880 The next two sections describe the
3892 file syntax in detail.
3893 These sections should help you design your own key map if the ones provided
3894 do not meet your needs.
3897 \begin_layout Subsection
3901 \begin_layout Standard
3910 file maps keystrokes to characters or strings.
3911 As the name suggests it sets a keyboard mapping.
3936 are described in this section.
3940 \labelwidthstring 00.00.0000
3947 Map a character to a string
3950 \begin_layout LyX-Code
3963 \begin_layout Standard
3981 the double-quote (")
3989 must be escaped with a preceding backslash (
4000 \begin_layout Standard
4007 statement to cause the symbol
4013 to be output for the keystroke
4022 \begin_layout LyX-Code
4029 \labelwidthstring 00.00.0000
4036 Specify an accent character
4039 \begin_layout LyX-Code
4049 \begin_layout Standard
4050 This will make the cha
4065 This is the dead key
4069 \begin_layout Standard
4076 refers to a key that does not produce a character by itself, but when followed
4077 with another key, produces the desired accent character.
4078 For example, a German characte
4080 r with an umlaut like
4084 can be produced in this manner.
4093 \begin_layout Standard
4100 and then another key not in
4108 followed by the other, unallowed key, as output.
4117 cancels a dead key, so if
4128 , the cursor will not go one position backwards but will instead cancel
4135 might have had on the next keystroke.
4139 \begin_layout Standard
4140 The following example specifies that the character ' is to be an acute accent,
4141 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4144 \begin_layout LyX-Code
4147 kmod ' acute aeiouAEIOU
4151 \labelwidthstring 00.00.0000
4156 Specify an exception to the accent character
4159 \begin_layout LyX-Code
4170 \begin_layout Standard
4171 This defines an exce
4190 have been assigned a keystroke with a previous
4204 must not belong in the
4224 If such a declaration does not exist in
4261 \begin_layout Standard
4262 The following command produces causes äi to be produced when you enter acute-i
4266 \begin_layout LyX-Code
4281 \labelwidthstring 00.00.0000
4286 Combine two accent characters
4289 \begin_layout LyX-Code
4295 accent1 accent2 allowed
4298 \begin_layout Standard
4299 This one is getting pretty esoteric.
4300 It allows you to combine the effect
4345 \begin_layout Standard
4346 Consider this example from the
4355 \begin_layout LyX-Code
4358 kmod ; acute aeioyvhAEIOYVH
4362 kcomb acute umlaut iyIY
4365 \begin_layout Standard
4366 This allows you to press
4372 and get the effect of
4389 in this case cancels the last dead key, so if you press
4406 \begin_layout Subsection
4410 \begin_layout Standard
4419 mapping is performed, a
4426 file maps the strings that the symbols generate to characters in the current
4428 The LyX distribution currently includes at least the
4443 \begin_layout Standard
4452 file is a sequence of declarations of the form
4455 \begin_layout LyX-Code
4466 \begin_layout Standard
4467 For example, in order to map
4475 to the corresponding character in the iso-8859-1 set (233), the following
4479 \begin_layout LyX-Code
4487 \begin_layout Standard
4507 the same character can apply to more than one string.
4520 \begin_layout LyX-Code
4546 \begin_layout Standard
4547 If LyX cannot find a mapping for the string produced by the keystroke or
4548 a deadkey sequence, it will check if it looks like an accented char and
4549 try to draw an accent over the character on screen.
4552 \begin_layout Subsection
4556 \begin_layout Standard
4557 There is a second way to add support for international characters through
4558 so-called dead-keys.
4559 A dead-key works in combination with a letter to produce an accented character.
4560 Here, we'll explain how to create a really simple dead-key to illustrate
4564 \begin_layout Standard
4565 Suppose you happen to need the circumflex character,
4566 \begin_inset Quotes eld
4571 \begin_inset Quotes erd
4579 -key [a.k.a.\InsetSpace ~
4584 ] to the LyX command
4593 Now, whenever you type the
4597 -key followed by a letter, that letter will have a circumflex accent on
4599 For example, the sequence
4600 \begin_inset Quotes eld
4608 \begin_inset Quotes erd
4611 produces the letter:
4612 \begin_inset Quotes eld
4616 \begin_inset Quotes erd
4620 If you tried to type
4621 \begin_inset Quotes eld
4629 \begin_inset Quotes erd
4632 , however, LyX will complain with a beep, since a
4633 \begin_inset Quotes eld
4641 \begin_inset Quotes erd
4644 never takes a circumflex accent.
4649 after a dead-key produces the bare-accent.
4650 Please note this last point! If you bind a key to a dead-key, you'll need
4651 to rebind the character on that key to yet another key.
4656 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4659 \begin_layout Standard
4660 One common way to bind dead-keys is to use
4672 in combination with an accent, like
4673 \begin_inset Quotes eld
4681 \begin_inset Quotes erd
4685 \begin_inset Quotes eld
4693 \begin_inset Quotes erd
4697 \begin_inset Quotes eld
4705 \begin_inset Quotes erd
4709 Another way involves using
4717 [remember them from section?] to set up the special
4726 acts in some ways just like
4730 and permits you to bind keys to accented characters.
4731 You can also turn keys into dead-keys by binding them to something like
4736 and then binding this symbolic key to the corresponding LyX command.
4740 \begin_layout Standard
4745 : This is exactly what I do in my
4763 and a bunch of these
4764 \begin_inset Quotes eld
4772 \begin_inset Quotes erd
4775 symbolic keys bound such things as
4786 This is how I produce my accented characters.
4791 You can make just about anything into the
4799 keys, a spare function key, etc.
4800 As for the LyX commands that produce accents, check the entry for
4809 You'll find the complete list there.
4812 \begin_layout Subsection
4813 Saving your Language Configuration
4816 \begin_layout Standard
4817 \begin_inset LatexCommand label
4822 You can edit your preferences so that your desired language environment
4823 is automatically configured when LyX starts up, via the
4828 dit\SpecialChar \menuseparator
4838 \begin_layout Chapter
4839 Installing New Document Classes, Layouts, and Templates
4840 \begin_inset LatexCommand label
4841 name "chap:textclass"
4849 \begin_layout Standard
4850 Installing New Document Classes
4858 \begin_layout Standard
4859 In this chapter, we describe the procedures for creating and installing
4860 new LyX layout and template files, as well as offer a refresher on correctly
4861 installing new LaTeX document classes.
4862 Some definitions: a document class is a LaTeX file (usually ending in
4870 ) which describes the format of a document such as an article, report, journal
4872 and all the commands needed to realize that format.
4873 A layout file is a LyX file which corresponds to a LaTeX document class
4874 and which tells LyX how to
4875 \begin_inset Quotes eld
4879 \begin_inset Quotes erd
4882 things on the screen to make the display look something like the final
4884 More precisely, a layout file describes a
4885 \begin_inset Quotes eld
4889 \begin_inset Quotes erd
4892 which is the internal construct LyX uses to render the screen display.
4894 \begin_inset Quotes eld
4898 \begin_inset Quotes erd
4902 \begin_inset Quotes eld
4906 \begin_inset Quotes erd
4909 can be used somewhat interchangeably, but it is better to refer to the
4910 file as the layout, and the thing living in LyX's memory as the text class.
4911 A template file is simply a LyX document which contains a set of predefined
4912 entries for a given document class which are generally required for that
4914 Templates are especially useful for things like journal manuscripts which
4915 are to be submitted electronically.
4918 \begin_layout Section
4919 Installing a new LaTeX package
4922 \begin_layout Standard
4923 Some installations may not include a LaTeX package that you would like to
4925 For example, you might need FoilTeX, a common (and very powerful) package
4926 for preparing slides or viewgraphs for overhead projectors.
4927 Here are the formal steps involved in getting the package up and running
4928 if you are using teTeX or some other web2c based distribution.
4932 \begin_layout Enumerate
4933 Get the package from CTAN or wherever.
4937 \begin_layout Standard
4940 Inventory of your LaTeX configuration
4942 manual for details of what CTAN is and where supported document classes
4951 \begin_layout Enumerate
4956 (this usually lives in the directory
4960 , though you can run
4965 It describes how to add a local
4969 directory; follow the instructions.
4970 You need to insert the name of your local
4983 is a logical place to install software that did not come with your distribution
4989 Usually, you will have to modify only two things:
4993 \begin_layout Enumerate
4998 to the directory you chose; e.g.
5003 TEXMFLOCAL = /usr/local/texmf
5006 \begin_layout Enumerate
5020 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
5024 \begin_layout Enumerate
5035 You must follow the directory structure of your existing
5039 directory (for example, latex packages should go under
5041 /usr/local/texmf/tex/latex/
5046 \begin_layout Enumerate
5047 Install the package.
5048 For example, you would unpack the FoilTeX tarball and create
5050 /usr/local/texmf/tex/latex/foiltex
5057 directory contains various files.
5060 \begin_layout Enumerate
5068 /usr/local/texmf/ls-R
5073 \begin_layout Enumerate
5074 From within LyX, do:
5079 ools\SpecialChar \menuseparator
5090 \begin_layout Standard
5091 Now you should see your new package---for example
5100 ayout\SpecialChar \menuseparator
5115 Note that there are simpler ways of installing packages: you can add a
5116 link to the new package directory in the system LaTeX directory (
5120 , don't forget to then run
5124 ), or sometimes simply set the
5128 environment variable to include the new package.
5129 However, the formal procedure described in
5133 is guaranteed to work, so you should follow it unless circumstances absolutely
5134 prevent it: such as, when you don't have superuser access.
5137 \begin_layout Section
5141 \begin_layout Standard
5142 This section describes how to write and install your own LyX layout files
5143 (also known as text classes) and walks through the
5147 text class format as an example.
5152 files describe what paragraph styles are available for a given document
5153 class and how LyX should display them.
5154 We try to provide a thorough description of the process here; however,
5155 there are so many different types of documents supported by LaTeX classes
5156 we can't hope to cover every different possibility or problem you might
5161 \begin_layout Standard
5162 When you plan to write a new layout, it is extremely helpful to look at
5163 the example layouts distributed with LyX.
5164 If you use a nice LaTeX document class that might be of interest for others,
5165 too, and have a nice corresponding LyX layout, feel free to contribute
5166 the stuff to us, so we may put it into the distribution.
5169 \begin_layout Standard
5170 All the tags described in this chapter are case-insensitive; this means
5183 are really the same command.
5184 The possible values are printed in brackets after the feature's name.
5185 The default value if a feature isn't specified inside a text class-description
5193 If the argument has a datatype like
5194 \begin_inset Quotes eld
5198 \begin_inset Quotes erd
5202 \begin_inset Quotes eld
5206 \begin_inset Quotes erd
5209 , the default is shown like this:
5219 \begin_layout Subsection
5220 Supporting new document classes
5223 \begin_layout Standard
5224 There are two situations you are likely to encounter when wanting to support
5225 a new LaTeX document class, involving LaTeX2e class (
5236 \begin_layout Subsection
5244 \begin_layout Standard
5245 If your new document class is provided as a style file that is used in conjuncti
5246 on with an existing, supported document class, start by copying the existing
5247 class's layout file into your local directory.
5248 For the sake of example we'll assume that the style file is called
5252 and it is meant to be used with
5256 which is a standard class.
5259 \begin_layout LyX-Code
5260 cp report.layout ~/.lyx/layouts/myclass.layout
5263 \begin_layout Standard
5268 and change the line:
5271 \begin_layout LyX-Code
5274 DeclareLaTeXClass{report}
5277 \begin_layout Standard
5281 \begin_layout LyX-Code
5284 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5287 \begin_layout Standard
5291 \begin_layout LyX-Code
5301 \begin_layout Standard
5302 near the top of the file.
5305 \begin_layout Standard
5306 Start LyX and select
5311 ools\SpecialChar \menuseparator
5319 Restart LyX and try creating a new document.
5324 " as a document class option in the
5329 ocument\SpecialChar \menuseparator
5337 It is likely that some of the sectioning commands and such will differ
5338 from how the base class
5342 \begin_layout Standard
5352 works, so you can fiddle around with the settings for the different sections
5354 See below for more discussion on this.
5357 \begin_layout Subsection
5365 \begin_layout Standard
5366 In this case, you will probably have to
5367 \begin_inset Quotes eld
5371 \begin_inset Quotes erd
5375 We strongly suggest copying an existing layout file which uses a similar
5376 LaTeX class and modifying it if at all possible.
5377 At least use an existing file as a starting point so you can find out what
5378 items you need to worry about.
5379 Again, the specifics are covered below.
5382 \begin_layout Section
5383 Declaring a new text class
5386 \begin_layout Standard
5387 When it's finally time to get your hands dirty and create or edit your own
5388 layout file, the following sections describe what you're up against.
5389 Our advice is to go slowly, save and test often, listen to soothing music,
5390 and enjoy one or two of your favorite adult beverages; more if you are
5391 getting particularly stuck.
5392 It's really not that hard, except that the multitude of options can become
5393 overwhelming if you try to do to much in one sitting.
5394 Go have another adult beverage, just for good measure.
5397 \begin_layout Standard
5401 \begin_layout Standard
5402 Lines in a layout file which begin with a
5407 There is one exception to this rule: all layouts should begin with lines
5411 \begin_layout LyX-Code
5414 #% Do not delete the line below; configure depends on this
5417 \begin_layout LyX-Code
5422 DeclareLaTeXClass{article}
5425 \begin_layout Standard
5426 The second line is used when you configure LyX.
5427 The layout file is read by the LaTeX script
5431 , in a special mode where
5436 The first line is just a LaTeX comment, and the second one contains the
5437 declaration of the text class.
5438 If these lines appear in a file named
5442 , then they define a text class of name
5446 (the name of the layout file) which uses the LaTeX document class
5450 (the default is to use the same name as the layout).
5452 \begin_inset Quotes eld
5456 \begin_inset Quotes erd
5459 that appears above is used as a description of the text class in the
5464 ocument\SpecialChar \menuseparator
5474 \begin_layout Standard
5475 Let's assume that you wrote your own text class that uses the
5479 documentclass, but where you changed the appearance of the section headings.
5480 If you put it in a file
5484 , the header of this file should be:
5487 \begin_layout LyX-Code
5490 #% Do not delete the line below; configure depends on this
5493 \begin_layout LyX-Code
5498 DeclareLaTeXClass[article]{article (with my own headings)}
5501 \begin_layout Standard
5502 This declares a text class
5506 , associated with the LaTeX document class
5511 \begin_inset Quotes eld
5514 article (with my own headings)
5515 \begin_inset Quotes erd
5519 If your text class depends on several packages, you can declare it as:
5522 \begin_layout LyX-Code
5525 #% Do not delete the line below; configure depends on this
5528 \begin_layout LyX-Code
5533 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5536 \begin_layout Standard
5537 This indicates that your text class uses the foo.sty package.
5538 Finally, it is also possible to declare classes for SGML and DocBook code.
5539 Typical declarations will look like
5542 \begin_layout LyX-Code
5545 #% Do not delete the line below; configure depends on this
5548 \begin_layout LyX-Code
5553 DeclareSGMLClass{SGML (LinuxDoc)}
5556 \begin_layout Standard
5560 \begin_layout LyX-Code
5561 #% Do not delete the line below; configure depends on this
5564 \begin_layout LyX-Code
5567 DeclareDocBookClass[article]{SGML (DocBook article)}
5570 \begin_layout Standard
5571 Note that these declarations can also be given an optional parameter declaring
5572 the name of the document class (but not a list).
5575 \begin_layout Standard
5576 When the text class has been modified to your taste, all you have to do
5577 is to copy it either in
5590 ools\SpecialChar \menuseparator
5598 Exit LyX and restart it; then your new text class should be available along
5602 \begin_layout Subsection
5606 \begin_layout Standard
5607 The first non-comment line must contain the file format number:
5610 \begin_layout Description
5621 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
5622 don't have an explicit file format).
5623 The file format that is documented here is
5630 \begin_layout Subsection
5631 General text class parameters
5634 \begin_layout Standard
5635 These are the general parameters which describe the form of the entire document:
5638 \begin_layout Standard
5642 \begin_layout Standard
5654 \begin_layout Description
5668 ] Whether the class-default should have one or two columns.
5669 Can be changed in the
5674 ocument\SpecialChar \menuseparator
5685 This setting (same goes for
5689 , too) is important: if your text class has two columns by default but you
5690 forget to set it correctly, the
5698 be output when you select
5707 ocument\SpecialChar \menuseparator
5715 \begin_layout Description
5729 ] Whether the class-default should be printing on one or both sides of the
5731 Can be changed in the
5739 ocument\SpecialChar \menuseparator
5749 \begin_layout Description
5764 ] The class default pagestyle.
5765 Can be changed in the
5770 ocument\SpecialChar \menuseparator
5783 \begin_layout Description
5787 ClassOptions\SpecialChar \ldots{}
5791 This section describes various global options supported by the document
5793 See Section\InsetSpace ~
5795 \begin_inset LatexCommand ref
5796 reference "sec:classoptions"
5803 \begin_layout Description
5817 ] Whether the class already loads the
5822 This is the case of the
5833 \begin_layout Description
5847 ] Whether the class already provides the functionality of the
5852 This is the case of the
5863 \begin_layout Description
5877 ] Whether the class already provides the functionality of the
5882 This is the case of the
5889 \begin_layout Description
5896 This is used to describe the default font of the document.
5897 See Section\InsetSpace ~
5899 \begin_inset LatexCommand ref
5900 reference "sec:fonts"
5907 \begin_layout Description
5918 ] This is the style that will be assigned to new paragraphs, usually
5923 This will default to the first defined style if not given, but you are
5924 highly encouraged to use this directive.
5927 \begin_layout Description
5944 ] Indicates what kind of markup is used to define the title of a document.
5949 means that the macro with name
5953 will be inserted after the last layout which has
5954 \begin_inset Quotes eld
5962 \begin_inset Quotes erd
5970 corresponds to the case where the block of paragraphs which have
5971 \begin_inset Quotes eld
5979 \begin_inset Quotes erd
5982 should be enclosed into the
5991 \begin_layout Description
6002 ] The name of the command/environment mentionned above.
6005 \begin_layout Description
6009 Preamble\SpecialChar \ldots{}
6013 A set of macro definitions that will be output at the beginning of the
6015 Use this for global definitions.
6018 \begin_layout Description
6025 As its name implies, this command allows you to include another layout
6026 definition file within yours to avoid duplicating commands.
6027 Common examples are the standard layout files, for example,
6031 , which contains most of the basic layouts.
6034 \begin_layout Description
6038 Style\SpecialChar \ldots{}
6042 This sequence defines a new style.
6043 If the style already exists, it will redefine some of its parameters instead.
6044 See Section\InsetSpace ~
6046 \begin_inset LatexCommand ref
6047 reference "sec:style"
6054 \begin_layout Description
6061 This command deletes an existing style.
6062 This is particularly useful when you want to suppress a style that has
6063 be defined in an input file.
6066 \begin_layout Description
6070 Float\SpecialChar \ldots{}
6074 This sequence defines a new float.
6075 See Section\InsetSpace ~
6077 \begin_inset LatexCommand ref
6078 reference "sec:floats"
6085 \begin_layout Description
6092 This command deletes an existing float.
6093 This is particularly useful when you want to suppress a float that has
6094 be defined in an input file.
6097 \begin_layout Description
6101 CharStyle\SpecialChar \ldots{}
6106 This section defines a new character style.
6107 See Section\InsetSpace ~
6109 \begin_inset LatexCommand ref
6110 reference "sec:charstyle"
6117 \begin_layout Description
6121 Counter\SpecialChar \ldots{}
6125 This sequence defines a new counter.
6126 See Section\InsetSpace ~
6128 \begin_inset LatexCommand ref
6129 reference "sec:counter"
6136 \begin_layout Standard
6140 \begin_layout Standard
6152 \begin_layout Subsection
6160 \begin_layout Standard
6161 \begin_inset LatexCommand label
6162 name "sec:classoptions"
6170 section can contain the following entries:
6173 \begin_layout Description
6184 ] The list of available font sizes for the document's main font, separated
6186 \begin_inset Quotes eld
6194 \begin_inset Quotes erd
6200 \begin_layout Description
6209 string="empty|plain|headings|fancy"
6211 ] The list of available page styles, separated by
6212 \begin_inset Quotes eld
6220 \begin_inset Quotes erd
6226 \begin_layout Description
6237 ] Some document class options, separated by a comma, that will be added
6238 to the optional part of the
6247 \begin_layout Subsection
6248 Specific Paragraph Layouts
6251 \begin_layout Standard
6252 \begin_inset LatexCommand label
6257 A paragraph layout description looks like this
6261 \begin_layout Standard
6262 Note that this will either define a new layout or modify an existing one.
6270 \begin_layout LyX-Code
6277 \begin_layout LyX-Code
6281 \begin_layout LyX-Code
6285 \begin_layout Standard
6286 where the following commands are allowed:
6289 \begin_layout Standard
6293 \begin_layout Standard
6305 \begin_layout Description
6316 This is used to copy all the features of an existing layout into the current
6321 \begin_layout Description
6333 , Command, Environment, Item_Environment,
6339 ] How the layout should be translated into LaTeX.
6344 means nothing special.
6357 {\SpecialChar \ldots{}
6372 }\SpecialChar \ldots{}
6396 is generated for each paragraph of this environment.
6409 is passed as an argument to the environment.
6414 can be defined in the
6419 ayout\SpecialChar \menuseparator
6433 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6434 Visit the SGML class files for specific examples.
6437 \begin_layout Description
6445 If 1, marks the layout as being part of a title block (see also the
6456 \begin_layout Description
6463 The name of the corresponding LaTeX stuff.
6464 Either the environment or command name.
6467 \begin_layout Description
6474 The optional parameter for the corresponding
6481 This parameter cannot be changed from within LyX.
6484 \begin_layout Description
6495 ] The number of optional arguments that can be used with this layout.
6496 This is useful for things like section headings, and only makes sense with
6500 \begin_layout Description
6512 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6516 The kind of margin that the layout has on the left side.
6521 just means a fixed margin.
6526 means that the left margin depends on the string entered in the
6531 dit\SpecialChar \menuseparator
6536 aragraph\InsetSpace ~
6540 This is used to typeset nice lists without tabulators.
6545 means that the margin depends on the size of the label.
6546 This is used for automatic enumerated headlines.
6547 It is obvious that the headline
6548 \begin_inset Quotes eld
6551 5.4.3.2.1 Very long headline
6552 \begin_inset Quotes erd
6555 must have a wider left margin (as wide as
6556 \begin_inset Quotes eld
6560 \begin_inset Quotes erd
6563 plus the space) than
6564 \begin_inset Quotes eld
6567 3.2 Very long headline
6568 \begin_inset Quotes erd
6571 , even if other word processors are not able to do this.
6576 is similar, but only the very first row of the paragraph is dynamic, while
6577 the others are static; this is used, for example, for descriptions.
6582 means the margin is chosen in a way that the longest row of this paragraph
6583 fits to the right margin.
6584 This is used to typeset an address on the right edge of the page.
6587 \begin_layout Description
6601 ] Whether the following Paragraph is allowed to indent its very first row.
6606 means that it is not allowed to do so,
6610 means it could do so if it wants to.
6613 \begin_layout Description
6624 ] The indent of the very first line of a paragraph.
6625 The argument is passed as a string.
6630 means that the paragraph is indented with the width of
6639 You can get a negative width by prefixing the string with
6644 This way was chosen so that the look is the same with each used screen
6650 will be fixed for a certain layout.
6651 The exception is Standard layout, since the indentation of a Standard layout
6652 paragraph can be prohibited with
6657 Also, Standard layout paragraphs inside environments use the
6661 of the environment, not their native one.
6662 For example, Standard paragraphs inside an enumeration are not indented.
6665 \begin_layout Description
6676 ] LyX allows to choose either
6677 \begin_inset Quotes eld
6681 \begin_inset Quotes erd
6685 \begin_inset Quotes eld
6689 \begin_inset Quotes erd
6692 to typeset a document.
6694 \begin_inset Quotes eld
6698 \begin_inset Quotes erd
6701 is chosen, this value is completely ignored.
6703 \begin_inset Quotes eld
6707 \begin_inset Quotes erd
6710 is chosen, the parindent of a LaTeXtype
6711 \begin_inset Quotes eld
6715 \begin_inset Quotes erd
6718 layout is ignored and all paragraphs are additionally separated by this
6720 The vertical space is calculated with
6722 value*DefaultHeight()
6728 is the height of a row with the normal font.
6729 This way, the look stays the same with different screen fonts.
6732 \begin_layout Description
6743 ] The vertical space with which the very first of a chain of paragraphs
6744 with this layout is separated from the previous paragraph.
6745 If the previous paragraph has another layout, the separations are not simply
6746 added, but the maximum is taken.
6749 \begin_layout Description
6764 for the very last paragraph.
6767 \begin_layout Description
6778 ] The vertical space between two paragraphs of this layout.
6781 \begin_layout Description
6792 ] This is an extra space between the paragraphs of an environment layout.
6793 If you put other layouts into an environment, each is separated with the
6799 But the whole items of the environment are additionally separated with
6808 \begin_layout Description
6819 ] If you put layouts into environments, the leftmargins are not simply added,
6820 but added with a factor
6821 \begin_inset Formula $\frac{4}{depth+4}$
6825 Note that this parameter is also used when the border is defined as
6834 Then it is added to the manual or dynamic border.
6835 This string has the same meaning as for
6842 \begin_layout Description
6860 \begin_layout Description
6872 , Manual, Static, Top_Environment,
6874 Centered_Top_Environment, Sensitive,
6883 means the label is the very first word (up to the first real blank).
6888 means it is defined in the layout (see
6899 Centered_Top_Environment
6901 are special cases of
6906 The label will be printed above the paragraph, but only at the top of an
6907 environment or the top of a chain of paragraphs with this layout.
6908 Usage is for example the
6917 This is also the case for
6921 labels with latex type
6925 , in order to make layouts for theorems work correctly.
6930 is a special case for the caption-labels
6931 \begin_inset Quotes eld
6935 \begin_inset Quotes erd
6939 \begin_inset Quotes eld
6943 \begin_inset Quotes erd
6951 means the (hardcoded) label string depends on the kind of float.
6956 label type defines automatically numbered labels.
6959 \begin_layout Description
6972 The name of the counter for automatic numbering (see Section\InsetSpace ~
6974 \begin_inset LatexCommand ref
6975 reference "sec:counter"
6980 This must be given if
6993 \begin_layout Description
7004 ] The horizontal space between the label and the text body.
7005 Only used for labels that are not above the text body.
7008 \begin_layout Description
7015 [float=0] The vertical space between the label and the text body.
7016 Only used for labels that are above the text body (
7022 Centered_Top_Environment
7027 \begin_layout Description
7038 ] The string used for a label with a
7047 this string is also used as a suggestion for the
7051 that can be set in the
7056 dit\SpecialChar \menuseparator
7061 aragraph\InsetSpace ~
7071 is set, this string can be contain special formatting commands as explained
7072 in Section\InsetSpace ~
7074 \begin_inset LatexCommand ref
7075 reference "sec:counter"
7082 \begin_layout Description
7093 ] If non-empty, this is used inside the appendix instead of
7101 \begin_layout Description
7108 The level of the style in the table of contents.
7109 This is used for automatic numbering of section headings.
7112 \begin_layout Description
7124 , Box, Filled_Box, Static
7126 ] The type of label that stands at the end of the paragraph (or sequence
7149 \begin_inset Quotes eld
7153 \begin_inset Quotes erd
7165 ) is a white (resp.\InsetSpace ~
7166 black) square suitable for end of proof markers,
7170 is an explicit text string.
7173 \begin_layout Description
7184 ] The string used for a label with a
7196 \begin_layout Description
7208 , left, right, center
7210 ] Paragraph alignment.
7213 \begin_layout Description
7225 , left, right, center
7232 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7234 For example a right-aligned or centered enumeration isn't possible.
7237 \begin_layout Description
7251 ] With this parameter the
7256 \begin_inset Quotes eld
7259 Vertical space above
7260 \begin_inset Quotes erd
7268 dit\SpecialChar \menuseparator
7273 aragraph\InsetSpace ~
7276 dialog can be set when initializing a paragraph with this layout
7280 \begin_layout Standard
7283 Note from Jean-Marc:
7285 I'm not sure that this setting has much use, and it should probably be removed
7295 \begin_layout Description
7316 \begin_layout Description
7330 ] Whether fragile commands in this layout should be
7339 \begin_layout Description
7353 ] Whether newlines are translated into LaTeX newlines (
7362 The translation can be switched off to allow more comfortable LaTeX editing
7366 \begin_layout Description
7380 ] Whether the contents of this paragraph should be output in raw form, meaning
7381 without special translations that LaTeX would require.
7382 This somehow replaces the older
7389 \begin_layout Description
7403 ] Usually LyX doesn't allow you to insert more than one space between words,
7404 since a space is considered as the separation between two words, not a
7405 character or symbol of its own.
7406 This is a very fine thing but sometimes annoying, for example when typing
7407 program code or plain LaTeX code.
7413 Note that LyX will create protected blanks for the additional blanks when
7414 in another mode than LaTeX-mode.
7417 \begin_layout Description
7431 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7432 lead to empty LaTeX output.
7433 There are some cases where this could be desirable however: in a letter
7434 template, the required fields can be provided as empty fields, so that
7435 people do not forget them; in some special classes, a layout can be used
7436 as some kind of break, which does not contain actual text.
7439 \begin_layout Description
7451 , onehalf, double, other
7456 ] This defines what the default spacing should be in the layout.
7469 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7470 If you specify the argument
7474 , then you should also provide a numerical argument which will be the actual
7476 Note that, contrary to other parameters,
7480 implies the generation of specific LaTeX code, using the package
7487 \begin_layout Description
7494 The font used for both the text body
7499 See section\InsetSpace ~
7501 \begin_inset LatexCommand ref
7502 reference "sec:fonts"
7507 Note that defining this font automatically defines the
7514 \begin_layout Description
7521 The font used for the text body .
7522 See section\InsetSpace ~
7524 \begin_inset LatexCommand ref
7525 reference "sec:fonts"
7532 \begin_layout Description
7539 The font used for the label.
7540 See section\InsetSpace ~
7542 \begin_inset LatexCommand ref
7543 reference "sec:fonts"
7550 \begin_layout Description
7554 Preamble\SpecialChar \ldots{}
7558 A set of macro definitions that will be output at the beginning of the
7559 LaTeX files when the layout is used.
7560 Use this to define the macros needed by this particular layout.
7563 \begin_layout Description
7570 the name of a style which preamble should be output
7574 the one mentionned above.
7575 This allows to ensure some ordering of the preamble snippets when macros
7576 definitions depend on one another
7580 \begin_layout Standard
7581 Note that, besides that functionality, there is no way to ensure any ordering
7583 The ordering that you see in a given version of LyX may change without
7584 warning in later versions.
7592 \begin_layout Standard
7596 \begin_layout Standard
7608 \begin_layout Subsection
7612 \begin_layout Standard
7613 \begin_inset LatexCommand label
7618 Since version 1.3.0 of LyX, it is necessary to define the floats (
7626 , \SpecialChar \ldots{}
7627 ) in the text class itself.
7628 If you are looking here to learn how to upgrade an existing text class,
7629 it will probably turn out that all you have to do is to add
7632 \begin_layout LyX-Code
7636 \begin_layout Standard
7637 at a reasonable location of the text class.
7641 \begin_layout Standard
7642 Don't forget to also have a look at counters in next section.
7647 If you want to implement a text class that proposes some other float types
7648 (like the AGU class bundled with LyX), the information below will hopefully
7652 \begin_layout Description
7664 \begin_inset Quotes erd
7668 \begin_inset Quotes erd
7672 \begin_inset Quotes eld
7676 \begin_inset Quotes erd
7679 of the new class of floats, like program or algorithm.
7680 After the appropriate
7701 \begin_layout Description
7713 \begin_inset Quotes erd
7717 \begin_inset Quotes erd
7720 ] The string that will be used in the menus and also for the caption.
7723 \begin_layout Description
7744 if the float is already defined by the documentclass.
7749 , the float will be defined using the LaTeX package
7756 \begin_layout Description
7768 \begin_inset Quotes erd
7772 \begin_inset Quotes erd
7775 ] This (optional) argument determines whether floats of this class will
7776 be numbered within some sectional unit of the document.
7777 For example, if within is equal to
7781 , the floats will be numbered within chapters.
7785 \begin_layout Description
7797 \begin_inset Quotes erd
7801 \begin_inset Quotes erd
7804 ] The style used when defining the float using
7813 \begin_layout Description
7825 \begin_inset Quotes erd
7829 \begin_inset Quotes erd
7832 ] The default placement for the given class of floats.
7833 They are like in standard LaTeX:
7849 for top, bottom, page, and here, respectively.
7853 \begin_layout Standard
7854 Note that the order of these letters in the string is irrelevant, like in
7860 On top of that there is a new type,
7864 , which does not really correspond to a float, since it means: put it
7865 \begin_inset Quotes eld
7869 \begin_inset Quotes erd
7873 Note, however that the
7877 specifier is special and, because of implementation details cannot be used
7878 in non-builtin float types.
7879 If you do not understand what this means, just use
7886 \begin_layout Description
7898 \begin_inset Quotes erd
7902 \begin_inset Quotes erd
7905 ] The file name extension of an auxiliary file for the list of figures (or
7907 LaTeX writes the captions to this file.
7910 \begin_layout Description
7922 \begin_inset Quotes erd
7926 \begin_inset Quotes erd
7929 ] The heading used for the list of floats.
7932 \begin_layout Subsection
7936 \begin_layout Standard
7937 \begin_inset LatexCommand label
7938 name "sec:charstyle"
7942 You can define character styles since version 1.4.0 of LyX.
7947 section can contain the following entries:
7950 \begin_layout Description
7957 The font used for both the text body
7962 See section\InsetSpace ~
7964 \begin_inset LatexCommand ref
7965 reference "sec:fonts"
7970 Note that defining this font automatically defines the
7977 \begin_layout Description
7984 The font used for the label.
7985 See section\InsetSpace ~
7987 \begin_inset LatexCommand ref
7988 reference "sec:fonts"
7995 \begin_layout Description
8002 The name of the corresponding LaTeX stuff.
8003 Either the environment or command name.
8006 \begin_layout Description
8013 The optional parameter for the corresponding
8020 This parameter cannot be changed from within LyX.
8023 \begin_layout Description
8030 See section\InsetSpace ~
8032 \begin_inset LatexCommand ref
8033 reference "sec:style"
8040 \begin_layout Description
8044 Preamble\SpecialChar \ldots{}
8048 See section\InsetSpace ~
8050 \begin_inset LatexCommand ref
8051 reference "sec:style"
8058 \begin_layout Subsection
8062 \begin_layout Standard
8063 \begin_inset LatexCommand label
8068 Since version 1.3.0 of LyX, it is necessary to define the counters (
8076 , \SpecialChar \ldots{}
8077 ) in the text class itself.
8078 If you are looking here to learn how to upgrade an existing text class,
8079 it will probably turn out that all you have to do is to add
8082 \begin_layout LyX-Code
8083 Input stdcounters.inc
8086 \begin_layout Standard
8087 The definition of counters is presently a bit primitive in LyX, since many
8088 things are still hardcoded.
8089 The following two parameters can be used:
8092 \begin_layout Description
8104 \begin_inset Quotes erd
8108 \begin_inset Quotes erd
8111 ] The name of the counter
8114 \begin_layout Description
8126 \begin_inset Quotes erd
8130 \begin_inset Quotes erd
8133 ] If this is set to the name of another counter, the present counter will
8134 be reset everytime the other one is increased (is that unclear enough?).
8137 \begin_layout Standard
8138 When a counter has been associated to a style, it is possible to use some
8139 special constructs in
8154 \begin_layout Itemize
8163 will be replaced the expanded
8174 This is used for example to define the label of a subsection in terms of
8175 the label of a section.
8178 \begin_layout Itemize
8179 counter values can be expressed using LaTeX-like macros
8203 \begin_layout Description
8214 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8219 \begin_layout Standard
8229 Actually, the situation is a bit more complicated than that: any
8245 other than those descibed below will produce arabic numerals.
8246 It would not be surprising to see this change in the future.
8254 \begin_layout Description
8261 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8265 \begin_layout Description
8272 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8276 \begin_layout Description
8283 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8287 \begin_layout Description
8294 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8298 \begin_layout Description
8305 for hebrew numerals.
8309 \begin_layout Subsection
8313 \begin_layout Standard
8314 \begin_inset LatexCommand label
8319 A font description looks like that:
8322 \begin_layout LyX-Code
8332 \begin_layout LyX-Code
8336 \begin_layout LyX-Code
8340 \begin_layout Standard
8341 and the following commands are available:
8344 \begin_layout Description
8361 \begin_layout Description
8378 \begin_layout Description
8390 , Italic, SmallCaps, Slanted
8395 \begin_layout Description
8408 , large, larger, largest, huge, giant
8413 \begin_layout Description
8426 , black, white, red, green, blue, cyan, magenta, yellow
8431 \begin_layout Subsection
8432 Upgrading old layout files
8435 \begin_layout Standard
8436 The file format of layout files changes from time to time, so old layout
8437 files need to be converted.
8438 This process has been automated in LyX 1.4.0: If LyX reads an old format
8439 layout file it will call the conversion tool
8441 $LyXDir/scripts/layout2layout.py
8443 and convert it to a temporary file in current format.
8444 The original file is left untouched, so that you can still use it with
8446 If you want to convert the layout file permanently, just call the converter
8450 \begin_layout LyX-Code
8451 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8454 \begin_layout Standard
8466 \begin_layout Standard
8467 The automatic conversion does only handle syntax changes.
8468 It cannot handle the case where the contents of included files was changed.
8469 For example, layout files based on
8482 If you get error messages about undefined counters, try to convert your
8502 \begin_layout Section
8504 \begin_inset LatexCommand label
8505 name "sec:templates"
8512 \begin_layout Standard
8513 Templates are created just like usual documents.
8514 The only difference is that usual documents contain all possible settings,
8515 including the fontscheme and the papersize.
8516 Usually a user doesn't want a template to overwrite his defaults in these
8518 For that reason, the designer of a template should remove the corresponding
8531 from the template LyX file.
8532 This can be done with any simple text-editor, for example
8544 \begin_layout Standard
8545 Put the edited template files you create in
8549 , copy the ones you use from the global template directory in
8553 to the same place, and redefine the template path in the
8558 dit\SpecialChar \menuseparator
8577 \begin_layout Standard
8578 Note that there is a template which has a particular meaning:
8583 This template is loaded everytime you create a new document with
8590 \SpecialChar \menuseparator
8598 in order to provide useful defaults.
8599 To create this template from inside LyX, all you have to do is to open
8600 a document with the correct settings, and use the
8606 e as Document Defaults
8611 \begin_layout Chapter
8612 Including External Material
8615 \begin_layout Section
8619 \begin_layout Standard
8620 \begin_inset Note Note
8623 \begin_layout Standard
8624 This section is completely outdated.
8629 One often requested feature from LyX users is to be able to interface LyX
8630 with XFig, Dia, or other similar applications that specialize in producing
8631 a certain kind of diagram, figure, schematic or whatever material might
8632 be relevant to include in your document.
8633 Previously, it was only possible to include boring, static, fixed images
8634 in LyX documents with the graphics feature, but there are several limitations
8635 attached to this approach:
8638 \begin_layout Itemize
8639 If you want to change the figure, you have to invoke an external program
8643 \begin_layout Itemize
8644 LyX does not notice that the referenced files change, so the on-screen display
8645 can fast become obsolete, and this is aggravated by the lack of a means
8646 of updating the display
8649 \begin_layout Itemize
8650 The graphics stuff does not provide any mechanisms for coping with different
8651 exported formats such as DocBook, HTML or plain text
8654 \begin_layout Standard
8655 The external material facility attempts to solve all of these problems
8659 \begin_layout Standard
8660 Even if the graphics facility can't solve all problems, it is still valuable
8661 because it does provide in-line preview of the graphics, and supports advanced
8662 geometric transformations with a comfortable user interface.
8668 It does this by offering a general method to interface LyX to external
8670 Instead of introducing a long list of different constructs tailored for
8671 each specific application, we chose to sacrifice the in-line displaying
8672 of the included material in order to provide a general construct to cover
8673 a wide range of applications.
8674 The result is the external material construct.
8675 External material presents itself in the document simply as a button, but
8676 don't let this fool you.
8677 When you click on it, a dialog will appear that allows you to chose exactly
8678 what material to include, and in the following sections you will learn
8679 that this is indeed a powerful mechanism that can solve all of the above
8683 \begin_layout Section
8687 \begin_layout Standard
8688 The external material feature is based on the concept of a
8693 A template is a specification of how LyX should interface with a certain
8695 As bundled, LyX comes with predefined templates for XFig figures, Dia diagrams,
8696 various raster format images, gnuplot, and more.
8697 You can check the actual list by using the
8699 Insert\SpecialChar \menuseparator
8708 Furthermore, it is possible to roll your own template to support a specific
8710 Later we'll describe in more detail what is involved, and hopefully you
8711 will submit all the templates you create so we can include them in a later
8715 \begin_layout Standard
8716 Another basic idea of the external material feature is to distinguish between
8717 the original file that serves as a base for final material and the produced
8718 file that is included in your exported or printed document.
8719 For example, consider the case of a figure produced with XFig.
8720 The XFig application itself works on an original file with the
8725 Within XFig, you create and change your figure, and when you are done,
8731 When you want to include the figure in your document, you invoke
8735 in order to create a PostScript file that can readily be included in your
8741 file is the original file, and the PostScript file is the produced file.
8744 \begin_layout Standard
8745 This distinction is important in order to allow updating of the material
8746 while you are in the process of writing the document.
8747 Furthermore, it provides us with the flexibility that is needed to support
8748 multiple export formats.
8749 For instance, in the case of a plain text file, it is not exactly
8750 an award-winning idea to include the figure as raw PostScript.
8751 Instead, you'd either prefer to just include a reference to the figure,
8752 or try to invoke some graphics to Ascii converter to make the final result
8753 look similar to the real graphics.
8754 The external material management allows you to do this, because it is parameter
8755 ized on the different export formats that LyX supports.
8758 \begin_layout Standard
8759 Besides supporting the production of different products according to the
8760 exported format, it supports tight integration with editing and viewing
8762 In the case of an XFig figure, you are able to invoke
8766 on the original file with a single click from within the external material
8767 dialog in LyX, and also preview the produced PostScript file with
8772 No more fiddling around with the command line and/or file browsers to locate
8773 and manipulate the original or produced files.
8774 In this way, you are finally able to take full advantage of the many different
8775 applications that are relevant to use when you write your documents, and
8776 ultimately be more productive.
8779 \begin_layout Standard
8780 \begin_inset Note Note
8783 \begin_layout Standard
8784 This paragraph is outdated
8789 So, all in all, LyX has information about a number of different programs
8790 to use behind the scenes in order to realize all of this machinery.
8791 This information, in fact, is exactly what is contained in the templates.
8792 To each template, there is associated a list of command lines that are
8793 used to invoke applications, convert the original file to the produced
8795 This mechanism allows the advanced user to extend the capabilities of LyX
8796 without fiddling with the source code.
8797 It requires some footwork to define all the different commands and flags,
8798 but luckily, the LyX team did all the hard work and specified these for
8802 \begin_layout Standard
8803 But before the trees grow into the skies, we have to admit that we did take
8805 Since you can produce many different kinds of files to go with each exported
8806 format, one could also expect that it would be possible to preview each
8808 The LyX team decided against this in order to keep the user interface simple.
8809 Instead of providing a button for each exported file format, we decided
8810 to introduce the concept of the primary file format and just have one button.
8820 in the external material dialog, you will get a view of the produced file
8821 in the primary file format.
8822 And the primary file format is specified by your document class.
8823 For most document classes, the primary file format is LaTeX, but for the
8824 DocBook document classes, the primary file format is DocBook.
8825 So, when you view the produced file, keep in mind that it will only be
8826 a preview of what the main result will be.
8827 If you want to see how other exported formats turn out, you have to export
8828 them and preview them by hand.
8831 \begin_layout Section
8832 The external material dialog
8835 \begin_layout Standard
8836 You insert external material from the
8844 When you do this, a button is inserted into your document, and the external
8845 material dialog is shown.
8846 This dialog allows you to describe exactly what material should be included,
8847 and also how it should be included.
8848 Furthermore, it provides access to the external applications to either
8849 view, edit or produce the material that is used in the resulting file.
8852 \begin_layout Standard
8853 \begin_inset Note Note
8856 \begin_layout Standard
8857 This paragraph is outdated
8862 At the top of this dialog, there is a drop-down list where you can chose
8863 which template should be used.
8864 Just below the template drop-down, there's a text area with a short blurb
8865 about the chosen template that should help you use it.
8866 Most often, it will provide a short description of the template, and a
8867 few hints on how to parameterize the use of it.
8868 Further down, you'll find a filename input field along with a
8869 \begin_inset Quotes eld
8873 \begin_inset Quotes erd
8876 button that allows you to chose which file should be included with the
8877 standard file browser.
8878 Thus this field specifies the original file.
8879 Since the produced file is automatically generated when needed, there is
8880 no need to give access to it in the user interface.
8883 \begin_layout Standard
8884 \begin_inset Note Note
8887 \begin_layout Standard
8888 This paragraph is outdated
8893 At the bottom of the dialog, you'll find a general input box called
8898 This box is generally used to parameterize the specific template.
8899 The specific use should be covered in the help blurb associated with the
8900 template, but it typically allows you to define variations on how the produced
8901 file should be generated.
8904 \begin_layout Standard
8905 \begin_inset Note Note
8908 \begin_layout Standard
8909 This paragraph is outdated
8914 At the right side of the dialog, you'll find three buttons:
8942 These in turn allow you to edit your original file with the appropriate
8943 editing application, view the produced file as included in the primary
8944 format document, and finally force an update of the resulting material
8945 in the primary format.
8955 button will be disabled, because most templates are configured to automatically
8956 update the produced file when needed.
8957 In those cases, there is no need to force the production of a new produced
8959 However, some templates are configured to not be automatically producing
8960 the residual product, because the cost of producing the produced file might
8961 be so large that it would be a pain to do it all the time.
8962 Those types are known as
8967 In those cases, you can use the button to force the production of the produced
8968 file exactly when you need it, and thus control the amount of work that
8974 responsibility to do this to keep the produced files current at all times:
8975 before printing, before exporting, before viewing, etc.
8976 At some time in the future, it might be possible that LyX will help you
8977 with this task.Any changes in the template, filename or parameters are actually
8978 applied whenever you press
9003 \begin_layout Section
9007 \begin_layout Standard
9008 In this section, we should include some examples of use of the external
9010 Those examples could include:
9013 \begin_layout Itemize
9014 External raster images
9017 \begin_layout Itemize
9018 External XFig figures
9021 \begin_layout Itemize
9025 \begin_layout Itemize
9029 \begin_layout Itemize
9030 The use of makefiles
9033 \begin_layout Itemize
9034 Recursive external LyX templates
9037 \begin_layout Section
9038 The external template configuration file
9041 \begin_layout Standard
9042 It is relatively easy to add custom external template definitions to LyX.
9043 However, be aware this doing this in an careless manner most probably
9047 introduce an easily exploitable security hole.
9048 So before you do this, please read the discussion about security which
9052 \begin_layout Standard
9053 Having said that, we encourage you to submit any interesting templates that
9058 \begin_layout Standard
9059 The external templates are defined in the
9061 lib/external_templates
9064 You can place your own version in
9066 .lyx/external_templates
9071 \begin_layout Standard
9072 A typical template looks like this:
9075 \begin_layout LyX-Code
9079 \begin_layout LyX-Code
9080 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
9083 \begin_layout LyX-Code
9087 \begin_layout LyX-Code
9091 \begin_layout LyX-Code
9095 \begin_layout LyX-Code
9099 \begin_layout LyX-Code
9103 \begin_layout LyX-Code
9104 AutomaticProduction true
9107 \begin_layout LyX-Code
9111 \begin_layout LyX-Code
9115 \begin_layout LyX-Code
9119 \begin_layout LyX-Code
9120 TransformCommand Rotate RotationLatexCommand
9123 \begin_layout LyX-Code
9124 TransformCommand Resize ResizeLatexCommand
9127 \begin_layout LyX-Code
9128 Product "$$RotateFront$$ResizeFront
9131 \begin_layout LyX-Code
9136 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
9139 \begin_layout LyX-Code
9140 $$ResizeBack$$RotateBack"
9143 \begin_layout LyX-Code
9147 \begin_layout LyX-Code
9148 UpdateResult "$$AbsPath$$Basename.pstex_t"
9151 \begin_layout LyX-Code
9152 Requirement "graphicx"
9155 \begin_layout LyX-Code
9156 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9159 \begin_layout LyX-Code
9160 ReferencedFile latex "$$AbsPath$$Basename.eps"
9163 \begin_layout LyX-Code
9164 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9167 \begin_layout LyX-Code
9171 \begin_layout LyX-Code
9175 \begin_layout LyX-Code
9176 TransformCommand Rotate RotationLatexCommand
9179 \begin_layout LyX-Code
9180 TransformCommand Resize ResizeLatexCommand
9183 \begin_layout LyX-Code
9184 Product "$$RotateFront$$ResizeFront
9187 \begin_layout LyX-Code
9192 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9195 \begin_layout LyX-Code
9196 $$ResizeBack$$RotateBack"
9199 \begin_layout LyX-Code
9203 \begin_layout LyX-Code
9204 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9207 \begin_layout LyX-Code
9208 Requirement "graphicx"
9211 \begin_layout LyX-Code
9212 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9215 \begin_layout LyX-Code
9216 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9219 \begin_layout LyX-Code
9223 \begin_layout LyX-Code
9227 \begin_layout LyX-Code
9228 Product "$$Contents(
9230 "$$AbsPath$$Basename.asc
9235 \begin_layout LyX-Code
9236 UpdateFormat asciixfig
9239 \begin_layout LyX-Code
9240 UpdateResult "$$AbsPath$$Basename.asc"
9243 \begin_layout LyX-Code
9247 \begin_layout LyX-Code
9251 \begin_layout LyX-Code
9252 Product "<graphic fileref=
9254 "$$AbsOrRelPathMaster$$Basename.eps
9259 \begin_layout LyX-Code
9263 \begin_layout LyX-Code
9267 \begin_layout LyX-Code
9268 UpdateResult "$$AbsPath$$Basename.eps"
9271 \begin_layout LyX-Code
9272 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9275 \begin_layout LyX-Code
9276 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9279 \begin_layout LyX-Code
9283 \begin_layout LyX-Code
9287 \begin_layout LyX-Code
9288 Product "[XFig: $$FName]"
9291 \begin_layout LyX-Code
9295 \begin_layout LyX-Code
9299 \begin_layout Standard
9300 As you can see, the template is enclosed in
9304 \SpecialChar \ldots{}
9310 It contains a header specifying some general settings, and for each supported
9311 primary document file format a section
9315 \SpecialChar \ldots{}
9323 \begin_layout Subsection
9327 \begin_layout Description
9331 Template\InsetSpace ~
9335 A unique name for the template.
9336 It must not contain substitution macros (see below).
9339 \begin_layout Description
9343 GuiName\InsetSpace ~
9347 The text that is displayed on the button.
9348 This command must occur exactly once.
9351 \begin_layout Description
9355 HelpText\InsetSpace ~
9360 The help text that is used in the External dialog.
9361 Provide enough information to explain to the user just what the template
9362 can provide him with.
9363 This command must occur exactly once.
9366 \begin_layout Description
9370 InputFormat\InsetSpace ~
9374 The file format of the original file.
9375 This must be the name of a format that is known to LyX (see the
9380 ools\SpecialChar \menuseparator
9385 references:Conversion
9392 if the template can handle original files of more than one format.
9393 LyX will attempt to interrogate the file itself in order to deduce its
9394 format in this case.
9395 This command must occur exactly once.
9398 \begin_layout Description
9402 FileFilter\InsetSpace ~
9406 A glob pattern that is used in the file dialog to filter out the desired
9408 If there is more than one possible file extension (e.g.\InsetSpace ~
9417 ), use something like
9422 This command must occur exactly once.
9425 \begin_layout Description
9429 AutomaticProduction\InsetSpace ~
9433 Wether the file represented by the template must be generated by LyX.
9434 This command must occur exactly once.
9437 \begin_layout Description
9441 Transform\InsetSpace ~
9442 Rotate|Resize|Clip|Extra
9445 This command specifies which transformations are supported by this template.
9446 It may occur zero or more times.
9447 This command enables the corresponding tabs in the external dialog.
9452 command must have either a corresponding
9465 Otherwise the transformation will not be supported by that format.
9468 \begin_layout Subsection
9472 \begin_layout Description
9477 LaTeX|PDFLaTeX|PlainText|DocBook|LinuxDoc
9480 The primary document file format that this format definition is for.
9481 Not every template has a sensible representation in all document file formats.
9482 Please define nevertheless a
9486 section for all formats.
9487 Use a dummy text when no representation is available (see the LinuxDoc
9488 format in the example above).
9489 Then you can at least see a reference to the external material in the exported
9493 \begin_layout Description
9497 TransformCommand\InsetSpace ~
9499 RotationLatexCommand
9502 This command specifies that the built in LaTeX command should be used for
9504 This command may occur once or not at all.
9507 \begin_layout Description
9511 TransformCommand\InsetSpace ~
9516 This command specifies that the built in LaTeX command should be used for
9518 This command may occur once or not at all.
9521 \begin_layout Description
9525 TransformOption\InsetSpace ~
9530 This command specifies that rotation is done via an optional argument.
9531 This command may occur once or not at all.
9534 \begin_layout Description
9538 TransformOption\InsetSpace ~
9543 This command specifies that resizing is done via an optional argument.
9544 This command may occur once or not at all.
9547 \begin_layout Description
9551 TransformOption\InsetSpace ~
9556 This command specifies that clipping is done via an optional argument.
9557 This command may occur once or not at all.
9560 \begin_layout Description
9564 TransformOption\InsetSpace ~
9569 This command specifies that an extra optional argument is used.
9570 This command may occur once or not at all.
9573 \begin_layout Description
9577 Product\InsetSpace ~
9581 The text that is inserted in the exported document.
9582 This is actually the most important command and can be quite complex.
9583 This command must occur exactly once.
9586 \begin_layout Description
9590 UpdateFormat\InsetSpace ~
9594 The file format of the converted file.
9595 This must be the name of a format that is known to LyX (see the
9600 ools\SpecialChar \menuseparator
9605 references:Conversion
9608 This command must occur exactly once.
9611 \begin_layout Description
9615 UpdateResult\InsetSpace ~
9619 The file name of the converted file.
9620 The file name must be absolute.
9621 This command must occur exactly once.
9624 \begin_layout Description
9628 ReferencedFile\InsetSpace ~
9629 <format>\InsetSpace ~
9633 This command denotes files that are created by the conversion process and
9634 are needed for a particular export format.
9635 If the filename is relative, it is interpreted relative to the master document.
9636 This command may be given zero or more times.
9639 \begin_layout Description
9643 Requirement\InsetSpace ~
9647 The name of a required LaTeX package.
9648 The package is included via
9654 in the LaTeX preamble.
9655 This command may occur zero or more times.
9658 \begin_layout Description
9662 Preamble\InsetSpace ~
9666 This command specifies a preamble snippet that will be included in the
9668 It has to be defined using
9672 \SpecialChar \ldots{}
9678 This command may occur zero or more times.
9681 \begin_layout Description
9690 This command defines an additional macro
9703 itself may contain substitution macros.
9704 The advantage over using
9712 is that the substituted value of
9716 is sanitized so that it is a valid optional argument in the document format.
9717 This command may occur zero or more times.
9720 \begin_layout Subsection
9721 Preamble definitions
9724 \begin_layout Standard
9725 The external template configuration file may contain additional preamble
9726 definitions enclosed by
9730 \SpecialChar \ldots{}
9736 They can be used by the templates in the
9743 \begin_layout Section
9744 The substitution mechanism
9747 \begin_layout Standard
9748 When the external material facility invokes an external program, it is done
9749 on the basis of a command defined in the template configuration file.
9750 These commands can contain various macros that are expanded before execution.
9751 Execution always take place in the directory of the containing document.
9754 \begin_layout Standard
9755 Also, whenever external material is to be displayed, the name will be produced
9756 by the substitution mechanism, and most other commands in the template
9757 definition support substitution as well.
9760 \begin_layout Standard
9761 The available macros are the following:
9764 \begin_layout Description
9765 $$FName The filename of the file specified in the external material dialog.
9766 This is either an absolute name, or it is relative to the LyX document.
9769 \begin_layout Description
9770 $$Basename The filename without path and without the extension.
9773 \begin_layout Description
9774 $$Extension The file extension (including the dot).
9777 \begin_layout Description
9778 $$FPath The path part of
9782 (absolute name or relative to the LyX document).
9785 \begin_layout Description
9786 $$AbsPath The absolute file path.
9789 \begin_layout Description
9790 $$RelPathMaster The file path, relative to the master LyX document.
9793 \begin_layout Description
9794 $$RelPathParent The file path, relative to the LyX document.
9797 \begin_layout Description
9798 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9802 \begin_layout Description
9803 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9806 \begin_layout Description
9807 $$Tempname A name and full path to a temporary file which will be automatically
9808 deleted whenever the containing document is closed, or the external material
9812 \begin_layout Description
9814 \begin_inset Quotes eld
9818 \begin_inset Quotes erd
9821 ) This macro will expand to the contents of the file with the name
9828 \begin_layout Description
9829 $$Sysdir This macro will expand to the absolute path of the system directory.
9830 This is typically used to point to the various helper scripts that are
9834 \begin_layout Standard
9835 All path macros contain a trailing directory separator, so you can construct
9837 the absolute filename with
9839 $$AbsPath$$Basename$$Extension
9844 \begin_layout Standard
9845 The macros above are substituted in all commands unless otherwise noted.
9850 supports additionally the following substitutions if they are enabled by
9862 \begin_layout Description
9863 $$ResizeFront The front part of the resize command.
9866 \begin_layout Description
9867 $$ResizeBack The back part of the resize command.
9870 \begin_layout Description
9871 $$RotateFront The front part of the rotation command.
9874 \begin_layout Description
9875 $$RotateBack The back part of the rotation command.
9878 \begin_layout Standard
9879 The value string of the
9883 command supports additionally the following substitutions if they are enabled
9895 \begin_layout Description
9896 $$Clip The clip option.
9899 \begin_layout Description
9900 $$Extra The extra option.
9903 \begin_layout Description
9904 $$Resize The resize option.
9907 \begin_layout Description
9908 $$Rotate The rotation option.
9911 \begin_layout Standard
9912 You may ask why there are so many path macros.
9913 There are mainly two reasons:
9916 \begin_layout Standard
9917 First, relative and absolute file names should remain relative or absolute,
9919 Users may have reasons to prefer either form.
9920 Relative names are useful for portable documents that should work on different
9921 machines, for example.
9922 Absolute names may be required by some programs.
9925 \begin_layout Standard
9926 Second, LaTeX treats relative file names differently than LyX and other
9927 programs in nested included files.
9928 For LyX, a relative file name is always relative to the document that contains
9930 For LaTeX, it is always relative to the master document.
9931 These two definitions are identical if you have only one document, but
9932 differ if you have a master document that includes part documents.
9933 That means that relative filenames must be transformed when presented to
9935 Fortunately LyX does this automatically for you if you choose the right
9939 \begin_layout Standard
9940 So which path macro should be used in new template definitions? The rule
9944 \begin_layout Itemize
9949 if an absolute path is required.
9952 \begin_layout Itemize
9955 $$AbsOrRelPathMaster
9957 if the substituted string is some kind of LaTeX input.
9960 \begin_layout Itemize
9963 $$AbsOrRelPathParent
9965 in order to preserve the user's choice.
9968 \begin_layout Standard
9969 There are special cases where this rule does not work and e.g.\InsetSpace ~
9971 are needed, but normally it will work just fine.
9972 One example for such a case is the command
9974 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9976 in the XFig template above: We can't use the absolute name because the
9981 files needs the relative name in order to rewrite the file content.
9984 \begin_layout Section
9988 \begin_layout Standard
9989 \begin_inset Note Note
9992 \begin_layout Standard
9993 This section is outdated
9998 The external material feature interfaces with a lot of external programs
9999 and does so automatically, so we have to consider the security implications
10001 In particular, since you have the option of including your own filenames
10002 and/or parameter strings and those are expanded into a command, it seems
10003 that it would be possible to create a malicious document which executes
10004 arbitrary commands when a user views or prints the document.
10005 This is something we definately want to avoid.
10008 \begin_layout Standard
10009 However, since the external program commands are specified in the template
10010 configuration file only, there are no security issues if LyX is properly
10011 configured with safe templates only.
10012 This is so because the external programs are invoked with the
10016 -system call rather than the
10020 system-call, so it's not possible to execute arbitrary commands from the
10021 filename or parameter section via the shell.
10024 \begin_layout Standard
10025 This also implies that you are restricted in what command strings you can
10026 use in the external material templates.
10027 In particular, pipes and redirection are not readily available.
10028 This has to be so if LyX should remain safe.
10029 If you want to use some of the shell features, you should write a safe
10030 script to do this in a controlled manner, and then invoke the script from
10031 the command string.
10036 directory of the LyX installation, you can find a safe wrapper script
10038 general_command_wrapper.py
10040 that supports redirection of input and output.
10041 That can serve as an example for how to write safe template scripts.
10042 For a more advanced example that uses
10046 and friends, take a look at the
10053 \begin_layout Standard
10054 It is possible to design a template that interacts directly with the shell,
10055 but since this would allow a malicious user to execute arbitrary commands
10056 by writing clever filenames and/or parameters, we generally recommend that
10057 you only use safe scripts that work with the
10061 system call in a controlled manner.
10062 Of course, for use in a controlled environment, it can be tempting to just
10063 fall back to use ordinary shell scripts.
10064 If you do so, be aware that you
10068 provide an easily exploitable security hole in your system.
10069 Of course it stands to reason that such unsafe templates will never be
10070 included in the standard LyX distribution, although we do encourage people
10071 to submit new templates in the open source tradition.
10072 But LyX as shipped from the official distribution channels will never have
10076 \begin_layout Standard
10077 Including external material provides a lot of power, and you have to be
10078 careful not to introduce security hazards with this power.
10079 A subtle error in a single line in an innocent looking script can open
10080 the door to huge security problems.
10081 So if you do not fully understand the issues, we recommend that you consult
10082 a knowledgable security professional or the LyX development team if you
10083 have any questions about whether a given template is safe or not.
10084 And do this before you use it in an uncontrolled environment.
10087 \begin_layout Chapter
10091 \begin_layout Section
10095 \begin_layout Standard
10096 The LyX server is a method implemented in LyX that will enable other programs
10097 to talk to LyX, invoke LyX commands, and retrieve information about the
10098 LyX internal state.
10099 This is only intended for advanced users, but they should find it useful.
10102 \begin_layout Section
10103 Starting the LyX Server
10106 \begin_layout Standard
10107 The LyX server works through the use of a pair of named pipes.
10108 These are usually located in your home directory and have the names
10109 \begin_inset Quotes eld
10117 \begin_inset Quotes erd
10121 \begin_inset Quotes eld
10129 \begin_inset Quotes erd
10133 External programs write into
10137 and read back data from
10142 The stem of the pipe names can be defined in the
10147 ools\SpecialChar \menuseparator
10154 dialog, for example
10156 "/home/myhome/.lyxpipe"
10161 \begin_layout Standard
10170 ' to create the pipes.
10171 The above setting also has the effect of activating the LyX server.
10172 If one of the pipes already exists, LyX will assume that another LyX process
10173 is already running and will not start the server.
10174 To have several LyX processes with servers at the same time, you have to
10175 change the configuration between the start of the programs.
10178 \begin_layout Standard
10179 If you are developing a client program, you might find it useful to enable
10180 debugging information from the LyX server.
10181 Do this by starting LyX as
10183 lyx -dbg lyxserver.
10186 \begin_layout Standard
10187 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10188 case you must remove them manually.
10189 If LyX starts and the pipes exist already, it will not start any server.
10192 \begin_layout Standard
10193 Other than this, there are a few points to consider:
10196 \begin_layout Itemize
10197 Both server and clients must run on UNIX or OS/2 machines.
10198 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10199 not possible right now.
10202 \begin_layout Itemize
10203 On OS/2, only one client can connect to LyXServer at a time.
10206 \begin_layout Itemize
10207 On OS/2, clients must open inpipe with
10214 \begin_layout Standard
10215 You can find a complete example client written in C in the source distribution
10218 development/server_monitor.c
10223 \begin_layout Section
10224 Normal communication
10227 \begin_layout Standard
10228 To issue a LyX call, the client writes a line of ASCII text into the input
10230 This line has the following format:
10233 \begin_layout Quote
10247 \begin_layout Standard
10252 is a name that the client can choose arbitrarily.
10253 Its only use is that LyX will echo it if it sends an answer - so a client
10254 can dispatch results from different requesters.
10257 \begin_layout Standard
10262 is the function you want LyX to perform.
10263 It is the same as the commands you'd use in the minibuffer.
10266 \begin_layout Standard
10271 is an optional argument which is meaningful only to some functions (for
10273 \begin_inset Quotes eld
10277 \begin_inset Quotes erd
10280 which will insert the argument as text at the cursor position.)
10283 \begin_layout Standard
10284 The answer from LyX will arrive in the output pipe and be of the form
10287 \begin_layout Quote
10301 \begin_layout Standard
10310 are just echoed from the command request, while
10314 is more or less useful information filled according to how the command
10315 execution worked out.
10316 Some commands will return information about the internal state of LyX,
10318 \begin_inset Quotes eld
10322 \begin_inset Quotes erd
10325 , while other will return an empty data-response.
10326 This means that the command execution went fine.
10329 \begin_layout Standard
10330 In case of errors, the response from LyX will have this form
10333 \begin_layout Quote
10347 \begin_layout Standard
10352 should contain an explanation of why the command failed.
10355 \begin_layout Standard
10359 \begin_layout LyX-Code
10360 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10363 \begin_layout LyX-Code
10364 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10366 read a <~/.lyxpipe.out
10371 \begin_layout Section
10375 \begin_layout Standard
10376 LyX can notify clients of events going on asynchronously.
10377 Currently it will only do this if the user binds a key sequence with the
10379 \begin_inset Quotes eld
10383 \begin_inset Quotes erd
10387 The format of the string LyX sends is as follows:
10390 \begin_layout Quote
10399 \begin_layout Standard
10404 is the printed representation of the key sequence that was actually typed
10408 \begin_layout Standard
10409 This mechanism can be used to extend LyX's command set and implement macros:
10410 bind some key sequence to
10411 \begin_inset Quotes eld
10415 \begin_inset Quotes erd
10418 , start a client that listens on the out pipe, dispatches the command according
10419 to the sequence and starts a function that may use LyX calls and LyX requests
10420 to issue a command or a series of commands to LyX.
10423 \begin_layout Section
10424 The simple LyX Server Protocol
10427 \begin_layout Standard
10428 LyX implements a simple protocol that can be used for session management.
10429 All messages are of the form
10432 \begin_layout Quote
10442 \begin_layout Standard
10448 \begin_inset Quotes eld
10452 \begin_inset Quotes erd
10456 \begin_inset Quotes eld
10460 \begin_inset Quotes erd
10465 \begin_inset Quotes eld
10469 \begin_inset Quotes erd
10472 is received from a client, LyX will report back to inform the client that
10473 it's listening to it's messages, while
10474 \begin_inset Quotes eld
10478 \begin_inset Quotes erd
10481 sent from LyX will inform clients that LyX is closing.
10484 \begin_layout Chapter
10489 \begin_layout Standard
10490 This appendix is a huge cross-reference to all the English language keybindings.
10491 Originally, we simply wanted to list all of the key bindings followed by
10492 the function it's bound to.
10493 That way, a user can look up a key to find out what it does.
10494 We then decided, what the hey, why not include the default toolbar and
10495 menu bindings, too.
10496 Please note this section is likely to be very out of date.
10499 \begin_layout Standard
10500 The form is really self-explanatory, but here are a few tips: all entries
10501 are arranged roughly alphabetically for a given modifier (
10510 For the general keyboard layout, simpler prefixes precede the more complex
10520 All entries were gleaned from the default user interface and binding files
10521 located in the directories
10523 \SpecialChar \ldots{}
10528 \SpecialChar \ldots{}
10531 ; they should be treated as the final word on the bindings.
10534 \begin_layout Standard
10535 As a final note, be aware that some window managers (such as FVWM) take
10536 control of some of the function keys or motion keys.
10541 is listed here as generating
10545 , but FVWM grabs it and uses it to change virtual desktops instead.
10546 Very annoying unless you instruct your window manager to stop intercepting
10550 \begin_layout Section
10554 \begin_layout LyX-Code
10558 \begin_layout LyX-Code
10562 \begin_layout LyX-Code
10566 \begin_layout LyX-Code
10567 Icon "buffer-write"
10570 \begin_layout LyX-Code
10571 Icon "buffer-print"
10574 \begin_layout LyX-Code
10578 \begin_layout LyX-Code
10582 \begin_layout LyX-Code
10586 \begin_layout LyX-Code
10590 \begin_layout LyX-Code
10594 \begin_layout LyX-Code
10598 \begin_layout LyX-Code
10602 \begin_layout LyX-Code
10606 \begin_layout LyX-Code
10610 \begin_layout LyX-Code
10614 \begin_layout LyX-Code
10618 \begin_layout LyX-Code
10622 \begin_layout LyX-Code
10623 Icon "footnote-insert"
10626 \begin_layout LyX-Code
10627 Icon "marginpar-insert"
10630 \begin_layout LyX-Code
10634 \begin_layout LyX-Code
10638 \begin_layout LyX-Code
10639 Icon "figure-insert"
10642 \begin_layout LyX-Code
10643 Icon "dialog-tabular-insert"
10646 \begin_layout LyX-Code
10650 \begin_layout Section
10654 \begin_layout Subsection
10659 \labelwidthstring 00.00.0000
10669 \labelwidthstring 00.00.0000
10681 \labelwidthstring 00.00.0000
10693 \labelwidthstring 00.00.0000
10707 \labelwidthstring 00.00.0000
10717 \labelwidthstring 00.00.0000
10731 \labelwidthstring 00.00.0000
10741 \labelwidthstring 00.00.0000
10753 \labelwidthstring 00.00.0000
10765 \labelwidthstring 00.00.0000
10777 \labelwidthstring 00.00.0000
10783 buffer-new-template
10787 \labelwidthstring 00.00.0000
10800 \labelwidthstring 00.00.0000
10809 \labelwidthstring 00.00.0000
10818 \labelwidthstring 00.00.0000
10827 \labelwidthstring 00.00.0000
10836 \labelwidthstring 00.00.0000
10845 \labelwidthstring 00.00.0000
10855 \labelwidthstring 00.00.0000
10864 \begin_layout Subsection
10869 \labelwidthstring 00.00.0000
10881 \labelwidthstring 00.00.0000
10893 \labelwidthstring 00.00.0000
10905 \labelwidthstring 00.00.0000
10917 \labelwidthstring 00.00.0000
10929 \labelwidthstring 00.00.0000
10941 \labelwidthstring 00.00.0000
10956 \labelwidthstring 00.00.0000
10963 tabular-feature append-row
10967 \labelwidthstring 00.00.0000
10974 tabular-feature toggle-line-bottom
10978 \labelwidthstring 00.00.0000
10985 tabular-feature align-center
10989 \labelwidthstring 00.00.0000
10996 tabular-feature delete-column
11000 \labelwidthstring 00.00.0000
11007 tabular-feature align-left
11011 \labelwidthstring 00.00.0000
11018 tabular-feature align-right
11022 \labelwidthstring 00.00.0000
11029 tabular-feature toggle-line-left
11033 \labelwidthstring 00.00.0000
11040 tabular-feature multicolumn
11044 \labelwidthstring 00.00.0000
11051 tabular-feature valign-center
11055 \labelwidthstring 00.00.0000
11062 tabular-feature valign-top
11066 \labelwidthstring 00.00.0000
11073 tabular-feature toggle-line-right
11077 \labelwidthstring 00.00.0000
11084 tabular-feature toggle-line-top
11088 \labelwidthstring 00.00.0000
11095 tabular-feature append-column
11099 \labelwidthstring 00.00.0000
11106 tabular-feature valign-bottom
11110 \labelwidthstring 00.00.0000
11117 tabular-feature delete-row
11122 \labelwidthstring 00.00.0000
11135 \labelwidthstring 00.00.0000
11140 floats-operate openfoot
11144 \labelwidthstring 00.00.0000
11149 floats-operate closefoot
11153 \labelwidthstring 00.00.0000
11158 floats-operate openfig
11162 \labelwidthstring 00.00.0000
11171 \labelwidthstring 00.00.0000
11180 \labelwidthstring 00.00.0000
11185 floats-operate closefig
11190 \labelwidthstring 00.00.0000
11202 \labelwidthstring 00.00.0000
11216 \labelwidthstring 00.00.0000
11228 \labelwidthstring 00.00.0000
11240 \labelwidthstring 00.00.0000
11254 \labelwidthstring 00.00.0000
11264 \labelwidthstring 00.00.0000
11277 \labelwidthstring 00.00.0000
11284 primary-selection-paste
11288 \labelwidthstring 00.00.0000
11295 primary-selection-paste paragraph
11299 \begin_layout Subsection
11304 \labelwidthstring 00.00.0000
11319 \labelwidthstring 00.00.0000
11326 buffer-float-insert algorithm
11330 \labelwidthstring 00.00.0000
11337 buffer-float-insert wide-tab
11341 \labelwidthstring 00.00.0000
11348 buffer-float-insert figure
11352 \labelwidthstring 00.00.0000
11359 buffer-float-insert table
11363 \labelwidthstring 00.00.0000
11370 buffer-float-insert wide-fig
11375 \labelwidthstring 00.00.0000
11383 dialog-tabular-insert
11387 \labelwidthstring 00.00.0000
11399 \labelwidthstring 00.00.0000
11411 \labelwidthstring 00.00.0000
11419 buffer-child-insert
11423 \labelwidthstring 00.00.0000
11435 \labelwidthstring 00.00.0000
11447 \labelwidthstring 00.00.0000
11459 \labelwidthstring 00.00.0000
11471 \labelwidthstring 00.00.0000
11483 \labelwidthstring 00.00.0000
11495 \labelwidthstring 00.00.0000
11507 \labelwidthstring 00.00.0000
11522 \labelwidthstring 00.00.0000
11533 \labelwidthstring 00.00.0000
11544 \labelwidthstring 00.00.0000
11555 \labelwidthstring 00.00.0000
11566 \labelwidthstring 00.00.0000
11577 \labelwidthstring 00.00.0000
11589 \labelwidthstring 00.00.0000
11601 \labelwidthstring 00.00.0000
11616 \labelwidthstring 00.00.0000
11623 protected-space-insert
11627 \labelwidthstring 00.00.0000
11634 end-of-sentence-period-insert
11638 \labelwidthstring 00.00.0000
11649 \labelwidthstring 00.00.0000
11660 \labelwidthstring 00.00.0000
11671 \labelwidthstring 00.00.0000
11678 menu-separator-insert
11682 \labelwidthstring 00.00.0000
11689 hyphenation-point-insert
11693 \labelwidthstring 00.00.0000
11704 \labelwidthstring 00.00.0000
11711 command-sequence math-insert ^;math-mode;
11715 \labelwidthstring 00.00.0000
11722 command-sequence math-insert _;math-mode;
11727 \labelwidthstring 00.00.0000
11742 \labelwidthstring 00.00.0000
11749 file-insert-plaintext lines
11753 \labelwidthstring 00.00.0000
11760 file-insert-plaintext paragraphs
11764 \labelwidthstring 00.00.0000
11776 \labelwidthstring 00.00.0000
11788 \labelwidthstring 00.00.0000
11800 \labelwidthstring 00.00.0000
11811 \begin_layout Subsection
11816 \labelwidthstring 00.00.0000
11828 \labelwidthstring 00.00.0000
11840 \labelwidthstring 00.00.0000
11852 \labelwidthstring 00.00.0000
11864 \labelwidthstring 00.00.0000
11876 \labelwidthstring 00.00.0000
11888 \labelwidthstring 00.00.0000
11900 \labelwidthstring 00.00.0000
11912 \labelwidthstring 00.00.0000
11920 layout-save-default
11924 \labelwidthstring 00.00.0000
11936 \labelwidthstring 00.00.0000
11948 \labelwidthstring 00.00.0000
11959 \begin_layout Subsubsection
11962 Layout\SpecialChar \menuseparator
11969 \labelwidthstring 00.00.0000
11979 \labelwidthstring 00.00.0000
11989 \labelwidthstring 00.00.0000
11999 \labelwidthstring 00.00.0000
12009 \labelwidthstring 00.00.0000
12021 \labelwidthstring 00.00.0000
12031 \labelwidthstring 00.00.0000
12041 \labelwidthstring 00.00.0000
12051 \labelwidthstring 00.00.0000
12061 \labelwidthstring 00.00.0000
12071 \labelwidthstring 00.00.0000
12081 \labelwidthstring 00.00.0000
12091 \labelwidthstring 00.00.0000
12101 \labelwidthstring 00.00.0000
12113 \labelwidthstring 00.00.0000
12125 \labelwidthstring 00.00.0000
12137 \labelwidthstring 00.00.0000
12149 \labelwidthstring 00.00.0000
12159 \labelwidthstring 00.00.0000
12171 \labelwidthstring 00.00.0000
12183 \labelwidthstring 00.00.0000
12193 \labelwidthstring 00.00.0000
12205 \labelwidthstring 00.00.0000
12217 \labelwidthstring 00.00.0000
12229 \labelwidthstring 00.00.0000
12241 \labelwidthstring 00.00.0000
12251 \labelwidthstring 00.00.0000
12261 \labelwidthstring 00.00.0000
12273 \labelwidthstring 00.00.0000
12285 \labelwidthstring 00.00.0000
12297 \labelwidthstring 00.00.0000
12307 \labelwidthstring 00.00.0000
12316 \begin_layout Subsection
12320 \begin_layout Subsection
12324 \begin_layout Subsection
12328 \begin_layout Subsection
12333 \labelwidthstring 00.00.0000
12345 \labelwidthstring 00.00.0000
12357 \labelwidthstring 00.00.0000
12369 \labelwidthstring 00.00.0000
12381 \labelwidthstring 00.00.0000
12393 \labelwidthstring 00.00.0000
12401 layout ShortFoilhead
12405 \labelwidthstring 00.00.0000
12417 \labelwidthstring 00.00.0000
12429 \labelwidthstring 00.00.0000
12441 \labelwidthstring 00.00.0000
12453 \labelwidthstring 00.00.0000
12461 layout ShortRotatefoilhead
12465 \labelwidthstring 00.00.0000
12477 \labelwidthstring 00.00.0000
12489 \labelwidthstring 00.00.0000
12501 \labelwidthstring 00.00.0000
12509 drop-layouts-choice
12513 \labelwidthstring 00.00.0000
12528 \labelwidthstring 00.00.0000
12543 \labelwidthstring 00.00.0000
12555 \labelwidthstring 00.00.0000
12567 \labelwidthstring 00.00.0000
12575 layout Subsubsection
12579 \labelwidthstring 00.00.0000
12591 \labelwidthstring 00.00.0000
12599 layout Subparagraph
12603 \labelwidthstring 00.00.0000
12607 asterisk\InsetSpace ~
12616 \labelwidthstring 00.00.0000
12620 asterisk\InsetSpace ~
12629 \labelwidthstring 00.00.0000
12633 asterisk\InsetSpace ~
12642 \labelwidthstring 00.00.0000
12646 asterisk\InsetSpace ~
12655 \labelwidthstring 00.00.0000
12659 asterisk\InsetSpace ~
12664 layout Subsubsection*
12668 \labelwidthstring 00.00.0000
12672 asterisk\InsetSpace ~
12681 \labelwidthstring 00.00.0000
12685 asterisk\InsetSpace ~
12690 layout Subparagraph*
12694 \labelwidthstring 00.00.0000
12706 \labelwidthstring 00.00.0000
12714 layout Bibliography
12718 \labelwidthstring 00.00.0000
12730 \labelwidthstring 00.00.0000
12742 \labelwidthstring 00.00.0000
12754 \labelwidthstring 00.00.0000
12766 \labelwidthstring 00.00.0000
12778 \labelwidthstring 00.00.0000
12786 layout Rotatefoilhead
12790 \labelwidthstring 00.00.0000
12798 layout RightAddress
12802 \labelwidthstring 00.00.0000
12814 \labelwidthstring 00.00.0000
12826 \labelwidthstring 00.00.0000
12838 \labelwidthstring 00.00.0000
12849 \begin_layout Standard
12850 These ones are kept for backwards compatibility, but only make sense on
12855 \labelwidthstring 00.00.0000
12867 \labelwidthstring 00.00.0000
12875 layout Subsubsection*
12879 \labelwidthstring 00.00.0000
12890 \begin_layout Section
12894 \begin_layout Subsection
12901 \labelwidthstring 00.00.0000
12912 \labelwidthstring 00.00.0000
12923 \labelwidthstring 00.00.0000
12934 \labelwidthstring 00.00.0000
12945 \labelwidthstring 00.00.0000
12956 \labelwidthstring 00.00.0000
12967 \labelwidthstring 00.00.0000
12974 hyphenation-point-insert
12978 \labelwidthstring 00.00.0000
12989 \labelwidthstring 00.00.0000
12996 line-delete-forward
13000 \labelwidthstring 00.00.0000
13011 \labelwidthstring 00.00.0000
13022 \labelwidthstring 00.00.0000
13033 \labelwidthstring 00.00.0000
13044 \labelwidthstring 00.00.0000
13055 \labelwidthstring 00.00.0000
13064 \labelwidthstring 00.00.0000
13075 \labelwidthstring 00.00.0000
13086 \labelwidthstring 00.00.0000
13097 \labelwidthstring 00.00.0000
13108 \labelwidthstring 00.00.0000
13119 \labelwidthstring 00.00.0000
13130 \labelwidthstring 00.00.0000
13142 \labelwidthstring 00.00.0000
13154 \labelwidthstring 00.00.0000
13166 \labelwidthstring 00.00.0000
13178 \labelwidthstring 00.00.0000
13191 \labelwidthstring 00.00.0000
13203 \labelwidthstring 00.00.0000
13215 \labelwidthstring 00.00.0000
13227 \labelwidthstring 00.00.0000
13239 \labelwidthstring 00.00.0000
13252 \labelwidthstring 00.00.0000
13264 \labelwidthstring 00.00.0000
13276 \labelwidthstring 00.00.0000
13289 \labelwidthstring 00.00.0000
13302 \labelwidthstring 00.00.0000
13315 \labelwidthstring 00.00.0000
13328 \labelwidthstring 00.00.0000
13341 \labelwidthstring 00.00.0000
13354 \labelwidthstring 00.00.0000
13366 \labelwidthstring 00.00.0000
13378 \labelwidthstring 00.00.0000
13390 \labelwidthstring 00.00.0000
13398 menu-open Documents
13402 \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
13470 buffer-toggle-read-only
13474 \labelwidthstring 00.00.0000
13486 \labelwidthstring 00.00.0000
13498 \labelwidthstring 00.00.0000
13510 \labelwidthstring 00.00.0000
13521 \labelwidthstring 00.00.0000
13532 \labelwidthstring 00.00.0000
13543 \labelwidthstring 00.00.0000
13554 \labelwidthstring 00.00.0000
13565 \labelwidthstring 00.00.0000
13576 \labelwidthstring 00.00.0000
13587 \labelwidthstring 00.00.0000
13598 \labelwidthstring 00.00.0000
13609 \labelwidthstring 00.00.0000
13620 \labelwidthstring 00.00.0000
13631 \labelwidthstring 00.00.0000
13642 \labelwidthstring 00.00.0000
13653 \labelwidthstring 00.00.0000
13664 \labelwidthstring 00.00.0000
13671 word-delete-forward
13675 \labelwidthstring 00.00.0000
13682 word-delete-backward
13686 \labelwidthstring 00.00.0000
13697 \labelwidthstring 00.00.0000
13704 end-of-sentence-period-insert
13708 \labelwidthstring 00.00.0000
13715 protected-space-insert
13719 \labelwidthstring 00.00.0000
13730 \labelwidthstring 00.00.0000
13741 \labelwidthstring 00.00.0000
13752 \labelwidthstring 00.00.0000
13763 \labelwidthstring 00.00.0000
13774 \labelwidthstring 00.00.0000
13785 \labelwidthstring 00.00.0000
13792 buffer-begin-select
13796 \labelwidthstring 00.00.0000
13807 \labelwidthstring 00.00.0000
13814 paragraph-up-select
13818 \labelwidthstring 00.00.0000
13825 paragraph-down-select
13829 \labelwidthstring 00.00.0000
13836 word-backward-select
13840 \labelwidthstring 00.00.0000
13847 word-forward-select
13851 \labelwidthstring 00.00.0000
13862 \labelwidthstring 00.00.0000
13869 word-delete-forward
13873 \labelwidthstring 00.00.0000
13884 \labelwidthstring 00.00.0000
13895 \labelwidthstring 00.00.0000
13906 \labelwidthstring 00.00.0000
13917 \labelwidthstring 00.00.0000
13924 break-paragraph-keep-layout
13928 \labelwidthstring 00.00.0000
13936 \begin_layout Subsection
13943 \labelwidthstring 00.00.0000
13954 \labelwidthstring 00.00.0000
13965 \labelwidthstring 00.00.0000
13976 \labelwidthstring 00.00.0000
13987 \labelwidthstring 00.00.0000
13998 \labelwidthstring 00.00.0000
14009 \labelwidthstring 00.00.0000
14020 \labelwidthstring 00.00.0000
14031 \labelwidthstring 00.00.0000
14042 \labelwidthstring 00.00.0000
14053 \labelwidthstring 00.00.0000
14064 \labelwidthstring 00.00.0000
14075 \labelwidthstring 00.00.0000
14086 \labelwidthstring 00.00.0000
14097 \labelwidthstring 00.00.0000
14108 \labelwidthstring 00.00.0000
14119 \labelwidthstring 00.00.0000
14130 \labelwidthstring 00.00.0000
14141 \labelwidthstring 00.00.0000
14152 \labelwidthstring 00.00.0000
14163 \labelwidthstring 00.00.0000
14174 \labelwidthstring 00.00.0000
14185 \labelwidthstring 00.00.0000
14192 protected-space-insert
14196 \labelwidthstring 00.00.0000
14207 \labelwidthstring 00.00.0000
14218 \labelwidthstring 00.00.0000
14229 \labelwidthstring 00.00.0000
14236 buffer-new-template
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
14324 end-of-sentence-period-insert
14328 \labelwidthstring 00.00.0000
14339 \labelwidthstring 00.00.0000
14350 \labelwidthstring 00.00.0000
14357 hyphenation-point-insert
14361 \labelwidthstring 00.00.0000
14372 \labelwidthstring 00.00.0000
14379 protected-space-insert
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
14482 \labelwidthstring 00.00.0000
14493 \labelwidthstring 00.00.0000
14504 \labelwidthstring 00.00.0000
14515 \labelwidthstring 00.00.0000
14526 \labelwidthstring 00.00.0000
14537 \labelwidthstring 00.00.0000
14548 \labelwidthstring 00.00.0000
14555 word-delete-forward
14559 \labelwidthstring 00.00.0000
14566 word-delete-backward
14570 \labelwidthstring 00.00.0000
14581 \labelwidthstring 00.00.0000
14592 \labelwidthstring 00.00.0000
14603 \labelwidthstring 00.00.0000
14614 \labelwidthstring 00.00.0000
14621 paragraph-down-select
14625 \labelwidthstring 00.00.0000
14636 \labelwidthstring 00.00.0000
14643 buffer-begin-select
14647 \labelwidthstring 00.00.0000
14654 word-backward-select
14658 \labelwidthstring 00.00.0000
14665 word-forward-select
14669 \labelwidthstring 00.00.0000
14676 paragraph-up-select
14680 \labelwidthstring 00.00.0000
14691 \labelwidthstring 00.00.0000
14698 break-paragraph-keep-layout
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
14766 \labelwidthstring 00.00.0000
14777 \labelwidthstring 00.00.0000
14788 \labelwidthstring 00.00.0000
14799 \labelwidthstring 00.00.0000
14810 \labelwidthstring 00.00.0000
14820 \begin_layout Subsection
14826 \begin_layout Standard
14827 These are LyX keyboard definitions for mathematics, similar to those of
14831 \begin_layout Standard
14832 The bindings file and the present documentation were prepared by Serge Winitzki
14833 with assistance from Jean-Marc Lasgouttes.
14834 Version 1.3, for LyX 1.2.x and 1.3.x.
14837 \begin_layout Standard
14838 These definitions make it a lot easier to type equations without using the
14839 mouse, especially for people familiar with Scientific Word.
14840 The standard LyX bindings such as
14851 \begin_layout Standard
14852 Tip: to find the "LyX bind name" for a key, look at the status bar after
14853 typing some non-existent key combination.
14855 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
14856 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
14860 \labelwidthstring 00.00.0000
14869 -- Copy, cut, paste is as in Sciword,
14885 \labelwidthstring 00.00.0000
14894 -- Display equation toggle: type
14898 to insert a displayed formula (
14903 \begin_inset Quotes eld
14907 \begin_inset Quotes erd
14915 in a displayed formula to convert it back to an inline formula.
14919 \labelwidthstring 00.00.0000
14934 to insert a fraction (
14939 \begin_inset Quotes eld
14943 \begin_inset Quotes erd
14947 You can also select an expression and type
14951 to convert it to the numerator of a fraction.
14960 end of the denominator will delete the numerator and convert the denominator
14965 \labelwidthstring 00.00.0000
14977 \begin_inset Formula $\int$
14985 \begin_inset Quotes eld
14989 \begin_inset Quotes erd
14996 \labelwidthstring 00.00.0000
15003 line-delete-forward
15005 -- Emacs-like binding: delete forward of cursor to end of line.
15009 \labelwidthstring 00.00.0000
15018 -- A text/math toggle (
15023 \begin_inset Quotes eld
15027 \begin_inset Quotes erd
15030 ): switches to math in text mode, and also inserts roman text in math mode.
15040 \begin_inset Quotes eld
15044 \begin_inset Quotes erd
15051 \labelwidthstring 00.00.0000
15060 -- Add/remove numbering in a single equation.
15064 \labelwidthstring 00.00.0000
15073 -- Add/remove numbering at a line in equation arrays.
15076 \begin_layout Standard
15077 The above commands are toggles that control the numbering of equations (
15082 \begin_inset Quotes eld
15086 \begin_inset Quotes erd
15090 Note: when deleting a number in a labeled eqnarray, the label is not really
15091 removed (the TeX code becomes
15092 \begin_inset Quotes eld
15104 \begin_inset Quotes erd
15107 ) and this generates a (harmless) LaTeX warning.
15111 \labelwidthstring 00.00.0000
15120 -- Open a new document.
15125 \labelwidthstring 00.00.0000
15134 -- Insert a quote character " (
15139 \begin_inset Quotes eld
15143 \begin_inset Quotes erd
15148 \begin_inset Quotes eld
15152 \begin_inset Quotes erd
15155 double quote character that you get by default.
15159 \labelwidthstring 00.00.0000
15170 -- Square root sign
15171 \begin_inset Formula $\sqrt{x}$
15179 \begin_inset Quotes eld
15183 \begin_inset Quotes erd
15190 \labelwidthstring 00.00.0000
15202 \begin_inset Formula $\sqrt[n]{x}$
15209 \labelwidthstring 00.00.0000
15218 -- Another binding for a switch between the text and the math mode (
15223 \begin_inset Quotes eld
15227 \begin_inset Quotes erd
15231 Note that the roman text inserted in math mode is special.
15235 \labelwidthstring 00.00.0000
15248 the selected text (text mode only, use things like
15264 \labelwidthstring 00.00.0000
15273 -- W*ndows heritage.
15277 \labelwidthstring 00.00.0000
15286 -- Close the current document (again, a W*ndows heritage).
15290 \labelwidthstring 00.00.0000
15301 \labelwidthstring 00.00.0000
15312 \labelwidthstring 00.00.0000
15322 \begin_inset Quotes eld
15326 \begin_inset Quotes erd
15330 \begin_inset Quotes eld
15334 \begin_inset Quotes erd
15340 \begin_layout Standard
15341 Bracket delimiters: press
15345 -<bracket key> to insert a matching pair of delimiters.
15350 inserts a pair of parentheses
15351 \begin_inset Formula $\left[\right]$
15359 does the same thing.) It will switch to math mode if needed.
15360 The supported characters are ( [ { < |.
15361 It is the same to press the right or the left bracket.
15362 The corresponding delimiters are
15363 \begin_inset Formula $\left(\right)$
15367 \begin_inset Formula $\left[\right]$
15371 \begin_inset Formula $\left\{ \right\} $
15375 \begin_inset Formula $\left\langle \right\rangle $
15379 \begin_inset Formula $\left|\right|$
15384 \begin_inset Quotes eld
15388 \begin_inset Quotes erd
15391 and resize with their contents.
15392 Use Math Panel to get other or non-matching delimiters.
15393 Press backspace on the
15397 delimiter to remove both
15398 \begin_inset Quotes eld
15402 \begin_inset Quotes erd
15405 delimiters without removing their contents.
15409 \labelwidthstring 00.00.0000
15418 -- for convenience, pressing
15432 \labelwidthstring 00.00.0000
15443 \labelwidthstring 00.00.0000
15454 \labelwidthstring 00.00.0000
15465 \labelwidthstring 00.00.0000
15476 \labelwidthstring 00.00.0000
15487 \labelwidthstring 00.00.0000
15494 math-delim langle rangle
15496 -- angular delimiters
15497 \begin_inset Formula $\left\langle \right\rangle $
15500 , not to confuse with ordinary < > signs.
15504 \labelwidthstring 00.00.0000
15511 math-delim langle rangle
15514 \begin_layout Standard
15515 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15516 some British ones), the bar character
15521 -something and on some wayward Unices to "brokenbar".
15522 So we define all of these keys as well.
15526 \labelwidthstring 00.00.0000
15537 \labelwidthstring 00.00.0000
15548 \labelwidthstring 00.00.0000
15559 \labelwidthstring 00.00.0000
15570 \labelwidthstring 00.00.0000
15580 \begin_layout Standard
15581 Accents are in most cases
15585 -<accent key>, e.g.\InsetSpace ~
15599 for tilde (you also need to press
15605 \begin_inset Quotes eld
15617 \begin_inset Quotes erd
15621 Some accents work only in math mode and others only in text mode.
15625 \labelwidthstring 00.00.0000
15634 -- overdot accent, \i \.{a}
15639 \labelwidthstring 00.00.0000
15651 \begin_inset Formula $\dot{a}$
15654 (math mode only -- in physics this denotes a first derivative).
15658 \labelwidthstring 00.00.0000
15669 -- Vector accent over math
15670 \begin_inset Formula $\overrightarrow{x}$
15677 \labelwidthstring 00.00.0000
15686 -- umlaut accent, ä (text mode only)
15690 \labelwidthstring 00.00.0000
15701 -- double dot accent,
15702 \begin_inset Formula $\ddot{a}$
15705 (math mode only -- in physics this denotes a second derivative).
15706 To get a triple dot in math mode, use
15714 \labelwidthstring 00.00.0000
15723 -- grave accent à (text mode only, use
15733 \labelwidthstring 00.00.0000
15742 -- tilde accent ã (text mode only, use
15752 \labelwidthstring 00.00.0000
15761 -- acute accent á (text mode only, use
15771 \labelwidthstring 00.00.0000
15780 -- circumflex (caret) accent â (text mode only, use
15789 \begin_layout Standard
15791 The new key S-F2 for creating a LaTeX file seems handy.
15795 \labelwidthstring 00.00.0000
15804 -- Save current document.
15808 \labelwidthstring 00.00.0000
15815 buffer-export latex
15817 -- Write a LaTeX file for the current document.
15821 \labelwidthstring 00.00.0000
15830 -- Find and replace dialog.
15834 \labelwidthstring 00.00.0000
15851 \labelwidthstring 00.00.0000
15864 to quit LyX is the W*ndows w*ndow manager's mnemonic.
15867 \begin_layout Standard
15876 are used to switch fonts.
15881 to switch back to the normal font.
15882 The non-default font switches
15890 all work as toggles.
15891 They also work on the whole word if you put the cursor in the middle of
15892 the word, or if you select some text.
15896 \labelwidthstring 00.00.0000
15905 -- stop using any special font
15909 \labelwidthstring 00.00.0000
15926 \labelwidthstring 00.00.0000
15943 \labelwidthstring 00.00.0000
15960 \labelwidthstring 00.00.0000
15974 (Used sometimes for people's names.)
15977 \begin_layout Standard
15983 \begin_inset Quotes eld
15987 \begin_inset Quotes erd
15994 key (useful e.g.\InsetSpace ~
15995 if the keyboard has no working
16002 \begin_layout Standard
16003 Here are some Sciword-inspired mnemonics for frequently used math symbols.
16004 Many symbols start with a
16013 cannot be itself bound to anything.
16017 \labelwidthstring 00.00.0000
16029 \begin_inset Quotes eld
16033 \begin_inset Quotes erd
16037 \begin_inset Formula $\prime$
16041 This is frequently unnecessary: in most cases the normal apostrophe works
16044 \begin_inset Formula $x'+2x=0$
16047 , but in some cases this would generate a double superscript error in LaTeX.
16049 \begin_inset Formula $x^{\prime2}$
16053 \begin_inset Formula $x$
16056 prime squared) must be entered with the prime character.
16060 \labelwidthstring 00.00.0000
16068 command-sequence math-superscript; math-insert
16072 -- Insert a prime as a superscript (see example above).
16076 \labelwidthstring 00.00.0000
16085 -- Insert an upper index.
16092 \labelwidthstring 00.00.0000
16101 -- Insert a lower index.
16108 \labelwidthstring 00.00.0000
16120 -- Partial derivative symbol
16121 \begin_inset Formula $\partial$
16128 \labelwidthstring 00.00.0000
16140 -- Summation symbol
16141 \begin_inset Formula $\sum$
16144 (not the same as the Greek letter uppercase Sigma
16145 \begin_inset Formula $\Sigma$
16148 because it can resize and allows smart upper/lower limits).
16152 \labelwidthstring 00.00.0000
16165 \begin_inset Formula $\prod$
16168 (not the same as the Greek letter uppercase Pi,
16169 \begin_inset Formula $\Pi$
16176 \labelwidthstring 00.00.0000
16189 \begin_inset Formula $\infty$
16196 \labelwidthstring 00.00.0000
16209 \begin_inset Formula $\times$
16216 \labelwidthstring 00.00.0000
16226 -- Insert a stacked array
16227 \begin_inset Formula $\begin{array}{c}
16229 \end{array}\end{array}$
16233 (Frequently useful in formulae.)
16237 \labelwidthstring 00.00.0000
16248 \begin_inset Formula $\times$
16252 \begin_inset Formula $\begin{array}{ccc}
16257 (Then you can modify its size using the
16259 Edit\SpecialChar \menuseparator
16266 \labelwidthstring 00.00.0000
16279 \begin_inset Quotes eld
16283 \begin_inset Quotes erd
16287 \begin_inset Formula $\dagger$
16294 \labelwidthstring 00.00.0000
16307 \begin_inset Quotes eld
16311 \begin_inset Quotes erd
16315 \begin_inset Formula $\equiv$
16322 \labelwidthstring 00.00.0000
16334 \begin_inset Quotes eld
16337 Approximate equality
16338 \begin_inset Quotes erd
16342 \begin_inset Formula $\approx$
16349 \labelwidthstring 00.00.0000
16361 \begin_inset Quotes eld
16365 \begin_inset Quotes erd
16369 \begin_inset Formula $\sim$
16376 \labelwidthstring 00.00.0000
16388 \begin_inset Formula $\rightarrow$
16392 \begin_inset Formula $\lim_{x\rightarrow0}$
16399 \labelwidthstring 00.00.0000
16411 \begin_inset Formula $\leq$
16418 \labelwidthstring 00.00.0000
16429 -- Greater-or-equal
16430 \begin_inset Formula $\geq$
16437 \labelwidthstring 00.00.0000
16450 \begin_inset Quotes eld
16454 \begin_inset Quotes erd
16458 \begin_inset Formula $\ll$
16461 (useful in physics)
16465 \labelwidthstring 00.00.0000
16478 \begin_inset Quotes eld
16482 \begin_inset Quotes erd
16486 \begin_inset Formula $\gg$
16492 \begin_layout Subsection
16493 Standard math bindings
16497 \labelwidthstring 00.00.0000
16511 \labelwidthstring 00.00.0000
16523 \labelwidthstring 00.00.0000
16535 \labelwidthstring 00.00.0000
16549 \labelwidthstring 00.00.0000
16561 \labelwidthstring 00.00.0000
16573 \labelwidthstring 00.00.0000
16587 \labelwidthstring 00.00.0000
16599 \labelwidthstring 00.00.0000
16611 \labelwidthstring 00.00.0000
16623 \labelwidthstring 00.00.0000
16637 \labelwidthstring 00.00.0000
16651 \labelwidthstring 00.00.0000
16665 \labelwidthstring 00.00.0000
16679 \labelwidthstring 00.00.0000
16693 \labelwidthstring 00.00.0000
16707 \labelwidthstring 00.00.0000
16719 \labelwidthstring 00.00.0000
16733 \labelwidthstring 00.00.0000
16745 \labelwidthstring 00.00.0000
16757 \labelwidthstring 00.00.0000
16769 \labelwidthstring 00.00.0000
16781 \labelwidthstring 00.00.0000
16795 \labelwidthstring 00.00.0000
16807 \labelwidthstring 00.00.0000
16819 \labelwidthstring 00.00.0000
16831 \labelwidthstring 00.00.0000
16839 math-delim langle rangle
16843 \labelwidthstring 00.00.0000
16851 math-delim rangle langle
16855 \labelwidthstring 00.00.0000
16867 \labelwidthstring 00.00.0000
16881 \labelwidthstring 00.00.0000
16894 \begin_layout Subsection
16901 \labelwidthstring 00.00.0000
16911 \labelwidthstring 00.00.0000
16921 \labelwidthstring 00.00.0000
16931 \labelwidthstring 00.00.0000
16941 \labelwidthstring 00.00.0000