1 #LyX 1.4.0cvs 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 \paperfontsize default
23 \paperorientation portrait
26 \paragraph_separation indent
28 \quotes_language english
31 \paperpagestyle headings
32 \tracking_changes false
39 Customizing LyX: Features for the Advanced User
47 \begin_layout Standard
49 Principal maintainer of this file is
54 If you have comments or error corrections, please send them to the LyX
55 Documentation mailing list, <lyx-docs@lists.lyx.org>.
63 \begin_layout Standard
64 \begin_inset LatexCommand \tableofcontents{}
75 \begin_layout Standard
76 This manual covers the customization features present in LyX.
77 In it, we discuss issues like keyboard shortcuts, screen previewing options,
78 printer options, sending commands to LyX via the LyX Server, internationalizati
79 on, installing new LaTeX classes and LyX layouts, etc.
80 We can't possibly hope to touch on everything you can change---our developers
81 add new features faster than we can document them---but we will explain
82 the most common customizations and hopefully point you in the right direction
83 for some of the more obscure ones.
87 LyX configuration files
90 \begin_layout Standard
91 \begin_inset LatexCommand \label{chap:config}
95 This chapter aims to help you to find your way through the LyX configuration
97 Before continuing to read this chapter, you should find out where your
98 LyX library directory is by using
103 elp\SpecialChar \menuseparator
111 This directory is the place where LyX places its system-wide configuration
112 files, and we will simply name it
116 in the remainder of this document.
120 \begin_layout Section
128 \begin_layout Standard
133 and its sub-directories contain a number of files and that can be used
134 to customise LyX's behaviour.
135 You can change many of these files from within LyX itself through the
140 ools\SpecialChar \menuseparator
148 Most customization that you might want to do to LyX is possible through
150 However, many other inner aspects of LyX can be customized by modifying
156 They fall in different categories, described in the following subsections.
159 \begin_layout Subsection
160 Automatically generated files
163 \begin_layout Standard
164 These files are generated when you configure LyX.
165 They contain various default values that are guessed by inspection.
166 In general, it is not a good idea to modify them, since they might be overwritt
171 \labelwidthstring 00.00.0000
178 contains defaults for various commands.
182 \labelwidthstring 00.00.0000
189 contains the list of packages that have been recognized by LyX.
190 It is currently unused by the LyX program itself, but the information extracted
191 , and more, is made available with
196 elp\SpecialChar \menuseparator
208 \labelwidthstring 00.00.0000
215 is the list of text classes that have been found in your
219 directory, along with the associated LaTeX document class and their description.
223 \labelwidthstring 00.00.0000
228 is automatically generated during configuration from the file
235 \begin_layout Subsection
240 \labelwidthstring 00.00.0000
247 this directory contains files with the extension
251 that define the keybindings used in LyX (see section\InsetSpace ~
253 \begin_inset LatexCommand \ref{sec:bindings}
258 If there exists an internationalized version of the bind file named
262 , that will be used first.
263 See Chapter\InsetSpace ~
265 \begin_inset LatexCommand \ref{chap:i18n}
270 \begin_inset LatexCommand \ref{sec:bindings}
278 \labelwidthstring 00.00.0000
285 contains graphics files that can be included in documents.
290 \labelwidthstring 00.00.0000
297 contains LyX documentation files (including the one you are currently reading).
302 deserves special attention, as noted above.
303 If there exists an internationalized version of the help-document with
308 prepended to the name, that will be used first.
309 See Chapter\InsetSpace ~
311 \begin_inset LatexCommand \ref{chap:i18n}
319 \labelwidthstring 00.00.0000
326 contains example files that explain how to use some features.
327 In the file browser, press the
335 \labelwidthstring 00.00.0000
340 contains image files that are used by the
345 In addition, it also contains the individual icons used in the toolbar
346 and the banners that can be shown when LyX is launched.
350 \labelwidthstring 00.00.0000
357 contains keyboard keymapping files.
358 See Chapter\InsetSpace ~
360 \begin_inset LatexCommand \ref{sec:keymap}
368 \labelwidthstring 00.00.0000
375 contains the text class files described in Chapter\InsetSpace ~
377 \begin_inset LatexCommand \ref{chap:textclass}
385 \labelwidthstring 00.00.0000
390 contains lots of files that together make up reLyX, the translator of
391 \begin_inset Quotes eld
395 \begin_inset Quotes erd
402 \labelwidthstring 00.00.0000
407 contains some files that demonstrate the capabilities of the
409 External\InsetSpace ~
416 \labelwidthstring 00.00.0000
421 contains the standard LyX template files described in Chapter\InsetSpace ~
423 \begin_inset LatexCommand \ref{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{sec:ui}
461 \begin_layout Subsection
462 Files you don't want to modify
465 \begin_layout Standard
466 These files are used internally by LyX and you generally do not need to
467 modify them unless you are a developer.
471 \labelwidthstring 00.00.0000
478 this file contains the list of LyX developers.
479 The contents are displayed with the menu entry
484 elp\SpecialChar \menuseparator
492 \labelwidthstring 00.00.0000
499 this is a LaTeX script used during the configuration process.
504 \labelwidthstring 00.00.0000
511 this is the script that is used to re-configure LyX.
512 It creates configuration files in the directory it was run from.
515 \begin_layout Subsection
516 Other files needing a line or two...
520 \labelwidthstring 00.00.0000
525 this contains tables describing how different character encodings can be
530 \labelwidthstring 00.00.0000
535 this file contains the templates available to the new
537 External\InsetSpace ~
544 \labelwidthstring 00.00.0000
549 this file contains a list of all the languages currently supported by LyX.
553 \labelwidthstring 00.00.0000
558 Deprecated and definitely obfuscated.
559 This is the old style preferences file.
560 It will probably disappear in the near future.
563 \begin_layout Section
564 Your local configuration directory
567 \begin_layout Standard
568 Even if you are using LyX as an unprivileged user, you might want to change
569 LyX configuration for your own use.
574 directory contains all your personal configuration files.
575 This is the directory described as
576 \begin_inset Quotes eld
580 \begin_inset Quotes erd
588 elp\SpecialChar \menuseparator
593 This directory is used as a mirror of
597 , which means that every file in
601 is a replacement for the corresponding file in
606 Any configuration file described in the above sections can be placed either
607 in the system-wide directory, in which case it will affect all users, or
608 in your local directory for your own use.
611 \begin_layout Standard
612 To make things clearer, let's provide a few examples:
615 \begin_layout Itemize
616 The preferences set in the
621 ools\SpecialChar \menuseparator
628 dialog are saved to a file
639 \begin_layout Itemize
640 When you reconfigure using
645 ools\SpecialChar \menuseparator
656 and the resulting files are written in your local configuration directory
657 (see section\InsetSpace ~
659 \begin_inset LatexCommand \ref{sec:autodetected}
663 to have a list of the
667 settings affected by this section).
668 This means that any additional text class file that you might have added
673 will be added to the list of classes in the
678 ayout\SpecialChar \menuseparator
688 \begin_layout Itemize
689 Similarly, if you have installed some LaTeX document classes in your home
690 directory, that LaTeX can find with your
694 path, they will show up in your list of text classes.
698 \begin_layout Standard
699 as long as LyX or yourself have a
703 file for it, of course.
711 \begin_layout Itemize
712 If you get some updated documentation from LyX ftp site and cannot install
713 it because you do not have sysadmin rights on your system, you can just
728 \begin_layout Section
729 Running LyX with multiple configurations
732 \begin_layout Standard
733 The configuration freedom of the local configuration directory may not suffice
734 if you want to have more than one configuration at your disposal.
735 For example, you may want to be use different key bindings or printer settings
737 You can achieve this by having several such directories.
738 You then specify which directory to use at run-time.
741 \begin_layout Standard
742 Invoking LyX with the command line switch
749 instructs the program to read the configuration from that directory, and
750 not from the default directory (you can determine the default directory
751 by running LyX without this switch as described above).
752 If this directory does not exist, LyX offers to create it for you, just
753 like it does for the default directory on the first time you run the program.
754 You can modify the configuration options in this additional
758 exactly as you would for the default directory.
759 These directories are completely independent (but read on).
760 Note that setting the environment variable
764 to some value has exactly the same effect
769 \begin_layout Standard
770 Having several configurations also requires more maintenance: if you want
771 to add a new layout to
775 which you want available from all your configurations, you must add it
776 to each directory separately.
777 You can avoid this with the following trick: after LyX creates the additional
778 directory, most of the subdirectories (see above) are empty.
779 If you want the new configuration to mirror an existing one, replace the
780 empty subdirectory with a symbolic link to the matching subdirectory in
781 the existing configuration.
788 subirectory, however, since it contains a file written by the configuration
789 script (also accessible through
794 ools\SpecialChar \menuseparator
800 \begin_inset LatexCommand \ref{sec:autodetected}
806 which is configuration-specific.
809 \begin_layout Chapter
820 \begin_layout Section
821 Using the dialog for the first time
824 \begin_layout Standard
829 file will contain only changes that you have made to the default behaviour,
830 some of which is hard-coded into LyX and some of which is contained in
833 LyXDir/lyxrc.defaults
836 Note that in both files lines beginning with a
837 \begin_inset Quotes eld
845 \begin_inset Quotes erd
848 are just comments and not interpreted.
849 However, only system administrators should edit
860 ools\SpecialChar \menuseparator
867 dialog to create and modify their own
874 \begin_layout Standard
880 ools\SpecialChar \menuseparator
887 dialog will be largely self-explanatory.
888 Almost all the commands have an associated comment, so you shouldn't have
889 too much trouble modifying it to taste.
890 Before we highlight a few of the more important commands below, however,
895 ing some of your changes (e.g., screen fonts) will have an instant effect.
897 changing the bind file) will not.
898 If nothing appears to have changed, just
902 the changes and restart LyX.
905 \begin_layout Section
909 \begin_layout Standard
910 The font used to display your documents on the LyX screen is very important,
911 since you'll be reading all your documents with this font.
912 Therefore it is important that the font is as readable and good-looking
914 The LyX team tried to provide the best possible default font for you, but
915 since practically all X11 systems are different, it's likely that the default
916 fonts will be sub-optimal on your system.
917 Fortunately, you can do something about this.
918 Before we explain how to do this, you should learn a bit more about fonts
919 so that you are better prepared for choosing your fonts, because it is
920 a trade-off that is specific to your preferences and the capabilities of
924 \begin_layout Standard
925 Notice that this section only deals with the fonts on the
929 inside the LyX window.
930 The fonts that appear on the
938 are independent from these fonts, and are determined by the document class.
943 to learn how to change the font of the printed version of your document.
946 \begin_layout Standard
947 Basically, screen fonts come in two different kinds: scalable outline fonts
948 and non-scalable bitmap fonts.
949 This distinction seems a bit arbitrary, since non-scalable fonts are actually
950 scalable in most modern font renderers.
951 The difference lies in the
955 of the scaling, and the
960 The most important decision is thus whether you should use non-scalable
961 bitmap fonts or scalable outline fonts.
964 \begin_layout Standard
965 The scalable fonts are built from
969 of the single glyphs (i.e.
970 characters) in the font.
971 This means that each glyph is defined using mathematical curves that are
972 well suited for scaling to any requested size.
973 This mathematical definition is interpreted by the font renderer and turned
974 into a small picture composed of pixels according to which size and glyph,
975 the programmer requests.
976 This means that scalable fonts will look pretty good in all sizes.
977 Well, almost all sizes.
978 Since scalable fonts are defined in an abstract way, it can be hard to
979 provide a good rendering at small sizes, where each pixel has to be very
980 carefully computed to provide a good image.
981 Technically it is possible to do this from the mathematical definition,
982 but in order to keep the rendering reasonably fast, tradeoffs have to be
983 made, and the result is that scalable fonts can be difficult to read at
987 \begin_layout Standard
988 Bitmap fonts on the other hand, are defined by bitmap graphics from the
989 start, so they will look good at all the sizes they are meant for.
990 However, they don't scale well, because in order to scale a glyph, each
991 pixel is enlarged into several pixels.
992 It is the same effect that happens if you try to enlarge a picture in
996 or any other picture manipulation program.
997 In order to relieve this effect, bitmap fonts are typically provided in
998 several fixed sizes typically from around 8 pixels high up to 34 pixels
999 or so high in steps according to what is believed to be useful.
1000 The advantage of bitmap fonts is that no complicated computations are necessary
1001 to display each glyph, so bitmap fonts are thus faster displayed than scalable
1003 The disadvantage is that sizes that don't exists as fixed versions have
1004 to be scaled by doubling pixels, and thus look bad.
1007 \begin_layout Standard
1008 The net result of all this, is that bitmap fonts are generally best for
1009 the small sizes, where they are available, while scalable fonts are generally
1010 best for large sizes.
1011 The logical conclusion would thus be to use bitmap fonts for the small
1012 sizes, and scalable fonts for the large sizes.
1013 Unfortunately, this is not a good idea, since bitmap fonts and scalable
1014 fonts are not designed to be used together, so the overall look of such
1015 a scheme would be bad.
1016 The best you can do is thus to try both schemes and decide for yourself
1020 \begin_layout Standard
1021 By default, LyX uses non-scalable bitmap fonts (when using the XForms frontend).
1026 is used, for sans serif fonts,
1034 is used as the monospaced/typewriter font.
1037 \begin_layout Standard
1038 In the following, we will describe what to do if the text does not look
1040 We'll start with the most important parameters: DPI and font zoom.
1043 \begin_layout Subsection
1044 DPI setting and Font Zoom
1047 \begin_layout Standard
1048 LyX automatically tries to scale the fonts to look as close as the paper
1049 output size as possible, except for the so-called font zoom factor.
1052 \begin_layout Standard
1053 In order for this to work on all systems, it relies on the screen DPI (dots
1054 per inch) setting to be correct.
1055 The DPI setting for your system is autodetected by LyX using the information
1056 the X server can provide.
1057 You can check what LyX autodetects the DPI setting to, by running LyX as
1065 \begin_layout Standard
1066 On many systems, X is not set up correctly, so you should check that it
1069 \begin_inset Quotes eld
1077 \begin_inset Quotes erd
1080 and write down what the DPI is for the resolution you use (this will be
1081 close to the value LyX detects).
1082 It is the number mentioned as
1083 \begin_inset Quotes eld
1087 \begin_inset Quotes erd
1091 Also write down the number of pixels you have in the width (the first number
1093 \begin_inset Quotes eld
1097 \begin_inset Quotes erd
1103 \begin_layout Standard
1104 Then get the good old ruler out of the closet, and measure the width of
1105 the visible screen-image on your monitor.
1106 Convert this measurement to inches if you used a centimeter ruler by dividing
1108 Now you can determine the correct DPI setting for your screen by dividing
1109 the number of pixels in the width by the width of the screen-image on the
1111 If this number is more than, say, 5 DPI from the detected value, you should
1112 either fix the X setup, or at least tell LyX that the DPI is different
1113 than the detected value.
1116 \begin_layout Standard
1117 If you can't fix the X setup (which of course is best since other programs
1118 than LyX will benefit from this as well), you can tell LyX the correct
1126 \begin_layout Standard
1127 If the text is too small or too big for your taste, you should fiddle with
1128 the font zoom setting.
1129 This setting is used to scale the point size of the text.
1130 If your DPI setting is correct, and the font zoom setting is set to 100,
1131 this means that LyX will try to display the text exactly the same size
1132 as it will appear on the paper-output.
1133 If you set the zoom factor to 200, the text will try to be 2 times as big
1135 Of course, this will only happen if LyX can find a font that has the appropriat
1136 e size, which you can't count on.
1137 Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
1141 \begin_layout Standard
1142 The default font zoom setting is 150, since a monitor is typically wider
1143 than a piece of paper, but you should try to fiddle with it through the
1157 dialog to find a size that you like.
1158 When you've found a setting that seems to work nicely for you (tip: use
1166 button to keep the dialog open while you experiment), you can make this
1167 setting the default by using the
1177 \begin_layout Standard
1178 While it is often possible to find a suitable size for the text on the screen,
1179 this doesn't necessarily mean that the fonts are the best ones available
1181 In order to help you get the most out of your system, you can use the font
1182 definition commands to fine-tune the look of the text in greater detail
1186 \begin_layout Subsection
1187 Font definition commands
1190 \begin_layout Standard
1191 As mentioned, LyX uses non-scalable bitmap fonts by default with the XForms
1197 is used, for sans serif fonts,
1205 is used as the monospaced/typewriter font.
1208 \begin_layout Standard
1209 You can change all of these from within the
1214 The number of fonts that are available on different systems vary, but the
1219 should be available everywhere.
1220 Use that program to find candidate fonts.
1221 When you've found a font that you like, try to insert the first two elements
1223 \begin_inset Quotes eld
1227 \begin_inset Quotes erd
1231 \begin_inset Quotes eld
1235 \begin_inset Quotes erd
1242 ) in the appropriate field in the
1254 LyX will then reformat your document using the new font, and if you like
1255 the font, you should
1263 One place to start for a new font is to see if the scalable font
1264 \begin_inset Quotes eld
1268 \begin_inset Quotes erd
1272 Tip: You can see whether a font is a bitmap font or a scalable font by
1274 \begin_inset Quotes eld
1278 \begin_inset Quotes erd
1282 \begin_inset Quotes eld
1286 \begin_inset Quotes erd
1294 If the value 0 is available, the font is scalable.
1295 If the value 0 isn't available, the font is a bitmap font.
1298 \begin_layout Standard
1299 Before you go about scrapping a bitmap font because the larger sizes look
1301 \begin_inset Quotes eld
1305 \begin_inset Quotes erd
1308 , you should toggle the
1309 \begin_inset Quotes eld
1313 \begin_inset Quotes erd
1317 This is only useful if you use bitmap fonts, because only these don't scale
1319 If you define this flag, LyX will only use the fixed font sizes that are
1320 available, and this guarantees that all bitmap fonts look well.
1321 (You can see which individual font sizes are available with the
1330 .) However, the prize is that the difference between the size of the fonts
1331 on screen and the size of fonts on paper will be larger because LyX will
1332 have to be satisfied with the closest available size, and not try to scale
1334 Also, you can risk that some logically different sizes, such as
1342 , will be mapped to the same screen font, making it hard for you to see
1343 the difference on screen.
1344 We've decided not to use scalable fonts by default because of these artifacts,
1345 but since LyX is a WYSIWYM system, many people like to use the flag anyways,
1346 well-knowing that the font size on the screen can't be trusted.
1347 But remember that this flag only makes a difference when you use bitmap
1349 Scalable fonts won't be affected for reasons you should understand by now.
1352 \begin_layout Standard
1353 One final note regarding this flag: you should know that there is nothing
1354 wrong with using bitmap and scalable fonts at the same time for different
1356 For instance, it's common to use the scalable
1357 \begin_inset Quotes eld
1361 \begin_inset Quotes erd
1364 for the serif text together with a bitmap version of
1365 \begin_inset Quotes eld
1369 \begin_inset Quotes erd
1373 And you can safely select the
1374 \begin_inset Quotes eld
1378 \begin_inset Quotes erd
1381 button without worries: It will only apply to the Helvetica font.
1384 \begin_layout Standard
1385 Sometimes the artifacts introduced by use of the flag can be relieved by
1386 using the fine-detail screen font sizes which defines which point sizes
1387 the different logical font sizes correspond to.
1392 to see exactly what concrete fonts the logical sizes map to, and try adjusting
1393 the corresponding entries in the
1397 dialog until you've managed to hit the nail and get the fonts you want.
1398 This can be hard to do, because LyX uses the DPI setting and the font zoom
1399 settings to calculate which exact screen font size to ask the X server
1400 for, thus obfuscating the mapping.
1401 If you can't make it by trial-and-error, you can make the process more
1402 transparent if you set both the DPI setting and font zoom settings to 100---eve
1403 n when this is known to be wrong.
1404 This will of course make your scalable fonts look weird, so use with care.
1407 \begin_layout Subsection
1411 \begin_layout Standard
1412 By default, LyX will use fonts meant to write Western European text, including
1413 all kinds of English.
1414 This is defined through the so-called
1423 If you want to use LyX to write for instance Eastern European text, Cyrillic
1424 or any other language not covered by the ISO-8859-1 font encoding, you
1425 can define a different one with the encoding setting.
1426 This requires you to have special fonts installed.
1431 to see whether this is the case: check the
1432 \begin_inset Quotes eld
1436 \begin_inset Quotes erd
1440 \begin_inset Quotes eld
1444 \begin_inset Quotes erd
1447 fields for ISO-8859-X values different from ISO-8859-1, and search for
1448 one that contains the national characters of your language.
1449 If you find any, enter this encoding in the dialog.
1450 If not, go searching the Web for appropriate fonts.
1451 For the Qt frontend, it's recommended you use an iso646 font set.
1454 \begin_layout Standard
1455 When you've set LyX up to use a different font encoding, you should also
1456 consider changing the font used by dialog windows in LyX.
1463 dialog will not be understandable unless you tell LyX to use a different
1465 By default the menu font is set to
1467 -*-helvetica-medium-r
1469 , but often Helvetica is not available in the font encoding you need, so
1470 the dialog allows this to be changed.
1473 \begin_layout Standard
1474 As you can see, there are quite a few options that can be used to fine tune
1475 the look of your fonts.
1476 This should not scare you from fiddling with the settings, because after
1477 all, you will hopefully be using LyX for many hours in the future.
1478 And contrary to real WYSIWYG word processors where you are tied to using
1479 fonts that have to look good both on paper and on screen, LyX gives you
1480 the possibility of using fonts that are designed to look good on the screen
1481 while using a different set of fonts to look good on paper.
1484 \begin_layout Section
1486 \begin_inset LatexCommand \label{sec:bindings}
1493 \begin_layout Standard
1494 Bindings are used to, well, bind a function to a key.
1495 Several prepackaged binding files are available: a CUA set of bindings
1496 (familiar as the typical set of PC and CDE set of keyboard shortcuts),
1497 an Emacs set of bindings, for those of us who follow the One True Way and
1498 refuse to lower our standards,
1502 \begin_layout Standard
1503 I'm kidding here, of course!
1508 as well as specialty bindings (broadway and hollywood) and other languages
1509 (French, German, etc.).
1512 \begin_layout Standard
1513 If, however, you'd like to customise the keybindings to your own exacting
1514 tastes, then copy the best-fit file in
1523 Don't forget to load this new file into LyX using the
1528 (For the moment you'll have to restart LyX for these changes to take effect.)
1531 \begin_layout Standard
1532 LyX supports internationalization of the user interface (see Chapter\InsetSpace ~
1534 \begin_inset LatexCommand \ref{chap:i18n}
1543 is set, with the environment variable
1547 , LyX will try to use bindfiles by prepending
1552 For example, you can put a translated copy of some standard bind file in
1557 directory, and LyX will use it automatically.
1560 \begin_layout Standard
1565 files is straightforward:
1568 \begin_layout Standard
1573 bind <key combination> <lyx-function>
1576 \begin_layout Standard
1577 Both key combination and lyx-function (including any arguments) must be
1578 enclosed in "double quotes".
1579 All the LyX functions are listed in the
1586 \begin_layout Section
1588 \begin_inset LatexCommand \label{sec:ui}
1595 \begin_layout Standard
1596 The appearance of both the menu and toolbar may both be changed using the
1611 For the moment, only one file exists,
1615 , but feel free to experiment.
1616 Just copy the file to the
1620 directory and play! Note that, for the moment, you'll have to restart LyX
1621 for these changes to take effect.
1624 \begin_layout Standard
1629 files is straightforward: have a look at
1642 entries must be ended with an explicit
1667 s and in the case of the
1668 \begin_inset Quotes eld
1672 \begin_inset Quotes erd
1680 One small word of warning.
1685 s may be inserted in a
1693 , but they are defined as
1704 \begin_layout Section
1705 Converters, Formats, Viewers, Editors and Copiers
1708 \begin_layout Standard
1709 LyX has a powerful mechanism to convert to and from any file format using
1711 Define a pair of formats, e.g.
1721 Now define a converter from one format to the other.
1722 In our example, two possible mechanisms exist.
1725 \begin_layout Enumerate
1726 A direct conversion, from LaTeX to PDF using pdflatex
1729 \begin_layout Enumerate
1730 A more convoluted route using intermediate formats and converters: LaTeX
1731 to DVI (using latex) to PostScript® (using dvips) to PDF (using ps2pdf).
1734 \begin_layout Standard
1735 LyX will always choose the shortest possible route, so you must specify
1736 two different Format names for
1740 files to be able to use either.
1741 Both are included by default in the
1746 Have a look and then invent your own!
1749 \begin_layout Standard
1750 Moreover, each Format can have a Viewer associated with it.
1751 For example, you might want to use
1755 to examine PostScript® files, or
1759 to preview the LaTeX output.
1760 You can alter the viewer to use (and what options to pass to it) via the
1766 ools\SpecialChar \menuseparator
1771 references:Conversion
1774 For example, to change the
1782 format in the dialog, change the viewer to be
1786 (or whatever), and hit
1796 \begin_layout Standard
1797 Editors are like viewers: Each Format can have an Editor associated to it,
1798 and they can be altered via the
1803 ools\SpecialChar \menuseparator
1808 references:Conversion
1811 LyX uses them whenever an included file
1815 \begin_layout Standard
1816 This can be an included
1820 file, a verbatim included text file, external material or an included graphics
1829 \begin_layout Standard
1830 Finally, each Format can have a Copier associated to it.
1831 Since all conversions from one Format to another take place in a temporary
1832 directory, it is sometimes necessary to modify a file before copying it
1833 to the temporary directory
1837 \begin_layout Standard
1838 For example, the file may reference other files with relative filenames,
1839 which will become invalid in the temporary directory
1845 This is done by the Copier: It copies a file to (or from) the temporary
1846 directory and may modify it in the process.
1849 \begin_layout Section
1850 BibTeX and makeindex
1853 \begin_layout Standard
1854 Both the bibliography generating command (default
1858 ) and the index generating command (default
1871 As an alternative for
1883 \begin_layout Standard
1884 The command to enter is
1890 makeindex.sh -m $$lang
1893 \begin_layout Standard
1894 where the placeholder
1898 will be replaced by the chosen document (babel) language.
1902 \begin_layout Standard
1903 have installed the packages
1920 at a shell prompt for a help page.
1923 \begin_layout Section
1924 ASCII export options
1927 \begin_layout Standard
1928 \begin_inset VSpace bigskip
1934 \begin_layout Standard
1936 There are a couple of commands that can be used to
1937 \begin_inset Quotes eld
1941 \begin_inset Quotes erd
1944 exported ASCII text files.
1945 Note that LyX automatically detects and uses the best settings for your
1946 system at installation time, but you can modify them if you disagree with
1950 \begin_layout Description
1959 This option defines the command used to produce better ASCII tables with
1964 UNIX-commands (refer to their manpages for more information about them).
1965 Setting this as empty tells LyX to use the internal (inferior) formatter.
1968 \begin_layout Description
1978 With this command you can set the default line length of the ASCII output
1980 Setting it to 0 means endless lines.
1983 \begin_layout Section
1987 \begin_layout Standard
1988 There are a bunch of configuration options that are used for interaction
1989 with the external print command from LyX.
1990 Normally the defaults are fine: if, however, your print command takes different
1991 option names, you can modify them here.
1994 \begin_layout Subsection
1998 \begin_layout Standard
1999 You can change the colors used by LyX on-screen using the new
2004 Alternatively, if you're feeling particularly perverse you could use the
2009 bindable function (see the
2014 Input would have the format:
2017 \begin_layout Standard
2020 set-color LyXName X11Color
2023 \begin_layout Standard
2024 Here is a (partial) list of the functions and default colors:
2027 \begin_layout Standard
2029 \begin_inset Tabular
2030 <lyxtabular version="3" rows="10" columns="3">
2032 <column alignment="left" valignment="top" leftline="true" width="0pt">
2033 <column alignment="left" valignment="top" leftline="true" width="0pt">
2034 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2035 <row topline="true" bottomline="true">
2036 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2039 \begin_layout Standard
2054 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2057 \begin_layout Standard
2072 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2075 \begin_layout Standard
2091 <row topline="true">
2092 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2095 \begin_layout Standard
2110 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2113 \begin_layout Standard
2128 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2131 \begin_layout Standard
2147 <row topline="true">
2148 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2151 \begin_layout Standard
2166 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2169 \begin_layout Standard
2184 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2187 \begin_layout Standard
2203 <row topline="true">
2204 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2207 \begin_layout Standard
2222 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2225 \begin_layout Standard
2240 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2243 \begin_layout Standard
2259 <row topline="true">
2260 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2263 \begin_layout Standard
2278 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2281 \begin_layout Standard
2296 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2299 \begin_layout Standard
2315 <row topline="true">
2316 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2319 \begin_layout Standard
2334 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2337 \begin_layout Standard
2347 fraction Lines, brackets, etc.
2352 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2355 \begin_layout Standard
2371 <row topline="true">
2372 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2375 \begin_layout Standard
2390 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2393 \begin_layout Standard
2399 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2402 \begin_layout Standard
2418 <row topline="true">
2419 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2422 \begin_layout Standard
2437 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2440 \begin_layout Standard
2446 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2449 \begin_layout Standard
2465 <row topline="true">
2466 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2469 \begin_layout Standard
2484 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2487 \begin_layout Standard
2493 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2496 \begin_layout Standard
2512 <row topline="true" bottomline="true">
2513 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2516 \begin_layout Standard
2531 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2534 \begin_layout Standard
2544 selection background
2549 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2552 \begin_layout Standard
2575 \begin_layout Section
2576 The autodetected settings
2579 \begin_layout Standard
2580 \begin_inset LatexCommand \label{sec:autodetected}
2584 There are several items that are detected for you when you run
2591 \SpecialChar \menuseparator
2597 In this section, we list those which pertain to the user preferences.
2600 \begin_layout Description
2621 , depending on what is available.
2624 \begin_layout Description
2637 plus a bunch of options.
2640 \begin_layout Description
2653 on systems (so-called System V) who have this command, and
2657 otherwise (BSD systems).
2660 \begin_layout Description
2666 print_spool_printerprefix
2677 , depending on whether
2688 \begin_layout Description
2705 fonts are found and LaTeX has support for these fonts built-in.
2706 You can set it manually if you only have the so-called
2713 \begin_layout Section
2717 \begin_layout Standard
2718 There are many other configuration options that can be used to customize
2720 We still need to document them here, but again, most should be fairly obvious.
2721 Please ask on the mailing lists if you need some more information; it may
2722 even prompt us to expand this section.
2725 \begin_layout Chapter
2726 Internationalizing LyX
2727 \begin_inset LatexCommand \label{chap:i18n}
2734 \begin_layout Standard
2735 LyX supports using a translated interface.
2736 Last time we checked, LyX provided text in 14 languages together with the
2737 default English text.
2738 The language of choice is called your
2743 (For further reading on locale settings, see also the documentation for
2744 locale that comes with your operating system.
2745 For Linux, the manual page for locale(5) could be a good place to start).
2748 \begin_layout Standard
2749 Notice that these translations will work, but do contain a few flaws.
2750 In particular, all dialogs have been designed with the English text in
2751 mind, which means that some of the translated text will be too large to
2752 fit within the space allocated.
2753 This is only a display problem and will not cause any harm.
2754 Also, you will find that some of the translations do not define short-cut
2755 keys for everything.
2756 Sometimes, there are simply not enough free letters to do it.
2757 Other times, the translator just hasn't got around to doing it yet.
2758 Our localization team -- which you may wish to join -- will try to fix
2759 these shortcomings in future versions of LyX.
2762 \begin_layout Section
2763 Selecting an alternative language for the user interface
2766 \begin_layout Standard
2767 This feature is disabled by default, meaning that system default language
2769 To enable an alternative language, you have to set an appropriate environment
2777 for csh class shells
2792 with the two letter code (or four letter code, like
2796 for British English) for the language you want.
2802 Besides the user interface texts being translated, also the appropriate
2803 manuals will be presented under the Help menu -- if available.
2806 \begin_layout Standard
2807 On some systems, you may have to redefine
2819 , to override the system settings; their preference is in this order
2823 \begin_layout Standard
2824 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
2830 , which corresponds to the way GNU
2835 Consult your system documentation.
2836 Normally, you'll want to put the appropriate line in a shell script run
2837 on start-up, so that the translation is on by default.
2838 Remember that this affects
2842 localized packages, not only LyX!
2845 \begin_layout Standard
2846 If LyX is configured and compiled with
2847 \begin_inset Quotes eld
2855 \begin_inset Quotes erd
2858 , this mechanism will not work.
2861 \begin_layout Section
2865 \begin_layout Subsection
2866 Translating the graphical user interface (text messages).
2869 \begin_layout Standard
2874 library to handle the internationalization of the interface.
2875 To have LyX speak your favorite language in all menus and dialogs, you
2880 -file for that language.
2881 When this is available, you'll have to generate a mo-file from it and install
2887 The process of doing all of this is explained in the documentation for
2892 , but in short, this is what you do (
2896 denotes the language code):
2899 \begin_layout Standard
2903 \begin_layout Standard
2914 \begin_layout Itemize
2917 LYX-SOURCE-DIR/po/lyx.pot
2930 doesn't exist, it can be remade with
2934 in that directory, or you can use an existing po-file for some other language
2938 \begin_layout Itemize
2945 \begin_layout Standard
2946 We recommend that you use Emacs to do this, since the
2950 distribution includes a nice mode that supports you in doing this.
2958 For some menu- and widget-labels, there are also shortcut keys that should
2960 Those keys are marked after a `|', and should be translated according to
2961 the words and phrases of the
2966 There is a tool named
2970 written in Prolog in
2972 LYX-SOURCE-DIR/development/tools/
2974 that may be useful to help determine short-cut keys.
2975 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
2976 characters as shortcut keys.
2977 You should also fill also out the information at the beginning of the new
2982 -file with your email-address, etc., so people know where to reach you with
2983 suggestions and entertaining flames.
2986 \begin_layout Itemize
2995 This can be done with
3014 \begin_layout Itemize
3019 -file to your locale-tree, at the correct directory for application messages
3024 , and under the name
3033 /usr/local/share/locale/
3044 \begin_layout Standard
3048 \begin_layout Standard
3059 \begin_layout Standard
3060 Adding a new po-file to the
3064 of LyX involves altering the configure scripts and more, but the way
3068 works, you don't actually need the source-code of LyX to translate it---having
3084 \begin_layout Standard
3085 If you've written a translation file for a language that LyX does not currently
3086 support, feel free to submit it for inclusion by sending a patch.
3087 In this case, we recommend that you read the
3095 directory for more instructions.
3098 \begin_layout Subsubsection
3102 \begin_layout Standard
3103 Sometimes it turns out that one english message needs to be translated into
3104 different messages in the target language.
3105 One example is the message
3109 which has the german translation
3126 does not handle such ambigous translations.
3127 Therefore you have to add some context information to the message: Instead
3134 To[[as in 'From format x to format y']]
3138 To[[as in 'From page x to page y']].
3141 Now the two occurences of
3149 and can be translated correctly to
3164 \begin_layout Standard
3165 Of course the context information needs to be stripped off the original
3166 message when no translation is used.
3167 Therefore you have to put it in double square brackets at the end of the
3168 message (see the example above).
3169 The translation mechanism of LyX ensures that everything in double square
3170 brackets at the end of messages is removed before displaying the message.
3173 \begin_layout Subsection
3174 Translating the documentation.
3177 \begin_layout Standard
3178 The online documentation (in the
3185 -menu) can (and should!) be translated.
3186 If there are translated versions of the documentation available
3190 \begin_layout Standard
3191 As of February 2003, almost all of the docs have been translated into German
3197 has been translated into at least 12 other languages, with other translations
3199 The library of translated documents is growing rapidly.
3204 , and the locale is set accordingly, these will be used automagically by
3206 LyX looks for translated versions as
3220 denotes the language as set by the environmental variable
3225 If there are none, the default English versions will be displayed.
3226 Note that the translated versions must have the same filenames (
3230 above) as the original.
3231 If you feel up to translating the documentation (an excellent way to proof-read
3232 the original documentation BTW!), there are a few things you should do
3236 \begin_layout Itemize
3241 , the guide to writing LyX documentation.
3242 Pay special attention to the translator's section.
3245 \begin_layout Itemize
3246 Check out the documentation translation web page at
3247 \begin_inset LatexCommand \url[The LyX Developer's Web Site]{http://www.devel.lyx.org}
3252 That way, you can find out which (if any) documents have already been translate
3253 d into your language.
3254 You can also find out who (if anyone) is organizing the effort to translate
3255 the documentation into your language.
3256 If no one is organizing the effort, please let us know that you're interested.
3259 \begin_layout Standard
3260 Once you get to actually translating, here's a few hints for you that may
3264 \begin_layout Itemize
3265 Join the documentation team! There is information on how to do that in
3274 elp\SpecialChar \menuseparator
3281 ), which by the way is the first document you should translate.
3284 \begin_layout Itemize
3285 Learn the typographic conventions for the language you are translating to.
3286 Typography is an ancient art and over the centuries, a great variety of
3287 conventions have developed throughout different parts of the world.
3288 Also study the professional terminology amongst typographers in your country.
3289 Inventing your own terminology will only confuse the users.
3292 (Warning! Typography is addictive!)
3295 \begin_layout Itemize
3296 Make a copy of the document.
3297 This will be your working copy.
3298 You can use this as your personal translated help-file by placing it in
3306 \begin_layout Itemize
3307 Sometimes the original document (from the LyX-team) will be updated.
3308 Use the ViewCVS tool available at
3309 \begin_inset LatexCommand \htmlurl{http://www.lyx.org/viewcvs.cgi/lyxdoc/}
3313 to see what has been changed
3317 \begin_layout Standard
3318 Alternatively, you can keep a copy of the latest version of the English
3319 document which you've translated.
3325 That way you can easily see which parts of the translated document need
3329 \begin_layout Itemize
3330 If you ever find an error in the original document, fix it and notify the
3331 rest of the documentation team of the changes! (You didn't forget to join
3332 the documentation team did you?)
3335 \begin_layout Section
3336 International Keyboard Support
3339 \begin_layout Standard
3342 [Editor's Note: The following section is by
3347 It needs to be fixed to conform to the new Documentation Style sheet and
3348 to make use of the new v1.0 features.
3349 The whole thing also needs to be merged with the section following it.-jw]
3352 \begin_layout Subsection
3353 Defining Own Keymaps: Keymap File Format
3356 \begin_layout Standard
3357 Let's look at a keyboard definition file a little closer.
3358 It is a plain ASCII file defining
3361 \begin_layout Itemize
3362 key-to-key or key-to-string translations
3365 \begin_layout Itemize
3369 \begin_layout Itemize
3370 dead keys exceptions
3373 \begin_layout Standard
3374 To define key-to-key or key-to-string translation, use this command:
3377 \begin_layout Quotation
3393 \begin_layout Standard
3398 is the key to be translated and
3402 is the string to be inserted into the document.
3403 To define dead keys, use:
3406 \begin_layout Quotation
3422 \begin_layout Standard
3432 The following dead keys are supported (shortcut name is in parentheses):
3435 \begin_layout Quotation
3443 \begin_layout Quotation
3449 \begin_layout Quotation
3455 \begin_layout Quotation
3462 \begin_layout Quotation
3468 \begin_layout Quotation
3475 \begin_layout Standard
3486 \begin_layout Quotation
3492 \begin_layout Quotation
3499 \begin_layout Standard
3510 \begin_layout Quotation
3516 \begin_layout Quotation
3524 \begin_layout Quotation
3531 \begin_layout Standard
3542 \begin_layout Quotation
3550 \begin_layout Standard
3561 \begin_layout Quotation
3570 \begin_layout Quotation
3571 hungarian umlaut (hug)
3578 \begin_layout Quotation
3584 \begin_layout Quotation
3592 \begin_layout Standard
3603 \begin_layout Standard
3604 Since in many international keyboards there are exceptions to what some
3605 dead keys should do, you can define them using
3608 \begin_layout Quotation
3617 deadkey key outstring
3620 \begin_layout Standard
3621 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3625 \begin_layout Quotation
3639 \begin_layout Standard
3640 to make it work correctly.
3641 Also, you have to define as exceptions dead keys over i and j, to remove
3642 the dot from them before inserting an accent mark.
3643 I will change this when the time comes, but so far I haven't had time.
3646 \begin_layout Standard
3647 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3653 have different meaning.
3658 marks comments, quotes start and end LaTeX-style commands.
3659 To enter quote, you'll need to use
3678 \begin_layout Standard
3679 If you make a keyboard description file that works for your language, please
3680 mail it to me, so I can include it in the next keymap distribution.
3683 \begin_layout Standard
3684 More keywords will be supported in keymap configuration file in future,
3688 \begin_layout Itemize
3706 \begin_layout Itemize
3721 an external keymap translation program
3724 \begin_layout Standard
3725 Also, it should look into
3729 file for defaults, too (for example, a
3735 option to include default keyboard).
3738 \begin_layout Section
3739 International Keymap Stuff
3740 \begin_inset LatexCommand \label{sec:keymap}
3747 \begin_layout Standard
3748 The next two sections describe the
3760 file syntax in detail.
3761 These sections should help you design your own key map if the ones provided
3762 do not meet your needs.
3765 \begin_layout Subsection
3769 \begin_layout Standard
3778 file maps keystrokes to characters or strings.
3779 As the name suggests it sets a keyboard mapping.
3804 are described in this section.
3808 \labelwidthstring 00.00.0000
3815 Map a character to a string
3818 \begin_layout LyX-Code
3831 \begin_layout Standard
3849 the double-quote (")
3857 must be escaped with a preceding backslash (
3868 \begin_layout Standard
3875 statement to cause the symbol
3881 to be output for the keystroke
3890 \begin_layout LyX-Code
3897 \labelwidthstring 00.00.0000
3904 Specify an accent character
3907 \begin_layout LyX-Code
3917 \begin_layout Standard
3918 This will make the cha
3933 This is the dead key
3937 \begin_layout Standard
3944 refers to a key that does not produce a character by itself, but when followed
3945 with another key, produces the desired accent character.
3946 For example, a German characte
3948 r with an umlaut like
3952 can be produced in this manner.
3961 \begin_layout Standard
3968 and then another key not in
3976 followed by the other, unallowed key, as output.
3985 cancels a dead key, so if
3996 , the cursor will not go one position backwards but will instead cancel
4003 might have had on the next keystroke.
4007 \begin_layout Standard
4008 The following example specifies that the character ' is to be an acute accent,
4009 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4012 \begin_layout LyX-Code
4015 kmod ' acute aeiouAEIOU
4019 \labelwidthstring 00.00.0000
4024 Specify an exception to the accent character
4027 \begin_layout LyX-Code
4038 \begin_layout Standard
4039 This defines an exce
4058 have been assigned a keystroke with a previous
4072 must not belong in the
4092 If such a declaration does not exist in
4129 \begin_layout Standard
4130 The following command produces causes äi to be produced when you enter acute-i
4134 \begin_layout LyX-Code
4149 \labelwidthstring 00.00.0000
4154 Combine two accent characters
4157 \begin_layout LyX-Code
4163 accent1 accent2 allowed
4166 \begin_layout Standard
4167 This one is getting pretty esoteric.
4168 It allows you to combine the effect
4213 \begin_layout Standard
4214 Consider this example from the
4223 \begin_layout LyX-Code
4226 kmod ; acute aeioyvhAEIOYVH
4230 kcomb acute umlaut iyIY
4233 \begin_layout Standard
4234 This allows you to press
4240 and get the effect of
4257 in this case cancels the last dead key, so if you press
4274 \begin_layout Subsection
4278 \begin_layout Standard
4287 mapping is performed, a
4294 file maps the strings that the symbols generate to characters in the current
4296 The LyX distribution currently includes at least the
4311 \begin_layout Standard
4320 file is a sequence of declarations of the form
4323 \begin_layout LyX-Code
4334 \begin_layout Standard
4335 For example, in order to map
4343 to the corresponding character in the iso-8859-1 set (233), the following
4347 \begin_layout LyX-Code
4355 \begin_layout Standard
4375 the same character can apply to more than one string.
4388 \begin_layout LyX-Code
4414 \begin_layout Standard
4415 If LyX cannot find a mapping for the string produced by the keystroke or
4416 a deadkey sequence, it will check if it looks like an accented char and
4417 try to draw an accent over the character on screen.
4420 \begin_layout Subsection
4424 \begin_layout Standard
4425 There is a second way to add support for international characters through
4426 so-called dead-keys.
4427 A dead-key works in combination with a letter to produce an accented character.
4428 Here, we'll explain how to create a really simple dead-key to illustrate
4432 \begin_layout Standard
4433 Suppose you happen to need the circumflex character,
4434 \begin_inset Quotes eld
4439 \begin_inset Quotes erd
4447 -key [a.k.a.\InsetSpace ~
4452 ] to the LyX command
4461 Now, whenever you type the
4465 -key followed by a letter, that letter will have a circumflex accent on
4467 For example, the sequence
4468 \begin_inset Quotes eld
4476 \begin_inset Quotes erd
4479 produces the letter:
4480 \begin_inset Quotes eld
4484 \begin_inset Quotes erd
4488 If you tried to type
4489 \begin_inset Quotes eld
4497 \begin_inset Quotes erd
4500 , however, LyX will complain with a beep, since a
4501 \begin_inset Quotes eld
4509 \begin_inset Quotes erd
4512 never takes a circumflex accent.
4517 after a dead-key produces the bare-accent.
4518 Please note this last point! If you bind a key to a dead-key, you'll need
4519 to rebind the character on that key to yet another key.
4524 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4527 \begin_layout Standard
4528 One common way to bind dead-keys is to use
4540 in combination with an accent, like
4541 \begin_inset Quotes eld
4549 \begin_inset Quotes erd
4553 \begin_inset Quotes eld
4561 \begin_inset Quotes erd
4565 \begin_inset Quotes eld
4573 \begin_inset Quotes erd
4577 Another way involves using
4585 [remember them from section?] to set up the special
4594 acts in some ways just like
4598 and permits you to bind keys to accented characters.
4599 You can also turn keys into dead-keys by binding them to something like
4604 and then binding this symbolic key to the corresponding LyX command.
4608 \begin_layout Standard
4613 : This is exactly what I do in my
4631 and a bunch of these
4632 \begin_inset Quotes eld
4640 \begin_inset Quotes erd
4643 symbolic keys bound such things as
4654 This is how I produce my accented characters.
4659 You can make just about anything into the
4667 keys, a spare function key, etc.
4668 As for the LyX commands that produce accents, check the entry for
4677 You'll find the complete list there.
4680 \begin_layout Subsection
4681 Saving your Language Configuration
4684 \begin_layout Standard
4685 \begin_inset LatexCommand \label{sec:savlang}
4689 You can edit your preferences so that your desired language environment
4690 is automatically configured when LyX starts up, via the
4695 dit\SpecialChar \menuseparator
4705 \begin_layout Chapter
4706 Installing New Document Classes, Layouts, and Templates
4707 \begin_inset LatexCommand \label{chap:textclass}
4715 \begin_layout Standard
4716 Installing New Document Classes
4724 \begin_layout Standard
4725 In this chapter, we describe the procedures for creating and installing
4726 new LyX layout and template files, as well as offer a refresher on correctly
4727 installing new LaTeX document classes.
4728 Some definitions: a document class is a LaTeX file (usually ending in
4736 ) which describes the format of a document such as an article, report, journal
4738 and all the commands needed to realize that format.
4739 A layout file is a LyX file which corresponds to a LaTeX document class
4740 and which tells LyX how to
4741 \begin_inset Quotes eld
4745 \begin_inset Quotes erd
4748 things on the screen to make the display look something like the final
4750 More precisely, a layout file describes a
4751 \begin_inset Quotes eld
4755 \begin_inset Quotes erd
4758 which is the internal construct LyX uses to render the screen display.
4760 \begin_inset Quotes eld
4764 \begin_inset Quotes erd
4768 \begin_inset Quotes eld
4772 \begin_inset Quotes erd
4775 can be used somewhat interchangeably, but it is better to refer to the
4776 file as the layout, and the thing living in LyX's memory as the text class.
4777 A template file is simply a LyX document which contains a set of predefined
4778 entries for a given document class which are generally required for that
4780 Templates are especially useful for things like journal manuscripts which
4781 are to be submitted electronically.
4784 \begin_layout Section
4785 Installing a new LaTeX package
4788 \begin_layout Standard
4789 Some installations may not include a LaTeX package that you would like to
4791 For example, you might need FoilTeX, a common (and very powerful) package
4792 for preparing slides or viewgraphs for overhead projectors.
4793 Here are the formal steps involved in getting the package up and running
4794 if you are using teTeX or some other web2c based distribution.
4798 \begin_layout Enumerate
4799 Get the package from CTAN or wherever.
4803 \begin_layout Standard
4806 Inventory of your LaTeX configuration
4808 manual for details of what CTAN is and where supported document classes
4817 \begin_layout Enumerate
4822 (this usually lives in the directory
4826 , though you can run
4831 It describes how to add a local
4835 directory; follow the instructions.
4836 You need to insert the name of your local
4849 is a logical place to install software that did not come with your distribution
4855 Usually, you will have to modify only two things:
4859 \begin_layout Enumerate
4864 to the directory you chose; e.g.
4869 TEXMFLOCAL = /usr/local/texmf
4872 \begin_layout Enumerate
4886 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
4890 \begin_layout Enumerate
4901 You must follow the directory structure of your existing
4905 directory (for example, latex packages should go under
4907 /usr/local/texmf/tex/latex/
4912 \begin_layout Enumerate
4913 Install the package.
4914 For example, you would unpack the FoilTeX tarball and create
4916 /usr/local/texmf/tex/latex/foiltex
4923 directory contains various files.
4926 \begin_layout Enumerate
4934 /usr/local/texmf/ls-R
4939 \begin_layout Enumerate
4940 From within LyX, do:
4945 ools\SpecialChar \menuseparator
4956 \begin_layout Standard
4957 Now you should see your new package---for example
4966 ayout\SpecialChar \menuseparator
4981 Note that there are simpler ways of installing packages: you can add a
4982 link to the new package directory in the system LaTeX directory (
4986 , don't forget to then run
4990 ), or sometimes simply set the
4994 environment variable to include the new package.
4995 However, the formal procedure described in
4999 is guaranteed to work, so you should follow it unless circumstances absolutely
5000 prevent it: such as, when you don't have superuser access.
5003 \begin_layout Section
5007 \begin_layout Standard
5008 This section describes how to write and install your own LyX layout files
5009 (also known as text classes) and walks through the
5013 text class format as an example.
5018 files describe what paragraph styles are available for a given document
5019 class and how LyX should display them.
5020 We try to provide a thorough description of the process here; however,
5021 there are so many different types of documents supported by LaTeX classes
5022 we can't hope to cover every different possibility or problem you might
5027 \begin_layout Standard
5028 When you plan to write a new layout, it is extremely helpful to look at
5029 the example layouts distributed with LyX.
5030 If you use a nice LaTeX document class that might be of interest for others,
5031 too, and have a nice corresponding LyX layout, feel free to contribute
5032 the stuff to us, so we may put it into the distribution.
5035 \begin_layout Standard
5036 All the tags described in this chapter are case-insensitive; this means
5049 are really the same command.
5050 The possible values are printed in brackets after the feature's name.
5051 The default value if a feature isn't specified inside a text class-description
5059 If the argument has a datatype like
5060 \begin_inset Quotes eld
5064 \begin_inset Quotes erd
5068 \begin_inset Quotes eld
5072 \begin_inset Quotes erd
5075 , the default is shown like this:
5085 \begin_layout Subsection
5086 Supporting new document classes
5089 \begin_layout Standard
5090 There are two situations you are likely to encounter when wanting to support
5091 a new LaTeX document class, involving LaTeX2e class (
5102 \begin_layout Subsection
5110 \begin_layout Standard
5111 If your new document class is provided as a style file that is used in conjuncti
5112 on with an existing, supported document class, start by copying the existing
5113 class's layout file into your local directory.
5114 For the sake of example we'll assume that the style file is called
5118 and it is meant to be used with
5122 which is a standard class.
5125 \begin_layout LyX-Code
5126 cp report.layout ~/.lyx/layouts/myclass.layout
5129 \begin_layout Standard
5134 and change the line:
5137 \begin_layout LyX-Code
5140 DeclareLaTeXClass{report}
5143 \begin_layout Standard
5147 \begin_layout LyX-Code
5150 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5153 \begin_layout Standard
5157 \begin_layout LyX-Code
5167 \begin_layout Standard
5168 near the top of the file.
5171 \begin_layout Standard
5172 Start LyX and select
5177 ools\SpecialChar \menuseparator
5185 Restart LyX and try creating a new document.
5190 " as a document class option in the
5195 ocument\SpecialChar \menuseparator
5203 It is likely that some of the sectioning commands and such will differ
5204 from how the base class
5208 \begin_layout Standard
5218 works, so you can fiddle around with the settings for the different sections
5220 See below for more discussion on this.
5223 \begin_layout Subsection
5231 \begin_layout Standard
5232 In this case, you will probably have to
5233 \begin_inset Quotes eld
5237 \begin_inset Quotes erd
5241 We strongly suggest copying an existing layout file which uses a similar
5242 LaTeX class and modifying it if at all possible.
5243 At least use an existing file as a starting point so you can find out what
5244 items you need to worry about.
5245 Again, the specifics are covered below.
5248 \begin_layout Section
5249 Declaring a new text class
5252 \begin_layout Standard
5253 When it's finally time to get your hands dirty and create or edit your own
5254 layout file, the following sections describe what you're up against.
5255 Our advice is to go slowly, save and test often, listen to soothing music,
5256 and enjoy one or two of your favorite adult beverages; more if you are
5257 getting particularly stuck.
5258 It's really not that hard, except that the multitude of options can become
5259 overwhelming if you try to do to much in one sitting.
5260 Go have another adult beverage, just for good measure.
5263 \begin_layout Standard
5267 \begin_layout Standard
5268 Lines in a layout file which begin with a
5273 There is one exception to this rule: all layouts should begin with lines
5277 \begin_layout LyX-Code
5280 #% Do not delete the line below; configure depends on this
5283 \begin_layout LyX-Code
5288 DeclareLaTeXClass{article}
5291 \begin_layout Standard
5292 The second line is used when you configure LyX.
5293 The layout file is read by the LaTeX script
5297 , in a special mode where
5302 The first line is just a LaTeX comment, and the second one contains the
5303 declaration of the text class.
5304 If these lines appear in a file named
5308 , then they define a text class of name
5312 (the name of the layout file) which uses the LaTeX document class
5316 (the default is to use the same name as the layout).
5318 \begin_inset Quotes eld
5322 \begin_inset Quotes erd
5325 that appears above is used as a description of the text class in the
5330 ocument\SpecialChar \menuseparator
5340 \begin_layout Standard
5341 Let's assume that you wrote your own text class that uses the
5345 documentclass, but where you changed the appearance of the section headings.
5346 If you put it in a file
5350 , the header of this file should be:
5353 \begin_layout LyX-Code
5356 #% Do not delete the line below; configure depends on this
5359 \begin_layout LyX-Code
5364 DeclareLaTeXClass[article]{article (with my own headings)}
5367 \begin_layout Standard
5368 This declares a text class
5372 , associated with the LaTeX document class
5377 \begin_inset Quotes eld
5380 article (with my own headings)
5381 \begin_inset Quotes erd
5385 If your text class depends on several packages, you can declare it as:
5388 \begin_layout LyX-Code
5391 #% Do not delete the line below; configure depends on this
5394 \begin_layout LyX-Code
5399 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5402 \begin_layout Standard
5403 This indicates that your text class uses the foo.sty package.
5404 Finally, it is also possible to declare classes for SGML and DocBook code.
5405 Typical declarations will look like
5408 \begin_layout LyX-Code
5411 #% Do not delete the line below; configure depends on this
5414 \begin_layout LyX-Code
5419 DeclareSGMLClass{SGML (LinuxDoc)}
5422 \begin_layout Standard
5426 \begin_layout LyX-Code
5427 #% Do not delete the line below; configure depends on this
5430 \begin_layout LyX-Code
5433 DeclareDocBookClass[article]{SGML (DocBook article)}
5436 \begin_layout Standard
5437 Note that these declarations can also be given an optional parameter declaring
5438 the name of the document class (but not a list).
5441 \begin_layout Standard
5442 When the text class has been modified to your taste, all you have to do
5443 is to copy it either in
5456 ools\SpecialChar \menuseparator
5464 Exit LyX and restart it; then your new text class should be available along
5468 \begin_layout Subsection
5472 \begin_layout Standard
5473 The first non-comment line must contain the file format number:
5476 \begin_layout Description
5487 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
5488 don't have an explicit file format).
5489 The file format that is documented here is
5496 \begin_layout Subsection
5497 General text class parameters
5500 \begin_layout Standard
5501 These are the general parameters which describe the form of the entire document:
5504 \begin_layout Standard
5508 \begin_layout Standard
5519 \begin_layout Description
5533 ] Whether the class-default should have one or two columns.
5534 Can be changed in the
5539 ocument\SpecialChar \menuseparator
5550 This setting (same goes for
5554 , too) is important: if your text class has two columns by default but you
5555 forget to set it correctly, the
5563 be output when you select
5572 ocument\SpecialChar \menuseparator
5580 \begin_layout Description
5594 ] Whether the class-default should be printing on one or both sides of the
5596 Can be changed in the
5604 ocument\SpecialChar \menuseparator
5614 \begin_layout Description
5629 ] The class default pagestyle.
5630 Can be changed in the
5635 ocument\SpecialChar \menuseparator
5648 \begin_layout Description
5652 ClassOptions\SpecialChar \ldots{}
5656 This section describes various global options supported by the document
5658 See Section\InsetSpace ~
5660 \begin_inset LatexCommand \ref{sec:classoptions}
5667 \begin_layout Description
5681 ] Whether the class already loads the
5686 This is the case of the
5697 \begin_layout Description
5711 ] Whether the class already provides the functionality of the
5716 This is the case of the
5727 \begin_layout Description
5741 ] Whether the class already provides the functionality of the
5746 This is the case of the
5753 \begin_layout Description
5760 This is used to describe the default font of the document.
5761 See Section\InsetSpace ~
5763 \begin_inset LatexCommand \ref{sec:fonts}
5770 \begin_layout Description
5781 ] This is the style that will be assigned to new paragraphs, usually
5786 This will default to the first defined style if not given, but you are
5787 highly encouraged to use this directive.
5790 \begin_layout Description
5807 ] Indicates what kind of markup is used to define the title of a document.
5812 means that the macro with name
5816 will be inserted after the last layout which has
5817 \begin_inset Quotes eld
5825 \begin_inset Quotes erd
5833 corresponds to the case where the block of paragraphs which have
5834 \begin_inset Quotes eld
5842 \begin_inset Quotes erd
5845 should be enclosed into the
5854 \begin_layout Description
5865 ] The name of the command/environment mentionned above.
5868 \begin_layout Description
5872 Preamble\SpecialChar \ldots{}
5876 A set of macro definitions that will be output at the beginning of the
5878 Use this for global definitions.
5881 \begin_layout Description
5888 As its name implies, this command allows you to include another layout
5889 definition file within yours to avoid duplicating commands.
5890 Common examples are the standard layout files, for example,
5894 , which contains most of the basic layouts.
5897 \begin_layout Description
5901 Style\SpecialChar \ldots{}
5905 This sequence defines a new style.
5906 If the style already exists, it will redefine some of its parameters instead.
5907 See Section\InsetSpace ~
5909 \begin_inset LatexCommand \ref{sec:style}
5916 \begin_layout Description
5923 This command deletes an existing style.
5924 This is particularly useful when you want to suppress a style that has
5925 be defined in an input file.
5928 \begin_layout Description
5932 Float\SpecialChar \ldots{}
5936 This sequence defines a new float.
5937 See Section\InsetSpace ~
5939 \begin_inset LatexCommand \ref{sec:floats}
5946 \begin_layout Description
5953 This command deletes an existing float.
5954 This is particularly useful when you want to suppress a float that has
5955 be defined in an input file.
5958 \begin_layout Description
5962 CharStyle\SpecialChar \ldots{}
5967 This section defines a new character style.
5968 See Section\InsetSpace ~
5970 \begin_inset LatexCommand \ref{sec:charstyle}
5977 \begin_layout Description
5981 Counter\SpecialChar \ldots{}
5985 This sequence defines a new counter.
5986 See Section\InsetSpace ~
5988 \begin_inset LatexCommand \ref{sec:counter}
5995 \begin_layout Standard
5999 \begin_layout Standard
6010 \begin_layout Subsection
6018 \begin_layout Standard
6019 \begin_inset LatexCommand \label{sec:classoptions}
6027 section can contain the following entries:
6030 \begin_layout Description
6041 ] The list of available font sizes for the document's main font, separated
6043 \begin_inset Quotes eld
6051 \begin_inset Quotes erd
6057 \begin_layout Description
6066 string="empty|plain|headings|fancy"
6068 ] The list of available page styles, separated by
6069 \begin_inset Quotes eld
6077 \begin_inset Quotes erd
6083 \begin_layout Description
6094 ] Some document class options, separated by a comma, that will be added
6095 to the optional part of the
6104 \begin_layout Subsection
6105 Specific Paragraph Layouts
6108 \begin_layout Standard
6109 \begin_inset LatexCommand \label{sec:style}
6113 A paragraph layout description looks like this
6117 \begin_layout Standard
6118 Note that this will either define a new layout or modify an existing one.
6126 \begin_layout LyX-Code
6133 \begin_layout LyX-Code
6137 \begin_layout LyX-Code
6141 \begin_layout Standard
6142 where the following commands are allowed:
6145 \begin_layout Standard
6149 \begin_layout Standard
6160 \begin_layout Description
6171 This is used to copy all the features of an existing layout into the current
6176 \begin_layout Description
6188 , Command, Environment, Item_Environment,
6194 ] How the layout should be translated into LaTeX.
6199 means nothing special.
6212 {\SpecialChar \ldots{}
6227 }\SpecialChar \ldots{}
6251 is generated for each paragraph of this environment.
6264 is passed as an argument to the environment.
6269 can be defined in the
6274 ayout\SpecialChar \menuseparator
6288 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6289 Visit the SGML class files for specific examples.
6292 \begin_layout Description
6300 If 1, marks the layout as being part of a title block (see also the
6311 \begin_layout Description
6318 The name of the corresponding LaTeX stuff.
6319 Either the environment or command name.
6322 \begin_layout Description
6329 The optional parameter for the corresponding
6336 This parameter cannot be changed from within LyX.
6339 \begin_layout Description
6350 ] The number of optional arguments that can be used with this layout.
6351 This is useful for things like section headings, and only makes sense with
6355 \begin_layout Description
6367 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6371 The kind of margin that the layout has on the left side.
6376 just means a fixed margin.
6381 means that the left margin depends on the string entered in the
6386 dit\SpecialChar \menuseparator
6391 aragraph\InsetSpace ~
6395 This is used to typeset nice lists without tabulators.
6400 means that the margin depends on the size of the label.
6401 This is used for automatic enumerated headlines.
6402 It is obvious that the headline
6403 \begin_inset Quotes eld
6406 5.4.3.2.1 Very long headline
6407 \begin_inset Quotes erd
6410 must have a wider left margin (as wide as
6411 \begin_inset Quotes eld
6415 \begin_inset Quotes erd
6418 plus the space) than
6419 \begin_inset Quotes eld
6422 3.2 Very long headline
6423 \begin_inset Quotes erd
6426 , even if other word processors are not able to do this.
6431 is similar, but only the very first row of the paragraph is dynamic, while
6432 the others are static; this is used, for example, for descriptions.
6437 means the margin is chosen in a way that the longest row of this paragraph
6438 fits to the right margin.
6439 This is used to typeset an address on the right edge of the page.
6442 \begin_layout Description
6456 ] Whether the following Paragraph is allowed to indent its very first row.
6461 means that it is not allowed to do so,
6465 means it could do so if it wants to.
6468 \begin_layout Description
6479 ] The indent of the very first line of a paragraph.
6480 The argument is passed as a string.
6485 means that the paragraph is indented with the width of
6494 You can get a negative width by prefixing the string with
6499 This way was chosen so that the look is the same with each used screen
6505 will be fixed for a certain layout.
6506 The exception is Standard layout, since the indentation of a Standard layout
6507 paragraph can be prohibited with
6512 Also, Standard layout paragraphs inside environments use the
6516 of the environment, not their native one.
6517 For example, Standard paragraphs inside an enumeration are not indented.
6520 \begin_layout Description
6531 ] LyX allows to choose either
6532 \begin_inset Quotes eld
6536 \begin_inset Quotes erd
6540 \begin_inset Quotes eld
6544 \begin_inset Quotes erd
6547 to typeset a document.
6549 \begin_inset Quotes eld
6553 \begin_inset Quotes erd
6556 is chosen, this value is completely ignored.
6558 \begin_inset Quotes eld
6562 \begin_inset Quotes erd
6565 is chosen, the parindent of a LaTeXtype
6566 \begin_inset Quotes eld
6570 \begin_inset Quotes erd
6573 layout is ignored and all paragraphs are additionally separated by this
6575 The vertical space is calculated with
6577 value*DefaultHeight()
6583 is the height of a row with the normal font.
6584 This way, the look stays the same with different screen fonts.
6587 \begin_layout Description
6598 ] The vertical space with which the very first of a chain of paragraphs
6599 with this layout is separated from the previous paragraph.
6600 If the previous paragraph has another layout, the separations are not simply
6601 added, but the maximum is taken.
6604 \begin_layout Description
6619 for the very last paragraph.
6622 \begin_layout Description
6633 ] The vertical space between two paragraphs of this layout.
6636 \begin_layout Description
6647 ] This is an extra space between the paragraphs of an environment layout.
6648 If you put other layouts into an environment, each is separated with the
6654 But the whole items of the environment are additionally separated with
6663 \begin_layout Description
6674 ] If you put layouts into environments, the leftmargins are not simply added,
6675 but added with a factor
6676 \begin_inset Formula $\frac{4}{depth+4}$
6680 Note that this parameter is also used when the border is defined as
6689 Then it is added to the manual or dynamic border.
6690 This string has the same meaning as for
6697 \begin_layout Description
6715 \begin_layout Description
6727 , Manual, Static, Top_Environment,
6729 Centered_Top_Environment, Sensitive,
6738 means the label is the very first word (up to the first real blank).
6743 means it is defined in the layout (see
6754 Centered_Top_Environment
6756 are special cases of
6761 The label will be printed above the paragraph, but only at the top of an
6762 environment or the top of a chain of paragraphs with this layout.
6763 Usage is for example the
6772 This is also the case for
6776 labels with latex type
6780 , in order to make layouts for theorems work correctly.
6785 is a special case for the caption-labels
6786 \begin_inset Quotes eld
6790 \begin_inset Quotes erd
6794 \begin_inset Quotes eld
6798 \begin_inset Quotes erd
6806 means the (hardcoded) label string depends on the kind of float.
6811 label type defines automatically numbered labels.
6814 \begin_layout Description
6823 Chapter, Section, Subsection, Subsubsection,
6825 Paragraph, Subparagraph, EnumI,
6826 EnumII, EnumIII, EnumIV
6830 The name of the counter for automatic numbering.
6831 This must be given if
6844 \begin_layout Description
6855 ] The horizontal space between the label and the text body.
6856 Only used for labels that are not above the text body.
6859 \begin_layout Description
6866 [float=0] The vertical space between the label and the text body.
6867 Only used for labels that are above the text body (
6873 Centered_Top_Environment
6878 \begin_layout Description
6889 ] The string used for a label with a
6898 this string is also used as a suggestion for the
6902 that can be set in the
6907 dit\SpecialChar \menuseparator
6912 aragraph\InsetSpace ~
6922 is set, this string can be contain special formatting commands as explained
6923 in Section\InsetSpace ~
6925 \begin_inset LatexCommand \ref{sec:counter}
6932 \begin_layout Description
6943 ] If non-empty, this is used inside the appendix instead of
6951 \begin_layout Description
6958 The level of the style in the table of contents.
6959 This is used for automatic numbering of section headings.
6962 \begin_layout Description
6974 , Box, Filled_Box, Static
6976 ] The type of label that stands at the end of the paragraph (or sequence
6999 \begin_inset Quotes eld
7003 \begin_inset Quotes erd
7015 ) is a white (resp.\InsetSpace ~
7016 black) square suitable for end of proof markers,
7020 is an explicit text string.
7023 \begin_layout Description
7034 ] The string used for a label with a
7046 \begin_layout Description
7058 , left, right, center
7060 ] Paragraph alignment.
7063 \begin_layout Description
7075 , left, right, center
7082 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7084 For example a right-aligned or centered enumeration isn't possible.
7087 \begin_layout Description
7101 ] With this parameter the
7106 \begin_inset Quotes eld
7109 Vertical space above
7110 \begin_inset Quotes erd
7118 dit\SpecialChar \menuseparator
7123 aragraph\InsetSpace ~
7126 dialog can be set when initializing a paragraph with this layout
7130 \begin_layout Standard
7133 Note from Jean-Marc:
7135 I'm not sure that this setting has much use, and it should probably be removed
7145 \begin_layout Description
7166 \begin_layout Description
7180 ] Whether fragile commands in this layout should be
7189 \begin_layout Description
7203 ] Whether newlines are translated into LaTeX newlines (
7212 The translation can be switched off to allow more comfortable LaTeX editing
7216 \begin_layout Description
7230 ] Whether the contents of this paragraph should be output in raw form, meaning
7231 without special translations that LaTeX would require.
7232 This somehow replaces the older
7239 \begin_layout Description
7253 ] Usually LyX doesn't allow you to insert more than one space between words,
7254 since a space is considered as the separation between two words, not a
7255 character or symbol of its own.
7256 This is a very fine thing but sometimes annoying, for example when typing
7257 program code or plain LaTeX code.
7263 Note that LyX will create protected blanks for the additional blanks when
7264 in another mode than LaTeX-mode.
7267 \begin_layout Description
7281 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7282 lead to empty LaTeX output.
7283 There are some cases where this could be desirable however: in a letter
7284 template, the required fields can be provided as empty fields, so that
7285 people do not forget them; in some special classes, a layout can be used
7286 as some kind of break, which does not contain actual text.
7289 \begin_layout Description
7301 , onehalf, double, other
7306 ] This defines what the default spacing should be in the layout.
7319 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7320 If you specify the argument
7324 , then you should also provide a numerical argument which will be the actual
7326 Note that, contrary to other parameters,
7330 implies the generation of specific LaTeX code, using the package
7337 \begin_layout Description
7344 The font used for both the text body
7349 See section\InsetSpace ~
7351 \begin_inset LatexCommand \ref{sec:fonts}
7356 Note that defining this font automatically defines the
7363 \begin_layout Description
7370 The font used for the text body .
7371 See section\InsetSpace ~
7373 \begin_inset LatexCommand \ref{sec:fonts}
7380 \begin_layout Description
7387 The font used for the label.
7388 See section\InsetSpace ~
7390 \begin_inset LatexCommand \ref{sec:fonts}
7397 \begin_layout Description
7401 Preamble\SpecialChar \ldots{}
7405 A set of macro definitions that will be output at the beginning of the
7406 LaTeX files when the layout is used.
7407 Use this to define the macros needed by this particular layout.
7410 \begin_layout Description
7417 the name of a style which preamble should be output
7421 the one mentionned above.
7422 This allows to ensure some ordering of the preamble snippets when macros
7423 definitions depend on one another
7427 \begin_layout Standard
7428 Note that, besides that functionality, there is no way to ensure any ordering
7430 The ordering that you see in a given version of LyX may change without
7431 warning in later versions.
7439 \begin_layout Standard
7443 \begin_layout Standard
7454 \begin_layout Subsection
7458 \begin_layout Standard
7459 \begin_inset LatexCommand \label{sec:floats}
7463 Since version 1.3.0 of LyX, it is necessary to define the floats (
7471 , \SpecialChar \ldots{}
7472 ) in the text class itself.
7473 If you are looking here to learn how to upgrade an existing text class,
7474 it will probably turn out that all you have to do is to add
7477 \begin_layout LyX-Code
7481 \begin_layout Standard
7482 at a reasonable location of the text class.
7486 \begin_layout Standard
7487 Don't forget to also have a look at counters in next section.
7492 If you want to implement a text class that proposes some other float types
7493 (like the AGU class bundled with LyX), the information below will hopefully
7497 \begin_layout Description
7509 \begin_inset Quotes erd
7513 \begin_inset Quotes erd
7517 \begin_inset Quotes eld
7521 \begin_inset Quotes erd
7524 of the new class of floats, like program or algorithm.
7525 After the appropriate
7546 \begin_layout Description
7558 \begin_inset Quotes erd
7562 \begin_inset Quotes erd
7565 ] The string that will be used in the menus and also for the caption.
7568 \begin_layout Description
7589 if the float is already defined by the documentclass.
7594 , the float will be defined using the LaTeX package
7601 \begin_layout Description
7613 \begin_inset Quotes erd
7617 \begin_inset Quotes erd
7620 ] This (optional) argument determines whether floats of this class will
7621 be numbered within some sectional unit of the document.
7622 For example, if within is equal to
7626 , the floats will be numbered within chapters.
7630 \begin_layout Description
7642 \begin_inset Quotes erd
7646 \begin_inset Quotes erd
7649 ] The style used when defining the float using
7658 \begin_layout Description
7670 \begin_inset Quotes erd
7674 \begin_inset Quotes erd
7677 ] The default placement for the given class of floats.
7678 They are like in standard LaTeX:
7694 for top, bottom, page, and here, respectively.
7698 \begin_layout Standard
7699 Note that the order of these letters in the string is irrelevant, like in
7705 On top of that there is a new type,
7709 , which does not really correspond to a float, since it means: put it
7710 \begin_inset Quotes eld
7714 \begin_inset Quotes erd
7718 Note, however that the
7722 specifier is special and, because of implementation details cannot be used
7723 in non-builtin float types.
7724 If you do not understand what this means, just use
7731 \begin_layout Description
7743 \begin_inset Quotes erd
7747 \begin_inset Quotes erd
7750 ] The file name extension of an auxiliary file for the list of figures (or
7752 LaTeX writes the captions to this file.
7755 \begin_layout Description
7767 \begin_inset Quotes erd
7771 \begin_inset Quotes erd
7774 ] The heading used for the list of floats.
7777 \begin_layout Subsection
7781 \begin_layout Standard
7782 \begin_inset LatexCommand \label{sec:charstyle}
7786 You can define character styles since version 1.4.0 of LyX.
7791 section can contain the following entries:
7794 \begin_layout Description
7801 The font used for both the text body
7806 See section\InsetSpace ~
7808 \begin_inset LatexCommand \ref{sec:fonts}
7813 Note that defining this font automatically defines the
7820 \begin_layout Description
7827 The font used for the label.
7828 See section\InsetSpace ~
7830 \begin_inset LatexCommand \ref{sec:fonts}
7837 \begin_layout Description
7844 The name of the corresponding LaTeX stuff.
7845 Either the environment or command name.
7848 \begin_layout Description
7855 The optional parameter for the corresponding
7862 This parameter cannot be changed from within LyX.
7865 \begin_layout Description
7872 See section\InsetSpace ~
7874 \begin_inset LatexCommand \ref{sec:style}
7881 \begin_layout Description
7885 Preamble\SpecialChar \ldots{}
7889 See section\InsetSpace ~
7891 \begin_inset LatexCommand \ref{sec:style}
7898 \begin_layout Subsection
7902 \begin_layout Standard
7903 \begin_inset LatexCommand \label{sec:counter}
7907 Since version 1.3.0 of LyX, it is necessary to define the counters (
7915 , \SpecialChar \ldots{}
7916 ) in the text class itself.
7917 If you are looking here to learn how to upgrade an existing text class,
7918 it will probably turn out that all you have to do is to add
7921 \begin_layout LyX-Code
7922 Input stdcounters.inc
7925 \begin_layout Standard
7926 The definition of counters is presently a bit primitive in LyX, since many
7927 things are still hardcoded.
7928 The following two parameters can be used:
7931 \begin_layout Description
7943 \begin_inset Quotes erd
7947 \begin_inset Quotes erd
7950 ] The name of the counter
7953 \begin_layout Description
7965 \begin_inset Quotes erd
7969 \begin_inset Quotes erd
7972 ] If this is set to the name of another counter, the present counter will
7973 be reset everytime the other one is increased (is that unclear enough?).
7976 \begin_layout Standard
7977 When a counter has been associated to a style, it is possible to use some
7978 special constructs in
7993 \begin_layout Itemize
8002 will be replaced the expanded
8013 This is used for example to define the label of a subsection in terms of
8014 the label of a section.
8017 \begin_layout Itemize
8018 counter values can be expressed using LaTeX-like macros
8042 \begin_layout Description
8053 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8058 \begin_layout Standard
8068 Actually, the situation is a bit more complicated than that: any
8084 other than those descibed below will produce arabic numerals.
8085 It would not be surprising to see this change in the future.
8093 \begin_layout Description
8100 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8104 \begin_layout Description
8111 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8115 \begin_layout Description
8122 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8126 \begin_layout Description
8133 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8137 \begin_layout Description
8144 for hebrew numerals.
8148 \begin_layout Subsection
8152 \begin_layout Standard
8153 \begin_inset LatexCommand \label{sec:fonts}
8157 A font description looks like that:
8160 \begin_layout LyX-Code
8170 \begin_layout LyX-Code
8174 \begin_layout LyX-Code
8178 \begin_layout Standard
8179 and the following commands are available:
8182 \begin_layout Description
8199 \begin_layout Description
8216 \begin_layout Description
8228 , Italic, SmallCaps, Slanted
8233 \begin_layout Description
8246 , large, larger, largest, huge, giant
8251 \begin_layout Description
8264 , black, white, red, green, blue, cyan, magenta, yellow
8269 \begin_layout Subsection
8270 Upgrading old layout files
8273 \begin_layout Standard
8274 The file format of layout files changes from time to time, so old layout
8275 files need to be converted.
8276 This process has been automated in LyX 1.4.0: If LyX reads an old format
8277 layout file it will call the conversion tool
8279 $LyXDir/scripts/layout2layout.py
8281 and convert it to a temporary file in current format.
8282 The original file is left untouched, so that you can still use it with
8284 If you want to convert the layout file permanently, just call the converter
8288 \begin_layout LyX-Code
8289 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8292 \begin_layout Standard
8304 \begin_layout Standard
8305 The automatic conversion does only handle syntax changes.
8306 It cannot handle the case where the contents of included files was changed.
8307 For example, layout files based on
8320 If you get error messages about undefined counters, try to convert your
8340 \begin_layout Section
8342 \begin_inset LatexCommand \label{sec:templates}
8349 \begin_layout Standard
8350 Templates are created just like usual documents.
8351 The only difference is that usual documents contain all possible settings,
8352 including the fontscheme and the papersize.
8353 Usually a user doesn't want a template to overwrite his defaults in these
8355 For that reason, the designer of a template should remove the corresponding
8368 from the template LyX file.
8369 This can be done with any simple text-editor, for example
8381 \begin_layout Standard
8382 Put the edited template files you create in
8386 , copy the ones you use from the global template directory in
8390 to the same place, and redefine the template path in the
8395 dit\SpecialChar \menuseparator
8414 \begin_layout Standard
8415 Note that there is a template which has a particular meaning:
8420 This template is loaded everytime you create a new document with
8427 \SpecialChar \menuseparator
8435 in order to provide useful defaults.
8436 To create this template from inside LyX, all you have to do is to open
8437 a document with the correct settings, and use the
8443 e as Document Defaults
8448 \begin_layout Chapter
8449 Including External Material
8452 \begin_layout Section
8456 \begin_layout Standard
8457 \begin_inset Note Note
8460 \begin_layout Standard
8461 This section is completely outdated.
8466 One often requested feature from LyX users is to be able to interface LyX
8467 with XFig, Dia, or other similar applications that specialize in producing
8468 a certain kind of diagram, figure, schematic or whatever material might
8469 be relevant to include in your document.
8470 Previously, it was only possible to include boring, static, fixed images
8471 in LyX documents with the graphics feature, but there are several limitations
8472 attached to this approach:
8475 \begin_layout Itemize
8476 If you want to change the figure, you have to invoke an external program
8480 \begin_layout Itemize
8481 LyX does not notice that the referenced files change, so the on-screen display
8482 can fast become obsolete, and this is aggravated by the lack of a means
8483 of updating the display
8486 \begin_layout Itemize
8487 The graphics stuff does not provide any mechanisms for coping with different
8488 exported formats such as DocBook, HTML or raw Ascii
8491 \begin_layout Standard
8492 The external material facility attempts to solve all of these problems
8496 \begin_layout Standard
8497 Even if the graphics facility can't solve all problems, it is still valuable
8498 because it does provide in-line preview of the graphics, and supports advanced
8499 geometric transformations with a comfortable user interface.
8505 It does this by offering a general method to interface LyX to external
8507 Instead of introducing a long list of different constructs tailored for
8508 each specific application, we chose to sacrifice the in-line displaying
8509 of the included material in order to provide a general construct to cover
8510 a wide range of applications.
8511 The result is the external material construct.
8512 External material presents itself in the document simply as a button, but
8513 don't let this fool you.
8514 When you click on it, a dialog will appear that allows you to chose exactly
8515 what material to include, and in the following sections you will learn
8516 that this is indeed a powerful mechanism that can solve all of the above
8520 \begin_layout Section
8524 \begin_layout Standard
8525 The external material feature is based on the concept of a
8530 A template is a specification of how LyX should interface with a certain
8532 As bundled, LyX comes with predefined templates for XFig figures, Dia diagrams,
8533 various raster format images, gnuplot, and more.
8534 You can check the actual list by using the
8536 Insert\SpecialChar \menuseparator
8545 Furthermore, it is possible to roll your own template to support a specific
8547 Later we'll describe in more detail what is involved, and hopefully you
8548 will submit all the templates you create so we can include them in a later
8552 \begin_layout Standard
8553 Another basic idea of the external material feature is to distinguish between
8554 the original file that serves as a base for final material and the produced
8555 file that is included in your exported or printed document.
8556 For example, consider the case of a figure produced with XFig.
8557 The XFig application itself works on an original file with the
8562 Within XFig, you create and change your figure, and when you are done,
8568 When you want to include the figure in your document, you invoke
8572 in order to create a PostScript file that can readily be included in your
8578 file is the original file, and the PostScript file is the produced file.
8581 \begin_layout Standard
8582 This distinction is important in order to allow updating of the material
8583 while you are in the process of writing the document.
8584 Furthermore, it provides us with the flexibility that is needed to support
8585 multiple export formats.
8586 For instance, in the case of an Ascii resulting file, it is not exactly
8587 an award-winning idea to include the figure as raw PostScript.
8588 Instead, you'd either prefer to just include a reference to the figure,
8589 or try to invoke some graphics to Ascii converter to make the final result
8590 look similar to the real graphics.
8591 The external material management allows you to do this, because it is parameter
8592 ized on the different export formats that LyX supports.
8595 \begin_layout Standard
8596 Besides supporting the production of different products according to the
8597 exported format, it supports tight integration with editing and viewing
8599 In the case of an XFig figure, you are able to invoke
8603 on the original file with a single click from within the external material
8604 dialog in LyX, and also preview the produced PostScript file with
8609 No more fiddling around with the command line and/or file browsers to locate
8610 and manipulate the original or produced files.
8611 In this way, you are finally able to take full advantage of the many different
8612 applications that are relevant to use when you write your documents, and
8613 ultimately be more productive.
8616 \begin_layout Standard
8617 \begin_inset Note Note
8620 \begin_layout Standard
8621 This paragraph is outdated
8626 So, all in all, LyX has information about a number of different programs
8627 to use behind the scenes in order to realize all of this machinery.
8628 This information, in fact, is exactly what is contained in the templates.
8629 To each template, there is associated a list of command lines that are
8630 used to invoke applications, convert the original file to the produced
8632 This mechanism allows the advanced user to extend the capabilities of LyX
8633 without fiddling with the source code.
8634 It requires some footwork to define all the different commands and flags,
8635 but luckily, the LyX team did all the hard work and specified these for
8639 \begin_layout Standard
8640 But before the trees grow into the skies, we have to admit that we did take
8642 Since you can produce many different kinds of files to go with each exported
8643 format, one could also expect that it would be possible to preview each
8645 The LyX team decided against this in order to keep the user interface simple.
8646 Instead of providing a button for each exported file format, we decided
8647 to introduce the concept of the primary file format and just have one button.
8657 in the external material dialog, you will get a view of the produced file
8658 in the primary file format.
8659 And the primary file format is specified by your document class.
8660 For most document classes, the primary file format is LaTeX, but for the
8661 DocBook document classes, the primary file format is DocBook.
8662 So, when you view the produced file, keep in mind that it will only be
8663 a preview of what the main result will be.
8664 If you want to see how other exported formats turn out, you have to export
8665 them and preview them by hand.
8668 \begin_layout Section
8669 The external material dialog
8672 \begin_layout Standard
8673 You insert external material from the
8681 When you do this, a button is inserted into your document, and the external
8682 material dialog is shown.
8683 This dialog allows you to describe exactly what material should be included,
8684 and also how it should be included.
8685 Furthermore, it provides access to the external applications to either
8686 view, edit or produce the material that is used in the resulting file.
8689 \begin_layout Standard
8690 \begin_inset Note Note
8693 \begin_layout Standard
8694 This paragraph is outdated
8699 At the top of this dialog, there is a drop-down list where you can chose
8700 which template should be used.
8701 Just below the template drop-down, there's a text area with a short blurb
8702 about the chosen template that should help you use it.
8703 Most often, it will provide a short description of the template, and a
8704 few hints on how to parameterize the use of it.
8705 Further down, you'll find a filename input field along with a
8706 \begin_inset Quotes eld
8710 \begin_inset Quotes erd
8713 button that allows you to chose which file should be included with the
8714 standard file browser.
8715 Thus this field specifies the original file.
8716 Since the produced file is automatically generated when needed, there is
8717 no need to give access to it in the user interface.
8720 \begin_layout Standard
8721 \begin_inset Note Note
8724 \begin_layout Standard
8725 This paragraph is outdated
8730 At the bottom of the dialog, you'll find a general input box called
8735 This box is generally used to parameterize the specific template.
8736 The specific use should be covered in the help blurb associated with the
8737 template, but it typically allows you to define variations on how the produced
8738 file should be generated.
8741 \begin_layout Standard
8742 \begin_inset Note Note
8745 \begin_layout Standard
8746 This paragraph is outdated
8751 At the right side of the dialog, you'll find three buttons:
8779 These in turn allow you to edit your original file with the appropriate
8780 editing application, view the produced file as included in the primary
8781 format document, and finally force an update of the resulting material
8782 in the primary format.
8792 button will be disabled, because most templates are configured to automatically
8793 update the produced file when needed.
8794 In those cases, there is no need to force the production of a new produced
8796 However, some templates are configured to not be automatically producing
8797 the residual product, because the cost of producing the produced file might
8798 be so large that it would be a pain to do it all the time.
8799 Those types are known as
8804 In those cases, you can use the button to force the production of the produced
8805 file exactly when you need it, and thus control the amount of work that
8811 responsibility to do this to keep the produced files current at all times:
8812 before printing, before exporting, before viewing, etc.
8813 At some time in the future, it might be possible that LyX will help you
8814 with this task.Any changes in the template, filename or parameters are actually
8815 applied whenever you press
8840 \begin_layout Section
8844 \begin_layout Standard
8845 In this section, we should include some examples of use of the external
8847 Those examples could include:
8850 \begin_layout Itemize
8851 External raster images
8854 \begin_layout Itemize
8855 External XFig figures
8858 \begin_layout Itemize
8862 \begin_layout Itemize
8866 \begin_layout Itemize
8867 The use of makefiles
8870 \begin_layout Itemize
8871 Recursive external LyX templates
8874 \begin_layout Section
8875 The external template configuration file
8878 \begin_layout Standard
8879 It is relatively easy to add custom external template definitions to LyX.
8880 However, be aware this doing this in an careless manner most probably
8884 introduce an easily exploitable security hole.
8885 So before you do this, please read the discussion about security which
8889 \begin_layout Standard
8890 Having said that, we encourage you to submit any interesting templates that
8895 \begin_layout Standard
8896 The external templates are defined in the
8898 lib/external_templates
8901 You can place your own version in
8903 .lyx/external_templates
8908 \begin_layout Standard
8909 A typical template looks like this:
8912 \begin_layout LyX-Code
8916 \begin_layout LyX-Code
8917 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
8920 \begin_layout LyX-Code
8924 \begin_layout LyX-Code
8928 \begin_layout LyX-Code
8932 \begin_layout LyX-Code
8936 \begin_layout LyX-Code
8940 \begin_layout LyX-Code
8941 AutomaticProduction true
8944 \begin_layout LyX-Code
8948 \begin_layout LyX-Code
8952 \begin_layout LyX-Code
8956 \begin_layout LyX-Code
8957 TransformCommand Rotate RotationLatexCommand
8960 \begin_layout LyX-Code
8961 TransformCommand Resize ResizeLatexCommand
8964 \begin_layout LyX-Code
8965 Product "$$RotateFront$$ResizeFront
8968 \begin_layout LyX-Code
8973 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
8976 \begin_layout LyX-Code
8977 $$ResizeBack$$RotateBack"
8980 \begin_layout LyX-Code
8984 \begin_layout LyX-Code
8985 UpdateResult "$$AbsPath$$Basename.pstex_t"
8988 \begin_layout LyX-Code
8989 Requirement "graphicx"
8992 \begin_layout LyX-Code
8993 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
8996 \begin_layout LyX-Code
8997 ReferencedFile latex "$$AbsPath$$Basename.eps"
9000 \begin_layout LyX-Code
9001 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9004 \begin_layout LyX-Code
9008 \begin_layout LyX-Code
9012 \begin_layout LyX-Code
9013 TransformCommand Rotate RotationLatexCommand
9016 \begin_layout LyX-Code
9017 TransformCommand Resize ResizeLatexCommand
9020 \begin_layout LyX-Code
9021 Product "$$RotateFront$$ResizeFront
9024 \begin_layout LyX-Code
9029 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9032 \begin_layout LyX-Code
9033 $$ResizeBack$$RotateBack"
9036 \begin_layout LyX-Code
9040 \begin_layout LyX-Code
9041 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9044 \begin_layout LyX-Code
9045 Requirement "graphicx"
9048 \begin_layout LyX-Code
9049 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9052 \begin_layout LyX-Code
9053 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9056 \begin_layout LyX-Code
9060 \begin_layout LyX-Code
9064 \begin_layout LyX-Code
9065 Product "$$Contents(
9067 "$$AbsPath$$Basename.asc
9072 \begin_layout LyX-Code
9073 UpdateFormat asciixfig
9076 \begin_layout LyX-Code
9077 UpdateResult "$$AbsPath$$Basename.asc"
9080 \begin_layout LyX-Code
9084 \begin_layout LyX-Code
9088 \begin_layout LyX-Code
9089 Product "<graphic fileref=
9091 "$$AbsOrRelPathMaster$$Basename.eps
9096 \begin_layout LyX-Code
9100 \begin_layout LyX-Code
9104 \begin_layout LyX-Code
9105 UpdateResult "$$AbsPath$$Basename.eps"
9108 \begin_layout LyX-Code
9109 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9112 \begin_layout LyX-Code
9113 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9116 \begin_layout LyX-Code
9120 \begin_layout LyX-Code
9124 \begin_layout LyX-Code
9125 Product "[XFig: $$FName]"
9128 \begin_layout LyX-Code
9132 \begin_layout LyX-Code
9136 \begin_layout Standard
9137 As you can see, the template is enclosed in
9141 \SpecialChar \ldots{}
9147 It contains a header specifying some general settings, and for each supported
9148 primary document file format a section
9152 \SpecialChar \ldots{}
9160 \begin_layout Subsection
9164 \begin_layout Description
9168 Template\InsetSpace ~
9172 A unique name for the template.
9173 It must not contain substitution macros (see below).
9176 \begin_layout Description
9180 GuiName\InsetSpace ~
9184 The text that is displayed on the button.
9185 This command must occur exactly once.
9188 \begin_layout Description
9192 HelpText\InsetSpace ~
9197 The help text that is used in the External dialog.
9198 Provide enough information to explain to the user just what the template
9199 can provide him with.
9200 This command must occur exactly once.
9203 \begin_layout Description
9207 InputFormat\InsetSpace ~
9211 The file format of the original file.
9212 This must be the name of a format that is known to LyX (see the
9217 ools\SpecialChar \menuseparator
9222 references:Conversion
9229 if the template can handle original files of more than one format.
9230 LyX will attempt to interrogate the file itself in order to deduce its
9231 format in this case.
9232 This command must occur exactly once.
9235 \begin_layout Description
9239 FileFilter\InsetSpace ~
9243 A glob pattern that is used in the file dialog to filter out the desired
9245 If there is more than one possible file extension (e.g.\InsetSpace ~
9254 ), use something like
9259 This command must occur exactly once.
9262 \begin_layout Description
9266 AutomaticProduction\InsetSpace ~
9270 Wether the file represented by the template must be generated by LyX.
9271 This command must occur exactly once.
9274 \begin_layout Description
9278 Transform\InsetSpace ~
9279 Rotate|Resize|Clip|Extra
9282 This command specifies which transformations are supported by this template.
9283 It may occur zero or more times.
9284 This command enables the corresponding tabs in the external dialog.
9289 command must have either a corresponding
9302 Otherwise the transformation will not be supported by that format.
9305 \begin_layout Subsection
9309 \begin_layout Description
9314 LaTeX|PDFLaTeX|Ascii|DocBook|LinuxDoc
9317 The primary document file format that this format definition is for.
9318 Not every template has a sensible representation in all document file formats.
9319 Please define nevertheless a
9323 section for all formats.
9324 Use a dummy text when no representation is available (see the LinuxDoc
9325 format in the example above).
9326 Then you can at least see a reference to the external material in the exported
9330 \begin_layout Description
9334 TransformCommand\InsetSpace ~
9336 RotationLatexCommand
9339 This command specifies that the built in LaTeX command should be used for
9341 This command may occur once or not at all.
9344 \begin_layout Description
9348 TransformCommand\InsetSpace ~
9353 This command specifies that the built in LaTeX command should be used for
9355 This command may occur once or not at all.
9358 \begin_layout Description
9362 TransformOption\InsetSpace ~
9367 This command specifies that rotation is done via an optional argument.
9368 This command may occur once or not at all.
9371 \begin_layout Description
9375 TransformOption\InsetSpace ~
9380 This command specifies that resizing is done via an optional argument.
9381 This command may occur once or not at all.
9384 \begin_layout Description
9388 TransformOption\InsetSpace ~
9393 This command specifies that clipping is done via an optional argument.
9394 This command may occur once or not at all.
9397 \begin_layout Description
9401 TransformOption\InsetSpace ~
9406 This command specifies that an extra optional argument is used.
9407 This command may occur once or not at all.
9410 \begin_layout Description
9414 Product\InsetSpace ~
9418 The text that is inserted in the exported document.
9419 This is actually the most important command and can be quite complex.
9420 This command must occur exactly once.
9423 \begin_layout Description
9427 UpdateFormat\InsetSpace ~
9431 The file format of the converted file.
9432 This must be the name of a format that is known to LyX (see the
9437 ools\SpecialChar \menuseparator
9442 references:Conversion
9445 This command must occur exactly once.
9448 \begin_layout Description
9452 UpdateResult\InsetSpace ~
9456 The file name of the converted file.
9457 The file name must be absolute.
9458 This command must occur exactly once.
9461 \begin_layout Description
9465 ReferencedFile\InsetSpace ~
9466 <format>\InsetSpace ~
9470 This command denotes files that are created by the conversion process and
9471 are needed for a particular export format.
9472 If the filename is relative, it is interpreted relative to the master document.
9473 This command may be given zero or more times.
9476 \begin_layout Description
9480 Requirement\InsetSpace ~
9484 The name of a required LaTeX package.
9485 The package is included via
9491 in the LaTeX preamble.
9492 This command may occur zero or more times.
9495 \begin_layout Description
9499 Preamble\InsetSpace ~
9503 This command specifies a preamble snippet that will be included in the
9505 It has to be defined using
9509 \SpecialChar \ldots{}
9515 This command may occur zero or more times.
9518 \begin_layout Description
9527 This command defines an additional macro
9540 itself may contain substitution macros.
9541 The advantage over using
9549 is that the substituted value of
9553 is sanitized so that it is a valid optional argument in the document format.
9554 This command may occur zero or more times.
9557 \begin_layout Subsection
9558 Preamble definitions
9561 \begin_layout Standard
9562 The external template configuration file may contain additional preamble
9563 definitions enclosed by
9567 \SpecialChar \ldots{}
9573 They can be used by the templates in the
9580 \begin_layout Section
9581 The substitution mechanism
9584 \begin_layout Standard
9585 When the external material facility invokes an external program, it is done
9586 on the basis of a command defined in the template configuration file.
9587 These commands can contain various macros that are expanded before execution.
9588 Execution always take place in the directory of the containing document.
9591 \begin_layout Standard
9592 Also, whenever external material is to be displayed, the name will be produced
9593 by the substitution mechanism, and most other commands in the template
9594 definition support substitution as well.
9597 \begin_layout Standard
9598 The available macros are the following:
9601 \begin_layout Description
9602 $$FName The filename of the file specified in the external material dialog.
9603 This is either an absolute name, or it is relative to the LyX document.
9606 \begin_layout Description
9607 $$Basename The filename without path and without the extension.
9610 \begin_layout Description
9611 $$Extension The file extension (including the dot).
9614 \begin_layout Description
9615 $$FPath The path part of
9619 (absolute name or relative to the LyX document).
9622 \begin_layout Description
9623 $$AbsPath The absolute file path.
9626 \begin_layout Description
9627 $$RelPathMaster The file path, relative to the master LyX document.
9630 \begin_layout Description
9631 $$RelPathParent The file path, relative to the LyX document.
9634 \begin_layout Description
9635 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9639 \begin_layout Description
9640 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9643 \begin_layout Description
9644 $$Tempname A name and full path to a temporary file which will be automatically
9645 deleted whenever the containing document is closed, or the external material
9649 \begin_layout Description
9651 \begin_inset Quotes eld
9655 \begin_inset Quotes erd
9658 ) This macro will expand to the contents of the file with the name
9665 \begin_layout Description
9666 $$Sysdir This macro will expand to the absolute path of the system directory.
9667 This is typically used to point to the various helper scripts that are
9671 \begin_layout Standard
9672 All path macros contain a trailing directory separator, so you can construct
9674 the absolute filename with
9676 $$AbsPath$$Basename$$Extension
9681 \begin_layout Standard
9682 The macros above are substituted in all commands unless otherwise noted.
9687 supports additionally the following substitutions if they are enabled by
9699 \begin_layout Description
9700 $$ResizeFront The front part of the resize command.
9703 \begin_layout Description
9704 $$ResizeBack The back part of the resize command.
9707 \begin_layout Description
9708 $$RotateFront The front part of the rotation command.
9711 \begin_layout Description
9712 $$RotateBack The back part of the rotation command.
9715 \begin_layout Standard
9716 The value string of the
9720 command supports additionally the following substitutions if they are enabled
9732 \begin_layout Description
9733 $$Clip The clip option.
9736 \begin_layout Description
9737 $$Extra The extra option.
9740 \begin_layout Description
9741 $$Resize The resize option.
9744 \begin_layout Description
9745 $$Rotate The rotation option.
9748 \begin_layout Standard
9749 You may ask why there are so many path macros.
9750 There are mainly two reasons:
9753 \begin_layout Standard
9754 First, relative and absolute file names should remain relative or absolute,
9756 Users may have reasons to prefer either form.
9757 Relative names are useful for portable documents that should work on different
9758 machines, for example.
9759 Absolute names may be required by some programs.
9762 \begin_layout Standard
9763 Second, LaTeX treats relative file names differently than LyX and other
9764 programs in nested included files.
9765 For LyX, a relative file name is always relative to the document that contains
9767 For LaTeX, it is always relative to the master document.
9768 These two definitions are identical if you have only one document, but
9769 differ if you have a master document that includes part documents.
9770 That means that relative filenames must be transformed when presented to
9772 Fortunately LyX does this automatically for you if you choose the right
9776 \begin_layout Standard
9777 So which path macro should be used in new template definitions? The rule
9781 \begin_layout Itemize
9786 if an absolute path is required.
9789 \begin_layout Itemize
9792 $$AbsOrRelPathMaster
9794 if the substituted string is some kind of LaTeX input.
9797 \begin_layout Itemize
9800 $$AbsOrRelPathParent
9802 in order to preserve the user's choice.
9805 \begin_layout Standard
9806 There are special cases where this rule does not work and e.g.\InsetSpace ~
9808 are needed, but normally it will work just fine.
9809 One example for such a case is the command
9811 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9813 in the XFig template above: We can't use the absolute name because the
9818 files needs the relative name in order to rewrite the file content.
9821 \begin_layout Section
9825 \begin_layout Standard
9826 \begin_inset Note Note
9829 \begin_layout Standard
9830 This section is outdated
9835 The external material feature interfaces with a lot of external programs
9836 and does so automatically, so we have to consider the security implications
9838 In particular, since you have the option of including your own filenames
9839 and/or parameter strings and those are expanded into a command, it seems
9840 that it would be possible to create a malicious document which executes
9841 arbitrary commands when a user views or prints the document.
9842 This is something we definately want to avoid.
9845 \begin_layout Standard
9846 However, since the external program commands are specified in the template
9847 configuration file only, there are no security issues if LyX is properly
9848 configured with safe templates only.
9849 This is so because the external programs are invoked with the
9853 -system call rather than the
9857 system-call, so it's not possible to execute arbitrary commands from the
9858 filename or parameter section via the shell.
9861 \begin_layout Standard
9862 This also implies that you are restricted in what command strings you can
9863 use in the external material templates.
9864 In particular, pipes and redirection are not readily available.
9865 This has to be so if LyX should remain safe.
9866 If you want to use some of the shell features, you should write a safe
9867 script to do this in a controlled manner, and then invoke the script from
9873 directory of the LyX installation, you can find a safe wrapper script
9875 general_command_wrapper.py
9877 that supports redirection of input and output.
9878 That can serve as an example for how to write safe template scripts.
9879 For a more advanced example that uses
9883 and friends, take a look at the
9890 \begin_layout Standard
9891 It is possible to design a template that interacts directly with the shell,
9892 but since this would allow a malicious user to execute arbitrary commands
9893 by writing clever filenames and/or parameters, we generally recommend that
9894 you only use safe scripts that work with the
9898 system call in a controlled manner.
9899 Of course, for use in a controlled environment, it can be tempting to just
9900 fall back to use ordinary shell scripts.
9901 If you do so, be aware that you
9905 provide an easily exploitable security hole in your system.
9906 Of course it stands to reason that such unsafe templates will never be
9907 included in the standard LyX distribution, although we do encourage people
9908 to submit new templates in the open source tradition.
9909 But LyX as shipped from the official distribution channels will never have
9913 \begin_layout Standard
9914 Including external material provides a lot of power, and you have to be
9915 careful not to introduce security hazards with this power.
9916 A subtle error in a single line in an innocent looking script can open
9917 the door to huge security problems.
9918 So if you do not fully understand the issues, we recommend that you consult
9919 a knowledgable security professional or the LyX development team if you
9920 have any questions about whether a given template is safe or not.
9921 And do this before you use it in an uncontrolled environment.
9924 \begin_layout Chapter
9928 \begin_layout Section
9932 \begin_layout Standard
9933 The LyX server is a method implemented in LyX that will enable other programs
9934 to talk to LyX, invoke LyX commands, and retrieve information about the
9936 This is only intended for advanced users, but they should find it useful.
9939 \begin_layout Section
9940 Starting the LyX Server
9943 \begin_layout Standard
9944 The LyX server works through the use of a pair of named pipes.
9945 These are usually located in your home directory and have the names
9946 \begin_inset Quotes eld
9954 \begin_inset Quotes erd
9958 \begin_inset Quotes eld
9966 \begin_inset Quotes erd
9970 External programs write into
9974 and read back data from
9979 The stem of the pipe names can be defined in the
9984 ools\SpecialChar \menuseparator
9993 "/home/myhome/.lyxpipe"
9998 \begin_layout Standard
10007 ' to create the pipes.
10008 The above setting also has the effect of activating the LyX server.
10009 If one of the pipes already exists, LyX will assume that another LyX process
10010 is already running and will not start the server.
10011 To have several LyX processes with servers at the same time, you have to
10012 change the configuration between the start of the programs.
10015 \begin_layout Standard
10016 If you are developing a client program, you might find it useful to enable
10017 debugging information from the LyX server.
10018 Do this by starting LyX as
10020 lyx -dbg lyxserver.
10023 \begin_layout Standard
10024 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10025 case you must remove them manually.
10026 If LyX starts and the pipes exist already, it will not start any server.
10029 \begin_layout Standard
10030 Other than this, there are a few points to consider:
10033 \begin_layout Itemize
10034 Both server and clients must run on UNIX or OS/2 machines.
10035 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10036 not possible right now.
10039 \begin_layout Itemize
10040 On OS/2, only one client can connect to LyXServer at a time.
10043 \begin_layout Itemize
10044 On OS/2, clients must open inpipe with
10051 \begin_layout Standard
10052 You can find a complete example client written in C in the source distribution
10055 development/server_monitor.c
10060 \begin_layout Section
10061 Normal communication
10064 \begin_layout Standard
10065 To issue a LyX call, the client writes a line of ASCII text into the input
10067 This line has the following format:
10070 \begin_layout Quote
10084 \begin_layout Standard
10089 is a name that the client can choose arbitrarily.
10090 Its only use is that LyX will echo it if it sends an answer - so a client
10091 can dispatch results from different requesters.
10094 \begin_layout Standard
10099 is the function you want LyX to perform.
10100 It is the same as the commands you'd use in the minibuffer.
10103 \begin_layout Standard
10108 is an optional argument which is meaningful only to some functions (for
10110 \begin_inset Quotes eld
10114 \begin_inset Quotes erd
10117 which will insert the argument as text at the cursor position.)
10120 \begin_layout Standard
10121 The answer from LyX will arrive in the output pipe and be of the form
10124 \begin_layout Quote
10138 \begin_layout Standard
10147 are just echoed from the command request, while
10151 is more or less useful information filled according to how the command
10152 execution worked out.
10153 Some commands will return information about the internal state of LyX,
10155 \begin_inset Quotes eld
10159 \begin_inset Quotes erd
10162 , while other will return an empty data-response.
10163 This means that the command execution went fine.
10166 \begin_layout Standard
10167 In case of errors, the response from LyX will have this form
10170 \begin_layout Quote
10184 \begin_layout Standard
10189 should contain an explanation of why the command failed.
10192 \begin_layout Standard
10196 \begin_layout LyX-Code
10197 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10200 \begin_layout LyX-Code
10201 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10203 read a <~/.lyxpipe.out
10208 \begin_layout Section
10212 \begin_layout Standard
10213 LyX can notify clients of events going on asynchronously.
10214 Currently it will only do this if the user binds a key sequence with the
10216 \begin_inset Quotes eld
10220 \begin_inset Quotes erd
10224 The format of the string LyX sends is as follows:
10227 \begin_layout Quote
10236 \begin_layout Standard
10241 is the printed representation of the key sequence that was actually typed
10245 \begin_layout Standard
10246 This mechanism can be used to extend LyX's command set and implement macros:
10247 bind some key sequence to
10248 \begin_inset Quotes eld
10252 \begin_inset Quotes erd
10255 , start a client that listens on the out pipe, dispatches the command according
10256 to the sequence and starts a function that may use LyX calls and LyX requests
10257 to issue a command or a series of commands to LyX.
10260 \begin_layout Section
10261 The simple LyX Server Protocol
10264 \begin_layout Standard
10265 LyX implements a simple protocol that can be used for session management.
10266 All messages are of the form
10269 \begin_layout Quote
10279 \begin_layout Standard
10285 \begin_inset Quotes eld
10289 \begin_inset Quotes erd
10293 \begin_inset Quotes eld
10297 \begin_inset Quotes erd
10302 \begin_inset Quotes eld
10306 \begin_inset Quotes erd
10309 is received from a client, LyX will report back to inform the client that
10310 it's listening to it's messages, while
10311 \begin_inset Quotes eld
10315 \begin_inset Quotes erd
10318 sent from LyX will inform clients that LyX is closing.
10321 \begin_layout Chapter
10326 \begin_layout Standard
10327 This appendix is a huge cross-reference to all the English language keybindings.
10328 Originally, we simply wanted to list all of the key bindings followed by
10329 the function it's bound to.
10330 That way, a user can look up a key to find out what it does.
10331 We then decided, what the hey, why not include the default toolbar and
10332 menu bindings, too.
10333 Please note this section is likely to be very out of date.
10336 \begin_layout Standard
10337 The form is really self-explanatory, but here are a few tips: all entries
10338 are arranged roughly alphabetically for a given modifier (
10347 For the general keyboard layout, simpler prefixes precede the more complex
10357 All entries were gleaned from the default user interface and binding files
10358 located in the directories
10360 \SpecialChar \ldots{}
10365 \SpecialChar \ldots{}
10368 ; they should be treated as the final word on the bindings.
10371 \begin_layout Standard
10372 As a final note, be aware that some window managers (such as FVWM) take
10373 control of some of the function keys or motion keys.
10378 is listed here as generating
10382 , but FVWM grabs it and uses it to change virtual desktops instead.
10383 Very annoying unless you instruct your window manager to stop intercepting
10387 \begin_layout Section
10391 \begin_layout LyX-Code
10395 \begin_layout LyX-Code
10399 \begin_layout LyX-Code
10403 \begin_layout LyX-Code
10404 Icon "buffer-write"
10407 \begin_layout LyX-Code
10408 Icon "buffer-print"
10411 \begin_layout LyX-Code
10415 \begin_layout LyX-Code
10419 \begin_layout LyX-Code
10423 \begin_layout LyX-Code
10427 \begin_layout LyX-Code
10431 \begin_layout LyX-Code
10435 \begin_layout LyX-Code
10439 \begin_layout LyX-Code
10443 \begin_layout LyX-Code
10447 \begin_layout LyX-Code
10451 \begin_layout LyX-Code
10455 \begin_layout LyX-Code
10459 \begin_layout LyX-Code
10460 Icon "footnote-insert"
10463 \begin_layout LyX-Code
10464 Icon "marginpar-insert"
10467 \begin_layout LyX-Code
10471 \begin_layout LyX-Code
10475 \begin_layout LyX-Code
10476 Icon "figure-insert"
10479 \begin_layout LyX-Code
10480 Icon "dialog-tabular-insert"
10483 \begin_layout LyX-Code
10487 \begin_layout Section
10491 \begin_layout Subsection
10496 \labelwidthstring 00.00.0000
10506 \labelwidthstring 00.00.0000
10518 \labelwidthstring 00.00.0000
10530 \labelwidthstring 00.00.0000
10544 \labelwidthstring 00.00.0000
10554 \labelwidthstring 00.00.0000
10568 \labelwidthstring 00.00.0000
10578 \labelwidthstring 00.00.0000
10590 \labelwidthstring 00.00.0000
10602 \labelwidthstring 00.00.0000
10614 \labelwidthstring 00.00.0000
10620 buffer-new-template
10624 \labelwidthstring 00.00.0000
10637 \labelwidthstring 00.00.0000
10646 \labelwidthstring 00.00.0000
10655 \labelwidthstring 00.00.0000
10664 \labelwidthstring 00.00.0000
10673 \labelwidthstring 00.00.0000
10682 \labelwidthstring 00.00.0000
10692 \labelwidthstring 00.00.0000
10701 \begin_layout Subsection
10706 \labelwidthstring 00.00.0000
10718 \labelwidthstring 00.00.0000
10730 \labelwidthstring 00.00.0000
10742 \labelwidthstring 00.00.0000
10754 \labelwidthstring 00.00.0000
10766 \labelwidthstring 00.00.0000
10778 \labelwidthstring 00.00.0000
10793 \labelwidthstring 00.00.0000
10800 tabular-feature append-row
10804 \labelwidthstring 00.00.0000
10811 tabular-feature toggle-line-bottom
10815 \labelwidthstring 00.00.0000
10822 tabular-feature align-center
10826 \labelwidthstring 00.00.0000
10833 tabular-feature delete-column
10837 \labelwidthstring 00.00.0000
10844 tabular-feature align-left
10848 \labelwidthstring 00.00.0000
10855 tabular-feature align-right
10859 \labelwidthstring 00.00.0000
10866 tabular-feature toggle-line-left
10870 \labelwidthstring 00.00.0000
10877 tabular-feature multicolumn
10881 \labelwidthstring 00.00.0000
10888 tabular-feature valign-center
10892 \labelwidthstring 00.00.0000
10899 tabular-feature valign-top
10903 \labelwidthstring 00.00.0000
10910 tabular-feature toggle-line-right
10914 \labelwidthstring 00.00.0000
10921 tabular-feature toggle-line-top
10925 \labelwidthstring 00.00.0000
10932 tabular-feature append-column
10936 \labelwidthstring 00.00.0000
10943 tabular-feature valign-bottom
10947 \labelwidthstring 00.00.0000
10954 tabular-feature delete-row
10959 \labelwidthstring 00.00.0000
10972 \labelwidthstring 00.00.0000
10977 floats-operate openfoot
10981 \labelwidthstring 00.00.0000
10986 floats-operate closefoot
10990 \labelwidthstring 00.00.0000
10995 floats-operate openfig
10999 \labelwidthstring 00.00.0000
11008 \labelwidthstring 00.00.0000
11017 \labelwidthstring 00.00.0000
11022 floats-operate closefig
11027 \labelwidthstring 00.00.0000
11039 \labelwidthstring 00.00.0000
11053 \labelwidthstring 00.00.0000
11065 \labelwidthstring 00.00.0000
11077 \labelwidthstring 00.00.0000
11091 \labelwidthstring 00.00.0000
11101 \labelwidthstring 00.00.0000
11114 \labelwidthstring 00.00.0000
11121 primary-selection-paste
11125 \labelwidthstring 00.00.0000
11132 primary-selection-paste paragraph
11136 \begin_layout Subsection
11141 \labelwidthstring 00.00.0000
11156 \labelwidthstring 00.00.0000
11163 buffer-float-insert algorithm
11167 \labelwidthstring 00.00.0000
11174 buffer-float-insert wide-tab
11178 \labelwidthstring 00.00.0000
11185 buffer-float-insert figure
11189 \labelwidthstring 00.00.0000
11196 buffer-float-insert table
11200 \labelwidthstring 00.00.0000
11207 buffer-float-insert wide-fig
11212 \labelwidthstring 00.00.0000
11220 dialog-tabular-insert
11224 \labelwidthstring 00.00.0000
11236 \labelwidthstring 00.00.0000
11248 \labelwidthstring 00.00.0000
11256 buffer-child-insert
11260 \labelwidthstring 00.00.0000
11272 \labelwidthstring 00.00.0000
11284 \labelwidthstring 00.00.0000
11296 \labelwidthstring 00.00.0000
11308 \labelwidthstring 00.00.0000
11320 \labelwidthstring 00.00.0000
11332 \labelwidthstring 00.00.0000
11344 \labelwidthstring 00.00.0000
11359 \labelwidthstring 00.00.0000
11370 \labelwidthstring 00.00.0000
11381 \labelwidthstring 00.00.0000
11392 \labelwidthstring 00.00.0000
11403 \labelwidthstring 00.00.0000
11414 \labelwidthstring 00.00.0000
11426 \labelwidthstring 00.00.0000
11438 \labelwidthstring 00.00.0000
11453 \labelwidthstring 00.00.0000
11460 protected-space-insert
11464 \labelwidthstring 00.00.0000
11471 end-of-sentence-period-insert
11475 \labelwidthstring 00.00.0000
11486 \labelwidthstring 00.00.0000
11497 \labelwidthstring 00.00.0000
11508 \labelwidthstring 00.00.0000
11515 menu-separator-insert
11519 \labelwidthstring 00.00.0000
11526 hyphenation-point-insert
11530 \labelwidthstring 00.00.0000
11541 \labelwidthstring 00.00.0000
11548 command-sequence math-insert ^;math-mode;
11552 \labelwidthstring 00.00.0000
11559 command-sequence math-insert _;math-mode;
11564 \labelwidthstring 00.00.0000
11579 \labelwidthstring 00.00.0000
11586 file-insert-ascii lines
11590 \labelwidthstring 00.00.0000
11597 file-insert-ascii paragraphs
11601 \labelwidthstring 00.00.0000
11613 \labelwidthstring 00.00.0000
11625 \labelwidthstring 00.00.0000
11637 \labelwidthstring 00.00.0000
11648 \begin_layout Subsection
11653 \labelwidthstring 00.00.0000
11665 \labelwidthstring 00.00.0000
11677 \labelwidthstring 00.00.0000
11689 \labelwidthstring 00.00.0000
11701 \labelwidthstring 00.00.0000
11713 \labelwidthstring 00.00.0000
11725 \labelwidthstring 00.00.0000
11737 \labelwidthstring 00.00.0000
11749 \labelwidthstring 00.00.0000
11757 layout-save-default
11761 \labelwidthstring 00.00.0000
11773 \labelwidthstring 00.00.0000
11785 \labelwidthstring 00.00.0000
11796 \begin_layout Subsubsection
11799 ayout\SpecialChar \menuseparator
11806 \labelwidthstring 00.00.0000
11816 \labelwidthstring 00.00.0000
11826 \labelwidthstring 00.00.0000
11836 \labelwidthstring 00.00.0000
11846 \labelwidthstring 00.00.0000
11858 \labelwidthstring 00.00.0000
11868 \labelwidthstring 00.00.0000
11878 \labelwidthstring 00.00.0000
11888 \labelwidthstring 00.00.0000
11898 \labelwidthstring 00.00.0000
11908 \labelwidthstring 00.00.0000
11918 \labelwidthstring 00.00.0000
11928 \labelwidthstring 00.00.0000
11938 \labelwidthstring 00.00.0000
11948 \labelwidthstring 00.00.0000
11960 \labelwidthstring 00.00.0000
11972 \labelwidthstring 00.00.0000
11984 \labelwidthstring 00.00.0000
11996 \labelwidthstring 00.00.0000
12006 \labelwidthstring 00.00.0000
12018 \labelwidthstring 00.00.0000
12030 \labelwidthstring 00.00.0000
12040 \labelwidthstring 00.00.0000
12052 \labelwidthstring 00.00.0000
12064 \labelwidthstring 00.00.0000
12076 \labelwidthstring 00.00.0000
12088 \labelwidthstring 00.00.0000
12098 \labelwidthstring 00.00.0000
12108 \labelwidthstring 00.00.0000
12120 \labelwidthstring 00.00.0000
12132 \labelwidthstring 00.00.0000
12144 \labelwidthstring 00.00.0000
12154 \labelwidthstring 00.00.0000
12163 \begin_layout Subsection
12167 \begin_layout Subsection
12171 \begin_layout Subsection
12175 \begin_layout Subsection
12180 \labelwidthstring 00.00.0000
12192 \labelwidthstring 00.00.0000
12204 \labelwidthstring 00.00.0000
12216 \labelwidthstring 00.00.0000
12228 \labelwidthstring 00.00.0000
12240 \labelwidthstring 00.00.0000
12248 layout ShortFoilhead
12252 \labelwidthstring 00.00.0000
12264 \labelwidthstring 00.00.0000
12276 \labelwidthstring 00.00.0000
12288 \labelwidthstring 00.00.0000
12300 \labelwidthstring 00.00.0000
12308 layout ShortRotatefoilhead
12312 \labelwidthstring 00.00.0000
12324 \labelwidthstring 00.00.0000
12336 \labelwidthstring 00.00.0000
12348 \labelwidthstring 00.00.0000
12356 drop-layouts-choice
12360 \labelwidthstring 00.00.0000
12375 \labelwidthstring 00.00.0000
12390 \labelwidthstring 00.00.0000
12402 \labelwidthstring 00.00.0000
12414 \labelwidthstring 00.00.0000
12422 layout Subsubsection
12426 \labelwidthstring 00.00.0000
12438 \labelwidthstring 00.00.0000
12446 layout Subparagraph
12450 \labelwidthstring 00.00.0000
12454 asterisk\InsetSpace ~
12463 \labelwidthstring 00.00.0000
12467 asterisk\InsetSpace ~
12476 \labelwidthstring 00.00.0000
12480 asterisk\InsetSpace ~
12489 \labelwidthstring 00.00.0000
12493 asterisk\InsetSpace ~
12502 \labelwidthstring 00.00.0000
12506 asterisk\InsetSpace ~
12511 layout Subsubsection*
12515 \labelwidthstring 00.00.0000
12519 asterisk\InsetSpace ~
12528 \labelwidthstring 00.00.0000
12532 asterisk\InsetSpace ~
12537 layout Subparagraph*
12541 \labelwidthstring 00.00.0000
12553 \labelwidthstring 00.00.0000
12561 layout Bibliography
12565 \labelwidthstring 00.00.0000
12577 \labelwidthstring 00.00.0000
12589 \labelwidthstring 00.00.0000
12601 \labelwidthstring 00.00.0000
12613 \labelwidthstring 00.00.0000
12625 \labelwidthstring 00.00.0000
12633 layout Rotatefoilhead
12637 \labelwidthstring 00.00.0000
12645 layout RightAddress
12649 \labelwidthstring 00.00.0000
12661 \labelwidthstring 00.00.0000
12673 \labelwidthstring 00.00.0000
12685 \labelwidthstring 00.00.0000
12696 \begin_layout Standard
12697 These ones are kept for backwards compatibility, but only make sense on
12702 \labelwidthstring 00.00.0000
12714 \labelwidthstring 00.00.0000
12722 layout Subsubsection*
12726 \labelwidthstring 00.00.0000
12737 \begin_layout Section
12741 \begin_layout Subsection
12748 \labelwidthstring 00.00.0000
12759 \labelwidthstring 00.00.0000
12770 \labelwidthstring 00.00.0000
12781 \labelwidthstring 00.00.0000
12792 \labelwidthstring 00.00.0000
12803 \labelwidthstring 00.00.0000
12814 \labelwidthstring 00.00.0000
12821 hyphenation-point-insert
12825 \labelwidthstring 00.00.0000
12836 \labelwidthstring 00.00.0000
12843 line-delete-forward
12847 \labelwidthstring 00.00.0000
12858 \labelwidthstring 00.00.0000
12869 \labelwidthstring 00.00.0000
12880 \labelwidthstring 00.00.0000
12891 \labelwidthstring 00.00.0000
12902 \labelwidthstring 00.00.0000
12911 \labelwidthstring 00.00.0000
12922 \labelwidthstring 00.00.0000
12933 \labelwidthstring 00.00.0000
12944 \labelwidthstring 00.00.0000
12955 \labelwidthstring 00.00.0000
12966 \labelwidthstring 00.00.0000
12977 \labelwidthstring 00.00.0000
12989 \labelwidthstring 00.00.0000
13001 \labelwidthstring 00.00.0000
13013 \labelwidthstring 00.00.0000
13025 \labelwidthstring 00.00.0000
13038 \labelwidthstring 00.00.0000
13050 \labelwidthstring 00.00.0000
13062 \labelwidthstring 00.00.0000
13074 \labelwidthstring 00.00.0000
13086 \labelwidthstring 00.00.0000
13099 \labelwidthstring 00.00.0000
13111 \labelwidthstring 00.00.0000
13123 \labelwidthstring 00.00.0000
13136 \labelwidthstring 00.00.0000
13149 \labelwidthstring 00.00.0000
13162 \labelwidthstring 00.00.0000
13175 \labelwidthstring 00.00.0000
13188 \labelwidthstring 00.00.0000
13201 \labelwidthstring 00.00.0000
13213 \labelwidthstring 00.00.0000
13225 \labelwidthstring 00.00.0000
13237 \labelwidthstring 00.00.0000
13245 menu-open Documents
13249 \labelwidthstring 00.00.0000
13261 \labelwidthstring 00.00.0000
13273 \labelwidthstring 00.00.0000
13285 \labelwidthstring 00.00.0000
13297 \labelwidthstring 00.00.0000
13309 \labelwidthstring 00.00.0000
13317 buffer-toggle-read-only
13321 \labelwidthstring 00.00.0000
13333 \labelwidthstring 00.00.0000
13345 \labelwidthstring 00.00.0000
13357 \labelwidthstring 00.00.0000
13368 \labelwidthstring 00.00.0000
13379 \labelwidthstring 00.00.0000
13390 \labelwidthstring 00.00.0000
13401 \labelwidthstring 00.00.0000
13412 \labelwidthstring 00.00.0000
13423 \labelwidthstring 00.00.0000
13434 \labelwidthstring 00.00.0000
13445 \labelwidthstring 00.00.0000
13456 \labelwidthstring 00.00.0000
13467 \labelwidthstring 00.00.0000
13478 \labelwidthstring 00.00.0000
13489 \labelwidthstring 00.00.0000
13500 \labelwidthstring 00.00.0000
13511 \labelwidthstring 00.00.0000
13518 word-delete-forward
13522 \labelwidthstring 00.00.0000
13529 word-delete-backward
13533 \labelwidthstring 00.00.0000
13544 \labelwidthstring 00.00.0000
13551 end-of-sentence-period-insert
13555 \labelwidthstring 00.00.0000
13562 protected-space-insert
13566 \labelwidthstring 00.00.0000
13577 \labelwidthstring 00.00.0000
13588 \labelwidthstring 00.00.0000
13599 \labelwidthstring 00.00.0000
13610 \labelwidthstring 00.00.0000
13621 \labelwidthstring 00.00.0000
13632 \labelwidthstring 00.00.0000
13639 buffer-begin-select
13643 \labelwidthstring 00.00.0000
13654 \labelwidthstring 00.00.0000
13661 paragraph-up-select
13665 \labelwidthstring 00.00.0000
13672 paragraph-down-select
13676 \labelwidthstring 00.00.0000
13683 word-backward-select
13687 \labelwidthstring 00.00.0000
13694 word-forward-select
13698 \labelwidthstring 00.00.0000
13709 \labelwidthstring 00.00.0000
13716 word-delete-forward
13720 \labelwidthstring 00.00.0000
13731 \labelwidthstring 00.00.0000
13742 \labelwidthstring 00.00.0000
13753 \labelwidthstring 00.00.0000
13764 \labelwidthstring 00.00.0000
13771 break-paragraph-keep-layout
13775 \labelwidthstring 00.00.0000
13783 \begin_layout Subsection
13790 \labelwidthstring 00.00.0000
13801 \labelwidthstring 00.00.0000
13812 \labelwidthstring 00.00.0000
13823 \labelwidthstring 00.00.0000
13834 \labelwidthstring 00.00.0000
13845 \labelwidthstring 00.00.0000
13856 \labelwidthstring 00.00.0000
13867 \labelwidthstring 00.00.0000
13878 \labelwidthstring 00.00.0000
13889 \labelwidthstring 00.00.0000
13900 \labelwidthstring 00.00.0000
13911 \labelwidthstring 00.00.0000
13922 \labelwidthstring 00.00.0000
13933 \labelwidthstring 00.00.0000
13944 \labelwidthstring 00.00.0000
13955 \labelwidthstring 00.00.0000
13966 \labelwidthstring 00.00.0000
13977 \labelwidthstring 00.00.0000
13988 \labelwidthstring 00.00.0000
13999 \labelwidthstring 00.00.0000
14010 \labelwidthstring 00.00.0000
14021 \labelwidthstring 00.00.0000
14032 \labelwidthstring 00.00.0000
14039 protected-space-insert
14043 \labelwidthstring 00.00.0000
14054 \labelwidthstring 00.00.0000
14065 \labelwidthstring 00.00.0000
14076 \labelwidthstring 00.00.0000
14083 buffer-new-template
14087 \labelwidthstring 00.00.0000
14098 \labelwidthstring 00.00.0000
14109 \labelwidthstring 00.00.0000
14120 \labelwidthstring 00.00.0000
14131 \labelwidthstring 00.00.0000
14142 \labelwidthstring 00.00.0000
14153 \labelwidthstring 00.00.0000
14164 \labelwidthstring 00.00.0000
14171 end-of-sentence-period-insert
14175 \labelwidthstring 00.00.0000
14186 \labelwidthstring 00.00.0000
14197 \labelwidthstring 00.00.0000
14204 hyphenation-point-insert
14208 \labelwidthstring 00.00.0000
14219 \labelwidthstring 00.00.0000
14226 protected-space-insert
14230 \labelwidthstring 00.00.0000
14241 \labelwidthstring 00.00.0000
14252 \labelwidthstring 00.00.0000
14263 \labelwidthstring 00.00.0000
14274 \labelwidthstring 00.00.0000
14285 \labelwidthstring 00.00.0000
14296 \labelwidthstring 00.00.0000
14307 \labelwidthstring 00.00.0000
14318 \labelwidthstring 00.00.0000
14329 \labelwidthstring 00.00.0000
14340 \labelwidthstring 00.00.0000
14351 \labelwidthstring 00.00.0000
14362 \labelwidthstring 00.00.0000
14373 \labelwidthstring 00.00.0000
14384 \labelwidthstring 00.00.0000
14395 \labelwidthstring 00.00.0000
14402 word-delete-forward
14406 \labelwidthstring 00.00.0000
14413 word-delete-backward
14417 \labelwidthstring 00.00.0000
14428 \labelwidthstring 00.00.0000
14439 \labelwidthstring 00.00.0000
14450 \labelwidthstring 00.00.0000
14461 \labelwidthstring 00.00.0000
14468 paragraph-down-select
14472 \labelwidthstring 00.00.0000
14483 \labelwidthstring 00.00.0000
14490 buffer-begin-select
14494 \labelwidthstring 00.00.0000
14501 word-backward-select
14505 \labelwidthstring 00.00.0000
14512 word-forward-select
14516 \labelwidthstring 00.00.0000
14523 paragraph-up-select
14527 \labelwidthstring 00.00.0000
14538 \labelwidthstring 00.00.0000
14545 break-paragraph-keep-layout
14549 \labelwidthstring 00.00.0000
14560 \labelwidthstring 00.00.0000
14571 \labelwidthstring 00.00.0000
14582 \labelwidthstring 00.00.0000
14593 \labelwidthstring 00.00.0000
14604 \labelwidthstring 00.00.0000
14613 \labelwidthstring 00.00.0000
14624 \labelwidthstring 00.00.0000
14635 \labelwidthstring 00.00.0000
14646 \labelwidthstring 00.00.0000
14657 \labelwidthstring 00.00.0000
14667 \begin_layout Subsection
14673 \begin_layout Standard
14674 These are LyX keyboard definitions for mathematics, similar to those of
14678 \begin_layout Standard
14679 The bindings file and the present documentation were prepared by Serge Winitzki
14680 with assistance from Jean-Marc Lasgouttes.
14681 Version 1.3, for LyX 1.2.x and 1.3.x.
14684 \begin_layout Standard
14685 These definitions make it a lot easier to type equations without using the
14686 mouse, especially for people familiar with Scientific Word.
14687 The standard LyX bindings such as
14698 \begin_layout Standard
14699 Tip: to find the "LyX bind name" for a key, look at the status bar after
14700 typing some non-existent key combination.
14702 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
14703 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
14707 \labelwidthstring 00.00.0000
14716 -- Copy, cut, paste is as in Sciword,
14732 \labelwidthstring 00.00.0000
14741 -- Display equation toggle: type
14745 to insert a displayed formula (
14750 \begin_inset Quotes eld
14754 \begin_inset Quotes erd
14762 in a displayed formula to convert it back to an inline formula.
14766 \labelwidthstring 00.00.0000
14781 to insert a fraction (
14786 \begin_inset Quotes eld
14790 \begin_inset Quotes erd
14794 You can also select an expression and type
14798 to convert it to the numerator of a fraction.
14807 end of the denominator will delete the numerator and convert the denominator
14812 \labelwidthstring 00.00.0000
14824 \begin_inset Formula $\int$
14832 \begin_inset Quotes eld
14836 \begin_inset Quotes erd
14843 \labelwidthstring 00.00.0000
14850 line-delete-forward
14852 -- Emacs-like binding: delete forward of cursor to end of line.
14856 \labelwidthstring 00.00.0000
14865 -- A text/math toggle (
14870 \begin_inset Quotes eld
14874 \begin_inset Quotes erd
14877 ): switches to math in text mode, and also inserts roman text in math mode.
14887 \begin_inset Quotes eld
14891 \begin_inset Quotes erd
14898 \labelwidthstring 00.00.0000
14907 -- Add/remove numbering in a single equation.
14911 \labelwidthstring 00.00.0000
14920 -- Add/remove numbering at a line in equation arrays.
14923 \begin_layout Standard
14924 The above commands are toggles that control the numbering of equations (
14929 \begin_inset Quotes eld
14933 \begin_inset Quotes erd
14937 Note: when deleting a number in a labeled eqnarray, the label is not really
14938 removed (the TeX code becomes
14939 \begin_inset Quotes eld
14951 \begin_inset Quotes erd
14954 ) and this generates a (harmless) LaTeX warning.
14958 \labelwidthstring 00.00.0000
14967 -- Open a new document.
14972 \labelwidthstring 00.00.0000
14981 -- Insert a quote character " (
14986 \begin_inset Quotes eld
14990 \begin_inset Quotes erd
14995 \begin_inset Quotes eld
14999 \begin_inset Quotes erd
15002 double quote character that you get by default.
15006 \labelwidthstring 00.00.0000
15017 -- Square root sign
15018 \begin_inset Formula $\sqrt{x}$
15026 \begin_inset Quotes eld
15030 \begin_inset Quotes erd
15037 \labelwidthstring 00.00.0000
15049 \begin_inset Formula $\sqrt[n]{x}$
15056 \labelwidthstring 00.00.0000
15065 -- Another binding for a switch between the text and the math mode (
15070 \begin_inset Quotes eld
15074 \begin_inset Quotes erd
15078 Note that the roman text inserted in math mode is special.
15082 \labelwidthstring 00.00.0000
15095 the selected text (text mode only, use things like
15111 \labelwidthstring 00.00.0000
15120 -- W*ndows heritage.
15124 \labelwidthstring 00.00.0000
15133 -- Close the current document (again, a W*ndows heritage).
15137 \labelwidthstring 00.00.0000
15148 \labelwidthstring 00.00.0000
15159 \labelwidthstring 00.00.0000
15169 \begin_inset Quotes eld
15173 \begin_inset Quotes erd
15177 \begin_inset Quotes eld
15181 \begin_inset Quotes erd
15187 \begin_layout Standard
15188 Bracket delimiters: press
15192 -<bracket key> to insert a matching pair of delimiters.
15197 inserts a pair of parentheses
15198 \begin_inset Formula $\left[\right]$
15206 does the same thing.) It will switch to math mode if needed.
15207 The supported characters are ( [ { < |.
15208 It is the same to press the right or the left bracket.
15209 The corresponding delimiters are
15210 \begin_inset Formula $\left(\right)$
15214 \begin_inset Formula $\left[\right]$
15218 \begin_inset Formula $\left\{ \right\} $
15222 \begin_inset Formula $\left\langle \right\rangle $
15226 \begin_inset Formula $\left|\right|$
15231 \begin_inset Quotes eld
15235 \begin_inset Quotes erd
15238 and resize with their contents.
15239 Use Math Panel to get other or non-matching delimiters.
15240 Press backspace on the
15244 delimiter to remove both
15245 \begin_inset Quotes eld
15249 \begin_inset Quotes erd
15252 delimiters without removing their contents.
15256 \labelwidthstring 00.00.0000
15265 -- for convenience, pressing
15279 \labelwidthstring 00.00.0000
15290 \labelwidthstring 00.00.0000
15301 \labelwidthstring 00.00.0000
15312 \labelwidthstring 00.00.0000
15323 \labelwidthstring 00.00.0000
15334 \labelwidthstring 00.00.0000
15341 math-delim langle rangle
15343 -- angular delimiters
15344 \begin_inset Formula $\left\langle \right\rangle $
15347 , not to confuse with ordinary < > signs.
15351 \labelwidthstring 00.00.0000
15358 math-delim langle rangle
15361 \begin_layout Standard
15362 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15363 some British ones), the bar character
15368 -something and on some wayward Unices to "brokenbar".
15369 So we define all of these keys as well.
15373 \labelwidthstring 00.00.0000
15384 \labelwidthstring 00.00.0000
15395 \labelwidthstring 00.00.0000
15406 \labelwidthstring 00.00.0000
15417 \labelwidthstring 00.00.0000
15427 \begin_layout Standard
15428 Accents are in most cases
15432 -<accent key>, e.g.\InsetSpace ~
15446 for tilde (you also need to press
15452 \begin_inset Quotes eld
15464 \begin_inset Quotes erd
15468 Some accents work only in math mode and others only in text mode.
15472 \labelwidthstring 00.00.0000
15481 -- overdot accent, \i \.{a}
15486 \labelwidthstring 00.00.0000
15498 \begin_inset Formula $\dot{a}$
15501 (math mode only -- in physics this denotes a first derivative).
15505 \labelwidthstring 00.00.0000
15516 -- Vector accent over math
15517 \begin_inset Formula $\overrightarrow{x}$
15524 \labelwidthstring 00.00.0000
15533 -- umlaut accent, ä (text mode only)
15537 \labelwidthstring 00.00.0000
15548 -- double dot accent,
15549 \begin_inset Formula $\ddot{a}$
15552 (math mode only -- in physics this denotes a second derivative).
15553 To get a triple dot in math mode, use
15561 \labelwidthstring 00.00.0000
15570 -- grave accent à (text mode only, use
15580 \labelwidthstring 00.00.0000
15589 -- tilde accent ã (text mode only, use
15599 \labelwidthstring 00.00.0000
15608 -- acute accent á (text mode only, use
15618 \labelwidthstring 00.00.0000
15627 -- circumflex (caret) accent â (text mode only, use
15636 \begin_layout Standard
15638 The new key S-F2 for creating a LaTeX file seems handy.
15642 \labelwidthstring 00.00.0000
15651 -- Save current document.
15655 \labelwidthstring 00.00.0000
15662 buffer-export latex
15664 -- Write a LaTeX file for the current document.
15668 \labelwidthstring 00.00.0000
15677 -- Find and replace dialog.
15681 \labelwidthstring 00.00.0000
15698 \labelwidthstring 00.00.0000
15711 to quit LyX is the W*ndows w*ndow manager's mnemonic.
15714 \begin_layout Standard
15723 are used to switch fonts.
15728 to switch back to the normal font.
15729 The non-default font switches
15737 all work as toggles.
15738 They also work on the whole word if you put the cursor in the middle of
15739 the word, or if you select some text.
15743 \labelwidthstring 00.00.0000
15752 -- stop using any special font
15756 \labelwidthstring 00.00.0000
15773 \labelwidthstring 00.00.0000
15790 \labelwidthstring 00.00.0000
15807 \labelwidthstring 00.00.0000
15821 (Used sometimes for people's names.)
15824 \begin_layout Standard
15830 \begin_inset Quotes eld
15834 \begin_inset Quotes erd
15841 key (useful e.g.\InsetSpace ~
15842 if the keyboard has no working
15849 \begin_layout Standard
15850 Here are some Sciword-inspired mnemonics for frequently used math symbols.
15851 Many symbols start with a
15860 cannot be itself bound to anything.
15864 \labelwidthstring 00.00.0000
15876 \begin_inset Quotes eld
15880 \begin_inset Quotes erd
15884 \begin_inset Formula $\prime$
15888 This is frequently unnecessary: in most cases the normal apostrophe works
15891 \begin_inset Formula $x'+2x=0$
15894 , but in some cases this would generate a double superscript error in LaTeX.
15896 \begin_inset Formula $x^{\prime2}$
15900 \begin_inset Formula $x$
15903 prime squared) must be entered with the prime character.
15907 \labelwidthstring 00.00.0000
15915 command-sequence math-superscript; math-insert
15919 -- Insert a prime as a superscript (see example above).
15923 \labelwidthstring 00.00.0000
15932 -- Insert an upper index.
15939 \labelwidthstring 00.00.0000
15948 -- Insert a lower index.
15955 \labelwidthstring 00.00.0000
15967 -- Partial derivative symbol
15968 \begin_inset Formula $\partial$
15975 \labelwidthstring 00.00.0000
15987 -- Summation symbol
15988 \begin_inset Formula $\sum$
15991 (not the same as the Greek letter uppercase Sigma
15992 \begin_inset Formula $\Sigma$
15995 because it can resize and allows smart upper/lower limits).
15999 \labelwidthstring 00.00.0000
16012 \begin_inset Formula $\prod$
16015 (not the same as the Greek letter uppercase Pi,
16016 \begin_inset Formula $\Pi$
16023 \labelwidthstring 00.00.0000
16036 \begin_inset Formula $\infty$
16043 \labelwidthstring 00.00.0000
16056 \begin_inset Formula $\times$
16063 \labelwidthstring 00.00.0000
16073 -- Insert a stacked array
16074 \begin_inset Formula $\begin{array}{c}
16076 \end{array}\end{array}$
16080 (Frequently useful in formulae.)
16084 \labelwidthstring 00.00.0000
16095 \begin_inset Formula $\times$
16099 \begin_inset Formula $\begin{array}{ccc}
16104 (Then you can modify its size using the
16106 Edit\SpecialChar \menuseparator
16113 \labelwidthstring 00.00.0000
16126 \begin_inset Quotes eld
16130 \begin_inset Quotes erd
16134 \begin_inset Formula $\dagger$
16141 \labelwidthstring 00.00.0000
16154 \begin_inset Quotes eld
16158 \begin_inset Quotes erd
16162 \begin_inset Formula $\equiv$
16169 \labelwidthstring 00.00.0000
16181 \begin_inset Quotes eld
16184 Approximate equality
16185 \begin_inset Quotes erd
16189 \begin_inset Formula $\approx$
16196 \labelwidthstring 00.00.0000
16208 \begin_inset Quotes eld
16212 \begin_inset Quotes erd
16216 \begin_inset Formula $\sim$
16223 \labelwidthstring 00.00.0000
16235 \begin_inset Formula $\rightarrow$
16239 \begin_inset Formula $\lim_{x\rightarrow0}$
16246 \labelwidthstring 00.00.0000
16258 \begin_inset Formula $\leq$
16265 \labelwidthstring 00.00.0000
16276 -- Greater-or-equal
16277 \begin_inset Formula $\geq$
16284 \labelwidthstring 00.00.0000
16297 \begin_inset Quotes eld
16301 \begin_inset Quotes erd
16305 \begin_inset Formula $\ll$
16308 (useful in physics)
16312 \labelwidthstring 00.00.0000
16325 \begin_inset Quotes eld
16329 \begin_inset Quotes erd
16333 \begin_inset Formula $\gg$
16339 \begin_layout Subsection
16340 Standard math bindings
16344 \labelwidthstring 00.00.0000
16358 \labelwidthstring 00.00.0000
16370 \labelwidthstring 00.00.0000
16382 \labelwidthstring 00.00.0000
16396 \labelwidthstring 00.00.0000
16408 \labelwidthstring 00.00.0000
16420 \labelwidthstring 00.00.0000
16434 \labelwidthstring 00.00.0000
16446 \labelwidthstring 00.00.0000
16458 \labelwidthstring 00.00.0000
16470 \labelwidthstring 00.00.0000
16484 \labelwidthstring 00.00.0000
16498 \labelwidthstring 00.00.0000
16512 \labelwidthstring 00.00.0000
16526 \labelwidthstring 00.00.0000
16540 \labelwidthstring 00.00.0000
16554 \labelwidthstring 00.00.0000
16566 \labelwidthstring 00.00.0000
16580 \labelwidthstring 00.00.0000
16592 \labelwidthstring 00.00.0000
16604 \labelwidthstring 00.00.0000
16616 \labelwidthstring 00.00.0000
16628 \labelwidthstring 00.00.0000
16642 \labelwidthstring 00.00.0000
16654 \labelwidthstring 00.00.0000
16666 \labelwidthstring 00.00.0000
16678 \labelwidthstring 00.00.0000
16686 math-delim langle rangle
16690 \labelwidthstring 00.00.0000
16698 math-delim rangle langle
16702 \labelwidthstring 00.00.0000
16714 \labelwidthstring 00.00.0000
16728 \labelwidthstring 00.00.0000
16741 \begin_layout Subsection
16746 \labelwidthstring 00.00.0000
16756 \labelwidthstring 00.00.0000
16766 \labelwidthstring 00.00.0000
16776 \labelwidthstring 00.00.0000
16786 \labelwidthstring 00.00.0000