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
8086 other than those descibed below will produce arabic numerals.
8087 It would not be surprising to see this change in the future.
8095 \begin_layout Description
8102 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8106 \begin_layout Description
8113 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8117 \begin_layout Description
8124 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8128 \begin_layout Description
8135 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8139 \begin_layout Description
8146 for hebrew numerals.
8150 \begin_layout Subsection
8154 \begin_layout Standard
8155 \begin_inset LatexCommand \label{sec:fonts}
8159 A font description looks like that:
8162 \begin_layout LyX-Code
8172 \begin_layout LyX-Code
8176 \begin_layout LyX-Code
8180 \begin_layout Standard
8181 and the following commands are available:
8184 \begin_layout Description
8201 \begin_layout Description
8218 \begin_layout Description
8230 , Italic, SmallCaps, Slanted
8235 \begin_layout Description
8248 , large, larger, largest, huge, giant
8253 \begin_layout Description
8266 , black, white, red, green, blue, cyan, magenta, yellow
8271 \begin_layout Subsection
8272 Upgrading old layout files
8275 \begin_layout Standard
8276 The file format of layout files changes from time to time, so old layout
8277 files need to be converted.
8278 This process has been automated in LyX 1.4.0: If LyX reads an old format
8279 layout file it will call the conversion tool
8281 $LyXDir/scripts/layout2layout.py
8283 and convert it to a temporary file in current format.
8284 The original file is left untouched, so that you can still use it with
8286 If you want to convert the layout file permanently, just call the converter
8290 \begin_layout LyX-Code
8291 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8294 \begin_layout Standard
8306 \begin_layout Standard
8307 The automatic conversion does only handle syntax changes.
8308 It cannot handle the case where the contents of included files was changed.
8309 For example, layout files based on
8322 If you get error messages about undefined counters, try to convert your
8342 \begin_layout Section
8344 \begin_inset LatexCommand \label{sec:templates}
8351 \begin_layout Standard
8352 Templates are created just like usual documents.
8353 The only difference is that usual documents contain all possible settings,
8354 including the fontscheme and the papersize.
8355 Usually a user doesn't want a template to overwrite his defaults in these
8357 For that reason, the designer of a template should remove the corresponding
8370 from the template LyX file.
8371 This can be done with any simple text-editor, for example
8383 \begin_layout Standard
8384 Put the edited template files you create in
8388 , copy the ones you use from the global template directory in
8392 to the same place, and redefine the template path in the
8397 dit\SpecialChar \menuseparator
8416 \begin_layout Standard
8417 Note that there is a template which has a particular meaning:
8422 This template is loaded everytime you create a new document with
8429 \SpecialChar \menuseparator
8437 in order to provide useful defaults.
8438 To create this template from inside LyX, all you have to do is to open
8439 a document with the correct settings, and use the
8445 e as Document Defaults
8450 \begin_layout Chapter
8451 Including External Material
8454 \begin_layout Section
8458 \begin_layout Standard
8459 \begin_inset Note Note
8462 \begin_layout Standard
8463 This section is completely outdated.
8468 One often requested feature from LyX users is to be able to interface LyX
8469 with XFig, Dia, or other similar applications that specialize in producing
8470 a certain kind of diagram, figure, schematic or whatever material might
8471 be relevant to include in your document.
8472 Previously, it was only possible to include boring, static, fixed images
8473 in LyX documents with the graphics feature, but there are several limitations
8474 attached to this approach:
8477 \begin_layout Itemize
8478 If you want to change the figure, you have to invoke an external program
8482 \begin_layout Itemize
8483 LyX does not notice that the referenced files change, so the on-screen display
8484 can fast become obsolete, and this is aggravated by the lack of a means
8485 of updating the display
8488 \begin_layout Itemize
8489 The graphics stuff does not provide any mechanisms for coping with different
8490 exported formats such as DocBook, HTML or raw Ascii
8493 \begin_layout Standard
8494 The external material facility attempts to solve all of these problems
8498 \begin_layout Standard
8499 Even if the graphics facility can't solve all problems, it is still valuable
8500 because it does provide in-line preview of the graphics, and supports advanced
8501 geometric transformations with a comfortable user interface.
8507 It does this by offering a general method to interface LyX to external
8509 Instead of introducing a long list of different constructs tailored for
8510 each specific application, we chose to sacrifice the in-line displaying
8511 of the included material in order to provide a general construct to cover
8512 a wide range of applications.
8513 The result is the external material construct.
8514 External material presents itself in the document simply as a button, but
8515 don't let this fool you.
8516 When you click on it, a dialog will appear that allows you to chose exactly
8517 what material to include, and in the following sections you will learn
8518 that this is indeed a powerful mechanism that can solve all of the above
8522 \begin_layout Section
8526 \begin_layout Standard
8527 The external material feature is based on the concept of a
8532 A template is a specification of how LyX should interface with a certain
8534 As bundled, LyX comes with predefined templates for XFig figures, Dia diagrams,
8535 various raster format images, gnuplot, and more.
8536 You can check the actual list by using the
8538 Insert\SpecialChar \menuseparator
8547 Furthermore, it is possible to roll your own template to support a specific
8549 Later we'll describe in more detail what is involved, and hopefully you
8550 will submit all the templates you create so we can include them in a later
8554 \begin_layout Standard
8555 Another basic idea of the external material feature is to distinguish between
8556 the original file that serves as a base for final material and the produced
8557 file that is included in your exported or printed document.
8558 For example, consider the case of a figure produced with XFig.
8559 The XFig application itself works on an original file with the
8564 Within XFig, you create and change your figure, and when you are done,
8570 When you want to include the figure in your document, you invoke
8574 in order to create a PostScript file that can readily be included in your
8580 file is the original file, and the PostScript file is the produced file.
8583 \begin_layout Standard
8584 This distinction is important in order to allow updating of the material
8585 while you are in the process of writing the document.
8586 Furthermore, it provides us with the flexibility that is needed to support
8587 multiple export formats.
8588 For instance, in the case of an Ascii resulting file, it is not exactly
8589 an award-winning idea to include the figure as raw PostScript.
8590 Instead, you'd either prefer to just include a reference to the figure,
8591 or try to invoke some graphics to Ascii converter to make the final result
8592 look similar to the real graphics.
8593 The external material management allows you to do this, because it is parameter
8594 ized on the different export formats that LyX supports.
8597 \begin_layout Standard
8598 Besides supporting the production of different products according to the
8599 exported format, it supports tight integration with editing and viewing
8601 In the case of an XFig figure, you are able to invoke
8605 on the original file with a single click from within the external material
8606 dialog in LyX, and also preview the produced PostScript file with
8611 No more fiddling around with the command line and/or file browsers to locate
8612 and manipulate the original or produced files.
8613 In this way, you are finally able to take full advantage of the many different
8614 applications that are relevant to use when you write your documents, and
8615 ultimately be more productive.
8618 \begin_layout Standard
8619 \begin_inset Note Note
8622 \begin_layout Standard
8623 This paragraph is outdated
8628 So, all in all, LyX has information about a number of different programs
8629 to use behind the scenes in order to realize all of this machinery.
8630 This information, in fact, is exactly what is contained in the templates.
8631 To each template, there is associated a list of command lines that are
8632 used to invoke applications, convert the original file to the produced
8634 This mechanism allows the advanced user to extend the capabilities of LyX
8635 without fiddling with the source code.
8636 It requires some footwork to define all the different commands and flags,
8637 but luckily, the LyX team did all the hard work and specified these for
8641 \begin_layout Standard
8642 But before the trees grow into the skies, we have to admit that we did take
8644 Since you can produce many different kinds of files to go with each exported
8645 format, one could also expect that it would be possible to preview each
8647 The LyX team decided against this in order to keep the user interface simple.
8648 Instead of providing a button for each exported file format, we decided
8649 to introduce the concept of the primary file format and just have one button.
8659 in the external material dialog, you will get a view of the produced file
8660 in the primary file format.
8661 And the primary file format is specified by your document class.
8662 For most document classes, the primary file format is LaTeX, but for the
8663 DocBook document classes, the primary file format is DocBook.
8664 So, when you view the produced file, keep in mind that it will only be
8665 a preview of what the main result will be.
8666 If you want to see how other exported formats turn out, you have to export
8667 them and preview them by hand.
8670 \begin_layout Section
8671 The external material dialog
8674 \begin_layout Standard
8675 You insert external material from the
8683 When you do this, a button is inserted into your document, and the external
8684 material dialog is shown.
8685 This dialog allows you to describe exactly what material should be included,
8686 and also how it should be included.
8687 Furthermore, it provides access to the external applications to either
8688 view, edit or produce the material that is used in the resulting file.
8691 \begin_layout Standard
8692 \begin_inset Note Note
8695 \begin_layout Standard
8696 This paragraph is outdated
8701 At the top of this dialog, there is a drop-down list where you can chose
8702 which template should be used.
8703 Just below the template drop-down, there's a text area with a short blurb
8704 about the chosen template that should help you use it.
8705 Most often, it will provide a short description of the template, and a
8706 few hints on how to parameterize the use of it.
8707 Further down, you'll find a filename input field along with a
8708 \begin_inset Quotes eld
8712 \begin_inset Quotes erd
8715 button that allows you to chose which file should be included with the
8716 standard file browser.
8717 Thus this field specifies the original file.
8718 Since the produced file is automatically generated when needed, there is
8719 no need to give access to it in the user interface.
8722 \begin_layout Standard
8723 \begin_inset Note Note
8726 \begin_layout Standard
8727 This paragraph is outdated
8732 At the bottom of the dialog, you'll find a general input box called
8737 This box is generally used to parameterize the specific template.
8738 The specific use should be covered in the help blurb associated with the
8739 template, but it typically allows you to define variations on how the produced
8740 file should be generated.
8743 \begin_layout Standard
8744 \begin_inset Note Note
8747 \begin_layout Standard
8748 This paragraph is outdated
8753 At the right side of the dialog, you'll find three buttons:
8781 These in turn allow you to edit your original file with the appropriate
8782 editing application, view the produced file as included in the primary
8783 format document, and finally force an update of the resulting material
8784 in the primary format.
8794 button will be disabled, because most templates are configured to automatically
8795 update the produced file when needed.
8796 In those cases, there is no need to force the production of a new produced
8798 However, some templates are configured to not be automatically producing
8799 the residual product, because the cost of producing the produced file might
8800 be so large that it would be a pain to do it all the time.
8801 Those types are known as
8806 In those cases, you can use the button to force the production of the produced
8807 file exactly when you need it, and thus control the amount of work that
8813 responsibility to do this to keep the produced files current at all times:
8814 before printing, before exporting, before viewing, etc.
8815 At some time in the future, it might be possible that LyX will help you
8816 with this task.Any changes in the template, filename or parameters are actually
8817 applied whenever you press
8842 \begin_layout Section
8846 \begin_layout Standard
8847 In this section, we should include some examples of use of the external
8849 Those examples could include:
8852 \begin_layout Itemize
8853 External raster images
8856 \begin_layout Itemize
8857 External XFig figures
8860 \begin_layout Itemize
8864 \begin_layout Itemize
8868 \begin_layout Itemize
8869 The use of makefiles
8872 \begin_layout Itemize
8873 Recursive external LyX templates
8876 \begin_layout Section
8877 The external template configuration file
8880 \begin_layout Standard
8881 It is relatively easy to add custom external template definitions to LyX.
8882 However, be aware this doing this in an careless manner most probably
8886 introduce an easily exploitable security hole.
8887 So before you do this, please read the discussion about security which
8891 \begin_layout Standard
8892 Having said that, we encourage you to submit any interesting templates that
8897 \begin_layout Standard
8898 The external templates are defined in the
8900 lib/external_templates
8903 You can place your own version in
8905 .lyx/external_templates
8910 \begin_layout Standard
8911 A typical template looks like this:
8914 \begin_layout LyX-Code
8918 \begin_layout LyX-Code
8919 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
8922 \begin_layout LyX-Code
8926 \begin_layout LyX-Code
8930 \begin_layout LyX-Code
8934 \begin_layout LyX-Code
8938 \begin_layout LyX-Code
8942 \begin_layout LyX-Code
8943 AutomaticProduction true
8946 \begin_layout LyX-Code
8950 \begin_layout LyX-Code
8954 \begin_layout LyX-Code
8958 \begin_layout LyX-Code
8959 TransformCommand Rotate RotationLatexCommand
8962 \begin_layout LyX-Code
8963 TransformCommand Resize ResizeLatexCommand
8966 \begin_layout LyX-Code
8967 Product "$$RotateFront$$ResizeFront
8970 \begin_layout LyX-Code
8975 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
8978 \begin_layout LyX-Code
8979 $$ResizeBack$$RotateBack"
8982 \begin_layout LyX-Code
8986 \begin_layout LyX-Code
8987 UpdateResult "$$AbsPath$$Basename.pstex_t"
8990 \begin_layout LyX-Code
8991 Requirement "graphicx"
8994 \begin_layout LyX-Code
8995 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
8998 \begin_layout LyX-Code
8999 ReferencedFile latex "$$AbsPath$$Basename.eps"
9002 \begin_layout LyX-Code
9003 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9006 \begin_layout LyX-Code
9010 \begin_layout LyX-Code
9014 \begin_layout LyX-Code
9015 TransformCommand Rotate RotationLatexCommand
9018 \begin_layout LyX-Code
9019 TransformCommand Resize ResizeLatexCommand
9022 \begin_layout LyX-Code
9023 Product "$$RotateFront$$ResizeFront
9026 \begin_layout LyX-Code
9031 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9034 \begin_layout LyX-Code
9035 $$ResizeBack$$RotateBack"
9038 \begin_layout LyX-Code
9042 \begin_layout LyX-Code
9043 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9046 \begin_layout LyX-Code
9047 Requirement "graphicx"
9050 \begin_layout LyX-Code
9051 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9054 \begin_layout LyX-Code
9055 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9058 \begin_layout LyX-Code
9062 \begin_layout LyX-Code
9066 \begin_layout LyX-Code
9067 Product "$$Contents(
9069 "$$AbsPath$$Basename.asc
9074 \begin_layout LyX-Code
9075 UpdateFormat asciixfig
9078 \begin_layout LyX-Code
9079 UpdateResult "$$AbsPath$$Basename.asc"
9082 \begin_layout LyX-Code
9086 \begin_layout LyX-Code
9090 \begin_layout LyX-Code
9091 Product "<graphic fileref=
9093 "$$AbsOrRelPathMaster$$Basename.eps
9098 \begin_layout LyX-Code
9102 \begin_layout LyX-Code
9106 \begin_layout LyX-Code
9107 UpdateResult "$$AbsPath$$Basename.eps"
9110 \begin_layout LyX-Code
9111 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9114 \begin_layout LyX-Code
9115 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9118 \begin_layout LyX-Code
9122 \begin_layout LyX-Code
9126 \begin_layout LyX-Code
9127 Product "[XFig: $$FName]"
9130 \begin_layout LyX-Code
9134 \begin_layout LyX-Code
9138 \begin_layout Standard
9139 As you can see, the template is enclosed in
9143 \SpecialChar \ldots{}
9149 It contains a header specifying some general settings, and for each supported
9150 primary document file format a section
9154 \SpecialChar \ldots{}
9162 \begin_layout Subsection
9166 \begin_layout Description
9170 Template\InsetSpace ~
9174 A unique name for the template.
9175 It must not contain substitution macros (see below).
9178 \begin_layout Description
9182 GuiName\InsetSpace ~
9186 The text that is displayed on the button.
9187 This command must occur exactly once.
9190 \begin_layout Description
9194 HelpText\InsetSpace ~
9199 The help text that is used in the External dialog.
9200 Provide enough information to explain to the user just what the template
9201 can provide him with.
9202 This command must occur exactly once.
9205 \begin_layout Description
9209 InputFormat\InsetSpace ~
9213 The file format of the original file.
9214 This must be the name of a format that is known to LyX (see the
9219 ools\SpecialChar \menuseparator
9224 references:Conversion
9231 if the template can handle original files of more than one format.
9232 LyX will attempt to interrogate the file itself in order to deduce its
9233 format in this case.
9234 This command must occur exactly once.
9237 \begin_layout Description
9241 FileFilter\InsetSpace ~
9245 A glob pattern that is used in the file dialog to filter out the desired
9247 If there is more than one possible file extension (e.g.\InsetSpace ~
9256 ), use something like
9261 This command must occur exactly once.
9264 \begin_layout Description
9268 AutomaticProduction\InsetSpace ~
9272 Wether the file represented by the template must be generated by LyX.
9273 This command must occur exactly once.
9276 \begin_layout Description
9280 Transform\InsetSpace ~
9281 Rotate|Resize|Clip|Extra
9284 This command specifies which transformations are supported by this template.
9285 It may occur zero or more times.
9286 This command enables the corresponding tabs in the external dialog.
9291 command must have either a corresponding
9304 Otherwise the transformation will not be supported by that format.
9307 \begin_layout Subsection
9311 \begin_layout Description
9316 LaTeX|PDFLaTeX|Ascii|DocBook|LinuxDoc
9319 The primary document file format that this format definition is for.
9320 Not every template has a sensible representation in all document file formats.
9321 Please define nevertheless a
9325 section for all formats.
9326 Use a dummy text when no representation is available (see the LinuxDoc
9327 format in the example above).
9328 Then you can at least see a reference to the external material in the exported
9332 \begin_layout Description
9336 TransformCommand\InsetSpace ~
9338 RotationLatexCommand
9341 This command specifies that the built in LaTeX command should be used for
9343 This command may occur once or not at all.
9346 \begin_layout Description
9350 TransformCommand\InsetSpace ~
9355 This command specifies that the built in LaTeX command should be used for
9357 This command may occur once or not at all.
9360 \begin_layout Description
9364 TransformOption\InsetSpace ~
9369 This command specifies that rotation is done via an optional argument.
9370 This command may occur once or not at all.
9373 \begin_layout Description
9377 TransformOption\InsetSpace ~
9382 This command specifies that resizing is done via an optional argument.
9383 This command may occur once or not at all.
9386 \begin_layout Description
9390 TransformOption\InsetSpace ~
9395 This command specifies that clipping is done via an optional argument.
9396 This command may occur once or not at all.
9399 \begin_layout Description
9403 TransformOption\InsetSpace ~
9408 This command specifies that an extra optional argument is used.
9409 This command may occur once or not at all.
9412 \begin_layout Description
9416 Product\InsetSpace ~
9420 The text that is inserted in the exported document.
9421 This is actually the most important command and can be quite complex.
9422 This command must occur exactly once.
9425 \begin_layout Description
9429 UpdateFormat\InsetSpace ~
9433 The file format of the converted file.
9434 This must be the name of a format that is known to LyX (see the
9439 ools\SpecialChar \menuseparator
9444 references:Conversion
9447 This command must occur exactly once.
9450 \begin_layout Description
9454 UpdateResult\InsetSpace ~
9458 The file name of the converted file.
9459 The file name must be absolute.
9460 This command must occur exactly once.
9463 \begin_layout Description
9467 ReferencedFile\InsetSpace ~
9468 <format>\InsetSpace ~
9472 This command denotes files that are created by the conversion process and
9473 are needed for a particular export format.
9474 If the filename is relative, it is interpreted relative to the master document.
9475 This command may be given zero or more times.
9478 \begin_layout Description
9482 Requirement\InsetSpace ~
9486 The name of a required LaTeX package.
9487 The package is included via
9493 in the LaTeX preamble.
9494 This command may occur zero or more times.
9497 \begin_layout Description
9501 Preamble\InsetSpace ~
9505 This command specifies a preamble snippet that will be included in the
9507 It has to be defined using
9511 \SpecialChar \ldots{}
9517 This command may occur zero or more times.
9520 \begin_layout Description
9529 This command defines an additional macro
9542 itself may contain substitution macros.
9543 The advantage over using
9551 is that the substituted value of
9555 is sanitized so that it is a valid optional argument in the document format.
9556 This command may occur zero or more times.
9559 \begin_layout Subsection
9560 Preamble definitions
9563 \begin_layout Standard
9564 The external template configuration file may contain additional preamble
9565 definitions enclosed by
9569 \SpecialChar \ldots{}
9575 They can be used by the templates in the
9582 \begin_layout Section
9583 The substitution mechanism
9586 \begin_layout Standard
9587 When the external material facility invokes an external program, it is done
9588 on the basis of a command defined in the template configuration file.
9589 These commands can contain various macros that are expanded before execution.
9590 Execution always take place in the directory of the containing document.
9593 \begin_layout Standard
9594 Also, whenever external material is to be displayed, the name will be produced
9595 by the substitution mechanism, and most other commands in the template
9596 definition support substitution as well.
9599 \begin_layout Standard
9600 The available macros are the following:
9603 \begin_layout Description
9604 $$FName The filename of the file specified in the external material dialog.
9605 This is either an absolute name, or it is relative to the LyX document.
9608 \begin_layout Description
9609 $$Basename The filename without path and without the extension.
9612 \begin_layout Description
9613 $$Extension The file extension (including the dot).
9616 \begin_layout Description
9617 $$FPath The path part of
9621 (absolute name or relative to the LyX document).
9624 \begin_layout Description
9625 $$AbsPath The absolute file path.
9628 \begin_layout Description
9629 $$RelPathMaster The file path, relative to the master LyX document.
9632 \begin_layout Description
9633 $$RelPathParent The file path, relative to the LyX document.
9636 \begin_layout Description
9637 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9641 \begin_layout Description
9642 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9645 \begin_layout Description
9646 $$Tempname A name and full path to a temporary file which will be automatically
9647 deleted whenever the containing document is closed, or the external material
9651 \begin_layout Description
9653 \begin_inset Quotes eld
9657 \begin_inset Quotes erd
9660 ) This macro will expand to the contents of the file with the name
9667 \begin_layout Description
9668 $$Sysdir This macro will expand to the absolute path of the system directory.
9669 This is typically used to point to the various helper scripts that are
9673 \begin_layout Standard
9674 All path macros contain a trailing directory separator, so you can construct
9676 the absolute filename with
9678 $$AbsPath$$Basename$$Extension
9683 \begin_layout Standard
9684 The macros above are substituted in all commands unless otherwise noted.
9689 supports additionally the following substitutions if they are enabled by
9701 \begin_layout Description
9702 $$ResizeFront The front part of the resize command.
9705 \begin_layout Description
9706 $$ResizeBack The back part of the resize command.
9709 \begin_layout Description
9710 $$RotateFront The front part of the rotation command.
9713 \begin_layout Description
9714 $$RotateBack The back part of the rotation command.
9717 \begin_layout Standard
9718 The value string of the
9722 command supports additionally the following substitutions if they are enabled
9734 \begin_layout Description
9735 $$Clip The clip option.
9738 \begin_layout Description
9739 $$Extra The extra option.
9742 \begin_layout Description
9743 $$Resize The resize option.
9746 \begin_layout Description
9747 $$Rotate The rotation option.
9750 \begin_layout Standard
9751 You may ask why there are so many path macros.
9752 There are mainly two reasons:
9755 \begin_layout Standard
9756 First, relative and absolute file names should remain relative or absolute,
9758 Users may have reasons to prefer either form.
9759 Relative names are useful for portable documents that should work on different
9760 machines, for example.
9761 Absolute names may be required by some programs.
9764 \begin_layout Standard
9765 Second, LaTeX treats relative file names differently than LyX and other
9766 programs in nested included files.
9767 For LyX, a relative file name is always relative to the document that contains
9769 For LaTeX, it is always relative to the master document.
9770 These two definitions are identical if you have only one document, but
9771 differ if you have a master document that includes part documents.
9772 That means that relative filenames must be transformed when presented to
9774 Fortunately LyX does this automatically for you if you choose the right
9778 \begin_layout Standard
9779 So which path macro should be used in new template definitions? The rule
9783 \begin_layout Itemize
9788 if an absolute path is required.
9791 \begin_layout Itemize
9794 $$AbsOrRelPathMaster
9796 if the substituted string is some kind of LaTeX input.
9799 \begin_layout Itemize
9802 $$AbsOrRelPathParent
9804 in order to preserve the user's choice.
9807 \begin_layout Standard
9808 There are special cases where this rule does not work and e.g.\InsetSpace ~
9810 are needed, but normally it will work just fine.
9811 One example for such a case is the command
9813 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9815 in the XFig template above: We can't use the absolute name because the
9820 files needs the relative name in order to rewrite the file content.
9823 \begin_layout Section
9827 \begin_layout Standard
9828 \begin_inset Note Note
9831 \begin_layout Standard
9832 This section is outdated
9837 The external material feature interfaces with a lot of external programs
9838 and does so automatically, so we have to consider the security implications
9840 In particular, since you have the option of including your own filenames
9841 and/or parameter strings and those are expanded into a command, it seems
9842 that it would be possible to create a malicious document which executes
9843 arbitrary commands when a user views or prints the document.
9844 This is something we definately want to avoid.
9847 \begin_layout Standard
9848 However, since the external program commands are specified in the template
9849 configuration file only, there are no security issues if LyX is properly
9850 configured with safe templates only.
9851 This is so because the external programs are invoked with the
9855 -system call rather than the
9859 system-call, so it's not possible to execute arbitrary commands from the
9860 filename or parameter section via the shell.
9863 \begin_layout Standard
9864 This also implies that you are restricted in what command strings you can
9865 use in the external material templates.
9866 In particular, pipes and redirection are not readily available.
9867 This has to be so if LyX should remain safe.
9868 If you want to use some of the shell features, you should write a safe
9869 script to do this in a controlled manner, and then invoke the script from
9875 directory of the LyX installation, you can find a safe wrapper script
9877 general_command_wrapper.py
9879 that supports redirection of input and output.
9880 That can serve as an example for how to write safe template scripts.
9881 For a more advanced example that uses
9885 and friends, take a look at the
9892 \begin_layout Standard
9893 It is possible to design a template that interacts directly with the shell,
9894 but since this would allow a malicious user to execute arbitrary commands
9895 by writing clever filenames and/or parameters, we generally recommend that
9896 you only use safe scripts that work with the
9900 system call in a controlled manner.
9901 Of course, for use in a controlled environment, it can be tempting to just
9902 fall back to use ordinary shell scripts.
9903 If you do so, be aware that you
9907 provide an easily exploitable security hole in your system.
9908 Of course it stands to reason that such unsafe templates will never be
9909 included in the standard LyX distribution, although we do encourage people
9910 to submit new templates in the open source tradition.
9911 But LyX as shipped from the official distribution channels will never have
9915 \begin_layout Standard
9916 Including external material provides a lot of power, and you have to be
9917 careful not to introduce security hazards with this power.
9918 A subtle error in a single line in an innocent looking script can open
9919 the door to huge security problems.
9920 So if you do not fully understand the issues, we recommend that you consult
9921 a knowledgable security professional or the LyX development team if you
9922 have any questions about whether a given template is safe or not.
9923 And do this before you use it in an uncontrolled environment.
9926 \begin_layout Chapter
9930 \begin_layout Section
9934 \begin_layout Standard
9935 The LyX server is a method implemented in LyX that will enable other programs
9936 to talk to LyX, invoke LyX commands, and retrieve information about the
9938 This is only intended for advanced users, but they should find it useful.
9941 \begin_layout Section
9942 Starting the LyX Server
9945 \begin_layout Standard
9946 The LyX server works through the use of a pair of named pipes.
9947 These are usually located in your home directory and have the names
9948 \begin_inset Quotes eld
9956 \begin_inset Quotes erd
9960 \begin_inset Quotes eld
9968 \begin_inset Quotes erd
9972 External programs write into
9976 and read back data from
9981 The stem of the pipe names can be defined in the
9986 ools\SpecialChar \menuseparator
9995 "/home/myhome/.lyxpipe"
10000 \begin_layout Standard
10009 ' to create the pipes.
10010 The above setting also has the effect of activating the LyX server.
10011 If one of the pipes already exists, LyX will assume that another LyX process
10012 is already running and will not start the server.
10013 To have several LyX processes with servers at the same time, you have to
10014 change the configuration between the start of the programs.
10017 \begin_layout Standard
10018 If you are developing a client program, you might find it useful to enable
10019 debugging information from the LyX server.
10020 Do this by starting LyX as
10022 lyx -dbg lyxserver.
10025 \begin_layout Standard
10026 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10027 case you must remove them manually.
10028 If LyX starts and the pipes exist already, it will not start any server.
10031 \begin_layout Standard
10032 Other than this, there are a few points to consider:
10035 \begin_layout Itemize
10036 Both server and clients must run on UNIX or OS/2 machines.
10037 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10038 not possible right now.
10041 \begin_layout Itemize
10042 On OS/2, only one client can connect to LyXServer at a time.
10045 \begin_layout Itemize
10046 On OS/2, clients must open inpipe with
10053 \begin_layout Standard
10054 You can find a complete example client written in C in the source distribution
10057 development/server_monitor.c
10062 \begin_layout Section
10063 Normal communication
10066 \begin_layout Standard
10067 To issue a LyX call, the client writes a line of ASCII text into the input
10069 This line has the following format:
10072 \begin_layout Quote
10086 \begin_layout Standard
10091 is a name that the client can choose arbitrarily.
10092 Its only use is that LyX will echo it if it sends an answer - so a client
10093 can dispatch results from different requesters.
10096 \begin_layout Standard
10101 is the function you want LyX to perform.
10102 It is the same as the commands you'd use in the minibuffer.
10105 \begin_layout Standard
10110 is an optional argument which is meaningful only to some functions (for
10112 \begin_inset Quotes eld
10116 \begin_inset Quotes erd
10119 which will insert the argument as text at the cursor position.)
10122 \begin_layout Standard
10123 The answer from LyX will arrive in the output pipe and be of the form
10126 \begin_layout Quote
10140 \begin_layout Standard
10149 are just echoed from the command request, while
10153 is more or less useful information filled according to how the command
10154 execution worked out.
10155 Some commands will return information about the internal state of LyX,
10157 \begin_inset Quotes eld
10161 \begin_inset Quotes erd
10164 , while other will return an empty data-response.
10165 This means that the command execution went fine.
10168 \begin_layout Standard
10169 In case of errors, the response from LyX will have this form
10172 \begin_layout Quote
10186 \begin_layout Standard
10191 should contain an explanation of why the command failed.
10194 \begin_layout Standard
10198 \begin_layout LyX-Code
10199 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10202 \begin_layout LyX-Code
10203 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10205 read a <~/.lyxpipe.out
10210 \begin_layout Section
10214 \begin_layout Standard
10215 LyX can notify clients of events going on asynchronously.
10216 Currently it will only do this if the user binds a key sequence with the
10218 \begin_inset Quotes eld
10222 \begin_inset Quotes erd
10226 The format of the string LyX sends is as follows:
10229 \begin_layout Quote
10238 \begin_layout Standard
10243 is the printed representation of the key sequence that was actually typed
10247 \begin_layout Standard
10248 This mechanism can be used to extend LyX's command set and implement macros:
10249 bind some key sequence to
10250 \begin_inset Quotes eld
10254 \begin_inset Quotes erd
10257 , start a client that listens on the out pipe, dispatches the command according
10258 to the sequence and starts a function that may use LyX calls and LyX requests
10259 to issue a command or a series of commands to LyX.
10262 \begin_layout Section
10263 The simple LyX Server Protocol
10266 \begin_layout Standard
10267 LyX implements a simple protocol that can be used for session management.
10268 All messages are of the form
10271 \begin_layout Quote
10281 \begin_layout Standard
10287 \begin_inset Quotes eld
10291 \begin_inset Quotes erd
10295 \begin_inset Quotes eld
10299 \begin_inset Quotes erd
10304 \begin_inset Quotes eld
10308 \begin_inset Quotes erd
10311 is received from a client, LyX will report back to inform the client that
10312 it's listening to it's messages, while
10313 \begin_inset Quotes eld
10317 \begin_inset Quotes erd
10320 sent from LyX will inform clients that LyX is closing.
10323 \begin_layout Chapter
10328 \begin_layout Standard
10329 This appendix is a huge cross-reference to all the English language keybindings.
10330 Originally, we simply wanted to list all of the key bindings followed by
10331 the function it's bound to.
10332 That way, a user can look up a key to find out what it does.
10333 We then decided, what the hey, why not include the default toolbar and
10334 menu bindings, too.
10335 Please note this section is likely to be very out of date.
10338 \begin_layout Standard
10339 The form is really self-explanatory, but here are a few tips: all entries
10340 are arranged roughly alphabetically for a given modifier (
10349 For the general keyboard layout, simpler prefixes precede the more complex
10359 All entries were gleaned from the default user interface and binding files
10360 located in the directories
10362 \SpecialChar \ldots{}
10367 \SpecialChar \ldots{}
10370 ; they should be treated as the final word on the bindings.
10373 \begin_layout Standard
10374 As a final note, be aware that some window managers (such as FVWM) take
10375 control of some of the function keys or motion keys.
10380 is listed here as generating
10384 , but FVWM grabs it and uses it to change virtual desktops instead.
10385 Very annoying unless you instruct your window manager to stop intercepting
10389 \begin_layout Section
10393 \begin_layout LyX-Code
10397 \begin_layout LyX-Code
10401 \begin_layout LyX-Code
10405 \begin_layout LyX-Code
10406 Icon "buffer-write"
10409 \begin_layout LyX-Code
10410 Icon "buffer-print"
10413 \begin_layout LyX-Code
10417 \begin_layout LyX-Code
10421 \begin_layout LyX-Code
10425 \begin_layout LyX-Code
10429 \begin_layout LyX-Code
10433 \begin_layout LyX-Code
10437 \begin_layout LyX-Code
10441 \begin_layout LyX-Code
10445 \begin_layout LyX-Code
10449 \begin_layout LyX-Code
10453 \begin_layout LyX-Code
10457 \begin_layout LyX-Code
10461 \begin_layout LyX-Code
10462 Icon "footnote-insert"
10465 \begin_layout LyX-Code
10466 Icon "marginpar-insert"
10469 \begin_layout LyX-Code
10473 \begin_layout LyX-Code
10477 \begin_layout LyX-Code
10478 Icon "figure-insert"
10481 \begin_layout LyX-Code
10482 Icon "dialog-tabular-insert"
10485 \begin_layout LyX-Code
10489 \begin_layout Section
10493 \begin_layout Subsection
10498 \labelwidthstring 00.00.0000
10508 \labelwidthstring 00.00.0000
10520 \labelwidthstring 00.00.0000
10532 \labelwidthstring 00.00.0000
10546 \labelwidthstring 00.00.0000
10556 \labelwidthstring 00.00.0000
10570 \labelwidthstring 00.00.0000
10580 \labelwidthstring 00.00.0000
10592 \labelwidthstring 00.00.0000
10604 \labelwidthstring 00.00.0000
10616 \labelwidthstring 00.00.0000
10622 buffer-new-template
10626 \labelwidthstring 00.00.0000
10639 \labelwidthstring 00.00.0000
10648 \labelwidthstring 00.00.0000
10657 \labelwidthstring 00.00.0000
10666 \labelwidthstring 00.00.0000
10675 \labelwidthstring 00.00.0000
10684 \labelwidthstring 00.00.0000
10694 \labelwidthstring 00.00.0000
10703 \begin_layout Subsection
10708 \labelwidthstring 00.00.0000
10720 \labelwidthstring 00.00.0000
10732 \labelwidthstring 00.00.0000
10744 \labelwidthstring 00.00.0000
10756 \labelwidthstring 00.00.0000
10768 \labelwidthstring 00.00.0000
10780 \labelwidthstring 00.00.0000
10795 \labelwidthstring 00.00.0000
10802 tabular-feature append-row
10806 \labelwidthstring 00.00.0000
10813 tabular-feature toggle-line-bottom
10817 \labelwidthstring 00.00.0000
10824 tabular-feature align-center
10828 \labelwidthstring 00.00.0000
10835 tabular-feature delete-column
10839 \labelwidthstring 00.00.0000
10846 tabular-feature align-left
10850 \labelwidthstring 00.00.0000
10857 tabular-feature align-right
10861 \labelwidthstring 00.00.0000
10868 tabular-feature toggle-line-left
10872 \labelwidthstring 00.00.0000
10879 tabular-feature multicolumn
10883 \labelwidthstring 00.00.0000
10890 tabular-feature valign-center
10894 \labelwidthstring 00.00.0000
10901 tabular-feature valign-top
10905 \labelwidthstring 00.00.0000
10912 tabular-feature toggle-line-right
10916 \labelwidthstring 00.00.0000
10923 tabular-feature toggle-line-top
10927 \labelwidthstring 00.00.0000
10934 tabular-feature append-column
10938 \labelwidthstring 00.00.0000
10945 tabular-feature valign-bottom
10949 \labelwidthstring 00.00.0000
10956 tabular-feature delete-row
10961 \labelwidthstring 00.00.0000
10974 \labelwidthstring 00.00.0000
10979 floats-operate openfoot
10983 \labelwidthstring 00.00.0000
10988 floats-operate closefoot
10992 \labelwidthstring 00.00.0000
10997 floats-operate openfig
11001 \labelwidthstring 00.00.0000
11010 \labelwidthstring 00.00.0000
11019 \labelwidthstring 00.00.0000
11024 floats-operate closefig
11029 \labelwidthstring 00.00.0000
11041 \labelwidthstring 00.00.0000
11055 \labelwidthstring 00.00.0000
11067 \labelwidthstring 00.00.0000
11079 \labelwidthstring 00.00.0000
11093 \labelwidthstring 00.00.0000
11103 \labelwidthstring 00.00.0000
11116 \labelwidthstring 00.00.0000
11123 primary-selection-paste
11127 \labelwidthstring 00.00.0000
11134 primary-selection-paste paragraph
11138 \begin_layout Subsection
11143 \labelwidthstring 00.00.0000
11158 \labelwidthstring 00.00.0000
11165 buffer-float-insert algorithm
11169 \labelwidthstring 00.00.0000
11176 buffer-float-insert wide-tab
11180 \labelwidthstring 00.00.0000
11187 buffer-float-insert figure
11191 \labelwidthstring 00.00.0000
11198 buffer-float-insert table
11202 \labelwidthstring 00.00.0000
11209 buffer-float-insert wide-fig
11214 \labelwidthstring 00.00.0000
11222 dialog-tabular-insert
11226 \labelwidthstring 00.00.0000
11238 \labelwidthstring 00.00.0000
11250 \labelwidthstring 00.00.0000
11258 buffer-child-insert
11262 \labelwidthstring 00.00.0000
11274 \labelwidthstring 00.00.0000
11286 \labelwidthstring 00.00.0000
11298 \labelwidthstring 00.00.0000
11310 \labelwidthstring 00.00.0000
11322 \labelwidthstring 00.00.0000
11334 \labelwidthstring 00.00.0000
11346 \labelwidthstring 00.00.0000
11361 \labelwidthstring 00.00.0000
11372 \labelwidthstring 00.00.0000
11383 \labelwidthstring 00.00.0000
11394 \labelwidthstring 00.00.0000
11405 \labelwidthstring 00.00.0000
11416 \labelwidthstring 00.00.0000
11428 \labelwidthstring 00.00.0000
11440 \labelwidthstring 00.00.0000
11455 \labelwidthstring 00.00.0000
11462 protected-space-insert
11466 \labelwidthstring 00.00.0000
11473 end-of-sentence-period-insert
11477 \labelwidthstring 00.00.0000
11488 \labelwidthstring 00.00.0000
11499 \labelwidthstring 00.00.0000
11510 \labelwidthstring 00.00.0000
11517 menu-separator-insert
11521 \labelwidthstring 00.00.0000
11528 hyphenation-point-insert
11532 \labelwidthstring 00.00.0000
11543 \labelwidthstring 00.00.0000
11550 command-sequence math-insert ^;math-mode;
11554 \labelwidthstring 00.00.0000
11561 command-sequence math-insert _;math-mode;
11566 \labelwidthstring 00.00.0000
11581 \labelwidthstring 00.00.0000
11588 file-insert-ascii lines
11592 \labelwidthstring 00.00.0000
11599 file-insert-ascii paragraphs
11603 \labelwidthstring 00.00.0000
11615 \labelwidthstring 00.00.0000
11627 \labelwidthstring 00.00.0000
11639 \labelwidthstring 00.00.0000
11650 \begin_layout Subsection
11655 \labelwidthstring 00.00.0000
11667 \labelwidthstring 00.00.0000
11679 \labelwidthstring 00.00.0000
11691 \labelwidthstring 00.00.0000
11703 \labelwidthstring 00.00.0000
11715 \labelwidthstring 00.00.0000
11727 \labelwidthstring 00.00.0000
11739 \labelwidthstring 00.00.0000
11751 \labelwidthstring 00.00.0000
11759 layout-save-default
11763 \labelwidthstring 00.00.0000
11775 \labelwidthstring 00.00.0000
11787 \labelwidthstring 00.00.0000
11798 \begin_layout Subsubsection
11801 ayout\SpecialChar \menuseparator
11808 \labelwidthstring 00.00.0000
11818 \labelwidthstring 00.00.0000
11828 \labelwidthstring 00.00.0000
11838 \labelwidthstring 00.00.0000
11848 \labelwidthstring 00.00.0000
11860 \labelwidthstring 00.00.0000
11870 \labelwidthstring 00.00.0000
11880 \labelwidthstring 00.00.0000
11890 \labelwidthstring 00.00.0000
11900 \labelwidthstring 00.00.0000
11910 \labelwidthstring 00.00.0000
11920 \labelwidthstring 00.00.0000
11930 \labelwidthstring 00.00.0000
11940 \labelwidthstring 00.00.0000
11950 \labelwidthstring 00.00.0000
11962 \labelwidthstring 00.00.0000
11974 \labelwidthstring 00.00.0000
11986 \labelwidthstring 00.00.0000
11998 \labelwidthstring 00.00.0000
12008 \labelwidthstring 00.00.0000
12020 \labelwidthstring 00.00.0000
12032 \labelwidthstring 00.00.0000
12042 \labelwidthstring 00.00.0000
12054 \labelwidthstring 00.00.0000
12066 \labelwidthstring 00.00.0000
12078 \labelwidthstring 00.00.0000
12090 \labelwidthstring 00.00.0000
12100 \labelwidthstring 00.00.0000
12110 \labelwidthstring 00.00.0000
12122 \labelwidthstring 00.00.0000
12134 \labelwidthstring 00.00.0000
12146 \labelwidthstring 00.00.0000
12156 \labelwidthstring 00.00.0000
12165 \begin_layout Subsection
12169 \begin_layout Subsection
12173 \begin_layout Subsection
12177 \begin_layout Subsection
12182 \labelwidthstring 00.00.0000
12194 \labelwidthstring 00.00.0000
12206 \labelwidthstring 00.00.0000
12218 \labelwidthstring 00.00.0000
12230 \labelwidthstring 00.00.0000
12242 \labelwidthstring 00.00.0000
12250 layout ShortFoilhead
12254 \labelwidthstring 00.00.0000
12266 \labelwidthstring 00.00.0000
12278 \labelwidthstring 00.00.0000
12290 \labelwidthstring 00.00.0000
12302 \labelwidthstring 00.00.0000
12310 layout ShortRotatefoilhead
12314 \labelwidthstring 00.00.0000
12326 \labelwidthstring 00.00.0000
12338 \labelwidthstring 00.00.0000
12350 \labelwidthstring 00.00.0000
12358 drop-layouts-choice
12362 \labelwidthstring 00.00.0000
12377 \labelwidthstring 00.00.0000
12392 \labelwidthstring 00.00.0000
12404 \labelwidthstring 00.00.0000
12416 \labelwidthstring 00.00.0000
12424 layout Subsubsection
12428 \labelwidthstring 00.00.0000
12440 \labelwidthstring 00.00.0000
12448 layout Subparagraph
12452 \labelwidthstring 00.00.0000
12456 asterisk\InsetSpace ~
12465 \labelwidthstring 00.00.0000
12469 asterisk\InsetSpace ~
12478 \labelwidthstring 00.00.0000
12482 asterisk\InsetSpace ~
12491 \labelwidthstring 00.00.0000
12495 asterisk\InsetSpace ~
12504 \labelwidthstring 00.00.0000
12508 asterisk\InsetSpace ~
12513 layout Subsubsection*
12517 \labelwidthstring 00.00.0000
12521 asterisk\InsetSpace ~
12530 \labelwidthstring 00.00.0000
12534 asterisk\InsetSpace ~
12539 layout Subparagraph*
12543 \labelwidthstring 00.00.0000
12555 \labelwidthstring 00.00.0000
12563 layout Bibliography
12567 \labelwidthstring 00.00.0000
12579 \labelwidthstring 00.00.0000
12591 \labelwidthstring 00.00.0000
12603 \labelwidthstring 00.00.0000
12615 \labelwidthstring 00.00.0000
12627 \labelwidthstring 00.00.0000
12635 layout Rotatefoilhead
12639 \labelwidthstring 00.00.0000
12647 layout RightAddress
12651 \labelwidthstring 00.00.0000
12663 \labelwidthstring 00.00.0000
12675 \labelwidthstring 00.00.0000
12687 \labelwidthstring 00.00.0000
12698 \begin_layout Standard
12699 These ones are kept for backwards compatibility, but only make sense on
12704 \labelwidthstring 00.00.0000
12716 \labelwidthstring 00.00.0000
12724 layout Subsubsection*
12728 \labelwidthstring 00.00.0000
12739 \begin_layout Section
12743 \begin_layout Subsection
12750 \labelwidthstring 00.00.0000
12761 \labelwidthstring 00.00.0000
12772 \labelwidthstring 00.00.0000
12783 \labelwidthstring 00.00.0000
12794 \labelwidthstring 00.00.0000
12805 \labelwidthstring 00.00.0000
12816 \labelwidthstring 00.00.0000
12823 hyphenation-point-insert
12827 \labelwidthstring 00.00.0000
12838 \labelwidthstring 00.00.0000
12845 line-delete-forward
12849 \labelwidthstring 00.00.0000
12860 \labelwidthstring 00.00.0000
12871 \labelwidthstring 00.00.0000
12882 \labelwidthstring 00.00.0000
12893 \labelwidthstring 00.00.0000
12904 \labelwidthstring 00.00.0000
12913 \labelwidthstring 00.00.0000
12924 \labelwidthstring 00.00.0000
12935 \labelwidthstring 00.00.0000
12946 \labelwidthstring 00.00.0000
12957 \labelwidthstring 00.00.0000
12968 \labelwidthstring 00.00.0000
12979 \labelwidthstring 00.00.0000
12991 \labelwidthstring 00.00.0000
13003 \labelwidthstring 00.00.0000
13015 \labelwidthstring 00.00.0000
13027 \labelwidthstring 00.00.0000
13040 \labelwidthstring 00.00.0000
13052 \labelwidthstring 00.00.0000
13064 \labelwidthstring 00.00.0000
13076 \labelwidthstring 00.00.0000
13088 \labelwidthstring 00.00.0000
13101 \labelwidthstring 00.00.0000
13113 \labelwidthstring 00.00.0000
13125 \labelwidthstring 00.00.0000
13138 \labelwidthstring 00.00.0000
13151 \labelwidthstring 00.00.0000
13164 \labelwidthstring 00.00.0000
13177 \labelwidthstring 00.00.0000
13190 \labelwidthstring 00.00.0000
13203 \labelwidthstring 00.00.0000
13215 \labelwidthstring 00.00.0000
13227 \labelwidthstring 00.00.0000
13239 \labelwidthstring 00.00.0000
13247 menu-open Documents
13251 \labelwidthstring 00.00.0000
13263 \labelwidthstring 00.00.0000
13275 \labelwidthstring 00.00.0000
13287 \labelwidthstring 00.00.0000
13299 \labelwidthstring 00.00.0000
13311 \labelwidthstring 00.00.0000
13319 buffer-toggle-read-only
13323 \labelwidthstring 00.00.0000
13335 \labelwidthstring 00.00.0000
13347 \labelwidthstring 00.00.0000
13359 \labelwidthstring 00.00.0000
13370 \labelwidthstring 00.00.0000
13381 \labelwidthstring 00.00.0000
13392 \labelwidthstring 00.00.0000
13403 \labelwidthstring 00.00.0000
13414 \labelwidthstring 00.00.0000
13425 \labelwidthstring 00.00.0000
13436 \labelwidthstring 00.00.0000
13447 \labelwidthstring 00.00.0000
13458 \labelwidthstring 00.00.0000
13469 \labelwidthstring 00.00.0000
13480 \labelwidthstring 00.00.0000
13491 \labelwidthstring 00.00.0000
13502 \labelwidthstring 00.00.0000
13513 \labelwidthstring 00.00.0000
13520 word-delete-forward
13524 \labelwidthstring 00.00.0000
13531 word-delete-backward
13535 \labelwidthstring 00.00.0000
13546 \labelwidthstring 00.00.0000
13553 end-of-sentence-period-insert
13557 \labelwidthstring 00.00.0000
13564 protected-space-insert
13568 \labelwidthstring 00.00.0000
13579 \labelwidthstring 00.00.0000
13590 \labelwidthstring 00.00.0000
13601 \labelwidthstring 00.00.0000
13612 \labelwidthstring 00.00.0000
13623 \labelwidthstring 00.00.0000
13634 \labelwidthstring 00.00.0000
13641 buffer-begin-select
13645 \labelwidthstring 00.00.0000
13656 \labelwidthstring 00.00.0000
13663 paragraph-up-select
13667 \labelwidthstring 00.00.0000
13674 paragraph-down-select
13678 \labelwidthstring 00.00.0000
13685 word-backward-select
13689 \labelwidthstring 00.00.0000
13696 word-forward-select
13700 \labelwidthstring 00.00.0000
13711 \labelwidthstring 00.00.0000
13718 word-delete-forward
13722 \labelwidthstring 00.00.0000
13733 \labelwidthstring 00.00.0000
13744 \labelwidthstring 00.00.0000
13755 \labelwidthstring 00.00.0000
13766 \labelwidthstring 00.00.0000
13773 break-paragraph-keep-layout
13777 \labelwidthstring 00.00.0000
13785 \begin_layout Subsection
13792 \labelwidthstring 00.00.0000
13803 \labelwidthstring 00.00.0000
13814 \labelwidthstring 00.00.0000
13825 \labelwidthstring 00.00.0000
13836 \labelwidthstring 00.00.0000
13847 \labelwidthstring 00.00.0000
13858 \labelwidthstring 00.00.0000
13869 \labelwidthstring 00.00.0000
13880 \labelwidthstring 00.00.0000
13891 \labelwidthstring 00.00.0000
13902 \labelwidthstring 00.00.0000
13913 \labelwidthstring 00.00.0000
13924 \labelwidthstring 00.00.0000
13935 \labelwidthstring 00.00.0000
13946 \labelwidthstring 00.00.0000
13957 \labelwidthstring 00.00.0000
13968 \labelwidthstring 00.00.0000
13979 \labelwidthstring 00.00.0000
13990 \labelwidthstring 00.00.0000
14001 \labelwidthstring 00.00.0000
14012 \labelwidthstring 00.00.0000
14023 \labelwidthstring 00.00.0000
14034 \labelwidthstring 00.00.0000
14041 protected-space-insert
14045 \labelwidthstring 00.00.0000
14056 \labelwidthstring 00.00.0000
14067 \labelwidthstring 00.00.0000
14078 \labelwidthstring 00.00.0000
14085 buffer-new-template
14089 \labelwidthstring 00.00.0000
14100 \labelwidthstring 00.00.0000
14111 \labelwidthstring 00.00.0000
14122 \labelwidthstring 00.00.0000
14133 \labelwidthstring 00.00.0000
14144 \labelwidthstring 00.00.0000
14155 \labelwidthstring 00.00.0000
14166 \labelwidthstring 00.00.0000
14173 end-of-sentence-period-insert
14177 \labelwidthstring 00.00.0000
14188 \labelwidthstring 00.00.0000
14199 \labelwidthstring 00.00.0000
14206 hyphenation-point-insert
14210 \labelwidthstring 00.00.0000
14221 \labelwidthstring 00.00.0000
14228 protected-space-insert
14232 \labelwidthstring 00.00.0000
14243 \labelwidthstring 00.00.0000
14254 \labelwidthstring 00.00.0000
14265 \labelwidthstring 00.00.0000
14276 \labelwidthstring 00.00.0000
14287 \labelwidthstring 00.00.0000
14298 \labelwidthstring 00.00.0000
14309 \labelwidthstring 00.00.0000
14320 \labelwidthstring 00.00.0000
14331 \labelwidthstring 00.00.0000
14342 \labelwidthstring 00.00.0000
14353 \labelwidthstring 00.00.0000
14364 \labelwidthstring 00.00.0000
14375 \labelwidthstring 00.00.0000
14386 \labelwidthstring 00.00.0000
14397 \labelwidthstring 00.00.0000
14404 word-delete-forward
14408 \labelwidthstring 00.00.0000
14415 word-delete-backward
14419 \labelwidthstring 00.00.0000
14430 \labelwidthstring 00.00.0000
14441 \labelwidthstring 00.00.0000
14452 \labelwidthstring 00.00.0000
14463 \labelwidthstring 00.00.0000
14470 paragraph-down-select
14474 \labelwidthstring 00.00.0000
14485 \labelwidthstring 00.00.0000
14492 buffer-begin-select
14496 \labelwidthstring 00.00.0000
14503 word-backward-select
14507 \labelwidthstring 00.00.0000
14514 word-forward-select
14518 \labelwidthstring 00.00.0000
14525 paragraph-up-select
14529 \labelwidthstring 00.00.0000
14540 \labelwidthstring 00.00.0000
14547 break-paragraph-keep-layout
14551 \labelwidthstring 00.00.0000
14562 \labelwidthstring 00.00.0000
14573 \labelwidthstring 00.00.0000
14584 \labelwidthstring 00.00.0000
14595 \labelwidthstring 00.00.0000
14606 \labelwidthstring 00.00.0000
14615 \labelwidthstring 00.00.0000
14626 \labelwidthstring 00.00.0000
14637 \labelwidthstring 00.00.0000
14648 \labelwidthstring 00.00.0000
14659 \labelwidthstring 00.00.0000
14669 \begin_layout Subsection
14675 \begin_layout Standard
14676 These are LyX keyboard definitions for mathematics, similar to those of
14680 \begin_layout Standard
14681 The bindings file and the present documentation were prepared by Serge Winitzki
14682 with assistance from Jean-Marc Lasgouttes.
14683 Version 1.3, for LyX 1.2.x and 1.3.x.
14686 \begin_layout Standard
14687 These definitions make it a lot easier to type equations without using the
14688 mouse, especially for people familiar with Scientific Word.
14689 The standard LyX bindings such as
14700 \begin_layout Standard
14701 Tip: to find the "LyX bind name" for a key, look at the status bar after
14702 typing some non-existent key combination.
14704 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
14705 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
14709 \labelwidthstring 00.00.0000
14718 -- Copy, cut, paste is as in Sciword,
14734 \labelwidthstring 00.00.0000
14743 -- Display equation toggle: type
14747 to insert a displayed formula (
14752 \begin_inset Quotes eld
14756 \begin_inset Quotes erd
14764 in a displayed formula to convert it back to an inline formula.
14768 \labelwidthstring 00.00.0000
14783 to insert a fraction (
14788 \begin_inset Quotes eld
14792 \begin_inset Quotes erd
14796 You can also select an expression and type
14800 to convert it to the numerator of a fraction.
14809 end of the denominator will delete the numerator and convert the denominator
14814 \labelwidthstring 00.00.0000
14826 \begin_inset Formula $\int$
14834 \begin_inset Quotes eld
14838 \begin_inset Quotes erd
14845 \labelwidthstring 00.00.0000
14852 line-delete-forward
14854 -- Emacs-like binding: delete forward of cursor to end of line.
14858 \labelwidthstring 00.00.0000
14867 -- A text/math toggle (
14872 \begin_inset Quotes eld
14876 \begin_inset Quotes erd
14879 ): switches to math in text mode, and also inserts roman text in math mode.
14889 \begin_inset Quotes eld
14893 \begin_inset Quotes erd
14900 \labelwidthstring 00.00.0000
14909 -- Add/remove numbering in a single equation.
14913 \labelwidthstring 00.00.0000
14922 -- Add/remove numbering at a line in equation arrays.
14925 \begin_layout Standard
14926 The above commands are toggles that control the numbering of equations (
14931 \begin_inset Quotes eld
14935 \begin_inset Quotes erd
14939 Note: when deleting a number in a labeled eqnarray, the label is not really
14940 removed (the TeX code becomes
14941 \begin_inset Quotes eld
14953 \begin_inset Quotes erd
14956 ) and this generates a (harmless) LaTeX warning.
14960 \labelwidthstring 00.00.0000
14969 -- Open a new document.
14974 \labelwidthstring 00.00.0000
14983 -- Insert a quote character " (
14988 \begin_inset Quotes eld
14992 \begin_inset Quotes erd
14997 \begin_inset Quotes eld
15001 \begin_inset Quotes erd
15004 double quote character that you get by default.
15008 \labelwidthstring 00.00.0000
15019 -- Square root sign
15020 \begin_inset Formula $\sqrt{x}$
15028 \begin_inset Quotes eld
15032 \begin_inset Quotes erd
15039 \labelwidthstring 00.00.0000
15051 \begin_inset Formula $\sqrt[n]{x}$
15058 \labelwidthstring 00.00.0000
15067 -- Another binding for a switch between the text and the math mode (
15072 \begin_inset Quotes eld
15076 \begin_inset Quotes erd
15080 Note that the roman text inserted in math mode is special.
15084 \labelwidthstring 00.00.0000
15097 the selected text (text mode only, use things like
15113 \labelwidthstring 00.00.0000
15122 -- W*ndows heritage.
15126 \labelwidthstring 00.00.0000
15135 -- Close the current document (again, a W*ndows heritage).
15139 \labelwidthstring 00.00.0000
15150 \labelwidthstring 00.00.0000
15161 \labelwidthstring 00.00.0000
15171 \begin_inset Quotes eld
15175 \begin_inset Quotes erd
15179 \begin_inset Quotes eld
15183 \begin_inset Quotes erd
15189 \begin_layout Standard
15190 Bracket delimiters: press
15194 -<bracket key> to insert a matching pair of delimiters.
15199 inserts a pair of parentheses
15200 \begin_inset Formula $\left[\right]$
15208 does the same thing.) It will switch to math mode if needed.
15209 The supported characters are ( [ { < |.
15210 It is the same to press the right or the left bracket.
15211 The corresponding delimiters are
15212 \begin_inset Formula $\left(\right)$
15216 \begin_inset Formula $\left[\right]$
15220 \begin_inset Formula $\left\{ \right\} $
15224 \begin_inset Formula $\left\langle \right\rangle $
15228 \begin_inset Formula $\left|\right|$
15233 \begin_inset Quotes eld
15237 \begin_inset Quotes erd
15240 and resize with their contents.
15241 Use Math Panel to get other or non-matching delimiters.
15242 Press backspace on the
15246 delimiter to remove both
15247 \begin_inset Quotes eld
15251 \begin_inset Quotes erd
15254 delimiters without removing their contents.
15258 \labelwidthstring 00.00.0000
15267 -- for convenience, pressing
15281 \labelwidthstring 00.00.0000
15292 \labelwidthstring 00.00.0000
15303 \labelwidthstring 00.00.0000
15314 \labelwidthstring 00.00.0000
15325 \labelwidthstring 00.00.0000
15336 \labelwidthstring 00.00.0000
15343 math-delim langle rangle
15345 -- angular delimiters
15346 \begin_inset Formula $\left\langle \right\rangle $
15349 , not to confuse with ordinary < > signs.
15353 \labelwidthstring 00.00.0000
15360 math-delim langle rangle
15363 \begin_layout Standard
15364 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15365 some British ones), the bar character
15370 -something and on some wayward Unices to "brokenbar".
15371 So we define all of these keys as well.
15375 \labelwidthstring 00.00.0000
15386 \labelwidthstring 00.00.0000
15397 \labelwidthstring 00.00.0000
15408 \labelwidthstring 00.00.0000
15419 \labelwidthstring 00.00.0000
15429 \begin_layout Standard
15430 Accents are in most cases
15434 -<accent key>, e.g.\InsetSpace ~
15448 for tilde (you also need to press
15454 \begin_inset Quotes eld
15466 \begin_inset Quotes erd
15470 Some accents work only in math mode and others only in text mode.
15474 \labelwidthstring 00.00.0000
15483 -- overdot accent, \i \.{a}
15488 \labelwidthstring 00.00.0000
15500 \begin_inset Formula $\dot{a}$
15503 (math mode only -- in physics this denotes a first derivative).
15507 \labelwidthstring 00.00.0000
15518 -- Vector accent over math
15519 \begin_inset Formula $\overrightarrow{x}$
15526 \labelwidthstring 00.00.0000
15535 -- umlaut accent, ä (text mode only)
15539 \labelwidthstring 00.00.0000
15550 -- double dot accent,
15551 \begin_inset Formula $\ddot{a}$
15554 (math mode only -- in physics this denotes a second derivative).
15555 To get a triple dot in math mode, use
15563 \labelwidthstring 00.00.0000
15572 -- grave accent à (text mode only, use
15582 \labelwidthstring 00.00.0000
15591 -- tilde accent ã (text mode only, use
15601 \labelwidthstring 00.00.0000
15610 -- acute accent á (text mode only, use
15620 \labelwidthstring 00.00.0000
15629 -- circumflex (caret) accent â (text mode only, use
15638 \begin_layout Standard
15640 The new key S-F2 for creating a LaTeX file seems handy.
15644 \labelwidthstring 00.00.0000
15653 -- Save current document.
15657 \labelwidthstring 00.00.0000
15664 buffer-export latex
15666 -- Write a LaTeX file for the current document.
15670 \labelwidthstring 00.00.0000
15679 -- Find and replace dialog.
15683 \labelwidthstring 00.00.0000
15700 \labelwidthstring 00.00.0000
15713 to quit LyX is the W*ndows w*ndow manager's mnemonic.
15716 \begin_layout Standard
15725 are used to switch fonts.
15730 to switch back to the normal font.
15731 The non-default font switches
15739 all work as toggles.
15740 They also work on the whole word if you put the cursor in the middle of
15741 the word, or if you select some text.
15745 \labelwidthstring 00.00.0000
15754 -- stop using any special font
15758 \labelwidthstring 00.00.0000
15775 \labelwidthstring 00.00.0000
15792 \labelwidthstring 00.00.0000
15809 \labelwidthstring 00.00.0000
15823 (Used sometimes for people's names.)
15826 \begin_layout Standard
15832 \begin_inset Quotes eld
15836 \begin_inset Quotes erd
15843 key (useful e.g.\InsetSpace ~
15844 if the keyboard has no working
15851 \begin_layout Standard
15852 Here are some Sciword-inspired mnemonics for frequently used math symbols.
15853 Many symbols start with a
15862 cannot be itself bound to anything.
15866 \labelwidthstring 00.00.0000
15878 \begin_inset Quotes eld
15882 \begin_inset Quotes erd
15886 \begin_inset Formula $\prime$
15890 This is frequently unnecessary: in most cases the normal apostrophe works
15893 \begin_inset Formula $x'+2x=0$
15896 , but in some cases this would generate a double superscript error in LaTeX.
15898 \begin_inset Formula $x^{\prime2}$
15902 \begin_inset Formula $x$
15905 prime squared) must be entered with the prime character.
15909 \labelwidthstring 00.00.0000
15917 command-sequence math-superscript; math-insert
15921 -- Insert a prime as a superscript (see example above).
15925 \labelwidthstring 00.00.0000
15934 -- Insert an upper index.
15941 \labelwidthstring 00.00.0000
15950 -- Insert a lower index.
15957 \labelwidthstring 00.00.0000
15969 -- Partial derivative symbol
15970 \begin_inset Formula $\partial$
15977 \labelwidthstring 00.00.0000
15989 -- Summation symbol
15990 \begin_inset Formula $\sum$
15993 (not the same as the Greek letter uppercase Sigma
15994 \begin_inset Formula $\Sigma$
15997 because it can resize and allows smart upper/lower limits).
16001 \labelwidthstring 00.00.0000
16014 \begin_inset Formula $\prod$
16017 (not the same as the Greek letter uppercase Pi,
16018 \begin_inset Formula $\Pi$
16025 \labelwidthstring 00.00.0000
16038 \begin_inset Formula $\infty$
16045 \labelwidthstring 00.00.0000
16058 \begin_inset Formula $\times$
16065 \labelwidthstring 00.00.0000
16075 -- Insert a stacked array
16076 \begin_inset Formula $\begin{array}{c}
16078 \end{array}\end{array}$
16082 (Frequently useful in formulae.)
16086 \labelwidthstring 00.00.0000
16097 \begin_inset Formula $\times$
16101 \begin_inset Formula $\begin{array}{ccc}
16106 (Then you can modify its size using the
16108 Edit\SpecialChar \menuseparator
16115 \labelwidthstring 00.00.0000
16128 \begin_inset Quotes eld
16132 \begin_inset Quotes erd
16136 \begin_inset Formula $\dagger$
16143 \labelwidthstring 00.00.0000
16156 \begin_inset Quotes eld
16160 \begin_inset Quotes erd
16164 \begin_inset Formula $\equiv$
16171 \labelwidthstring 00.00.0000
16183 \begin_inset Quotes eld
16186 Approximate equality
16187 \begin_inset Quotes erd
16191 \begin_inset Formula $\approx$
16198 \labelwidthstring 00.00.0000
16210 \begin_inset Quotes eld
16214 \begin_inset Quotes erd
16218 \begin_inset Formula $\sim$
16225 \labelwidthstring 00.00.0000
16237 \begin_inset Formula $\rightarrow$
16241 \begin_inset Formula $\lim_{x\rightarrow0}$
16248 \labelwidthstring 00.00.0000
16260 \begin_inset Formula $\leq$
16267 \labelwidthstring 00.00.0000
16278 -- Greater-or-equal
16279 \begin_inset Formula $\geq$
16286 \labelwidthstring 00.00.0000
16299 \begin_inset Quotes eld
16303 \begin_inset Quotes erd
16307 \begin_inset Formula $\ll$
16310 (useful in physics)
16314 \labelwidthstring 00.00.0000
16327 \begin_inset Quotes eld
16331 \begin_inset Quotes erd
16335 \begin_inset Formula $\gg$
16341 \begin_layout Subsection
16342 Standard math bindings
16346 \labelwidthstring 00.00.0000
16360 \labelwidthstring 00.00.0000
16372 \labelwidthstring 00.00.0000
16384 \labelwidthstring 00.00.0000
16398 \labelwidthstring 00.00.0000
16410 \labelwidthstring 00.00.0000
16422 \labelwidthstring 00.00.0000
16436 \labelwidthstring 00.00.0000
16448 \labelwidthstring 00.00.0000
16460 \labelwidthstring 00.00.0000
16472 \labelwidthstring 00.00.0000
16486 \labelwidthstring 00.00.0000
16500 \labelwidthstring 00.00.0000
16514 \labelwidthstring 00.00.0000
16528 \labelwidthstring 00.00.0000
16542 \labelwidthstring 00.00.0000
16556 \labelwidthstring 00.00.0000
16568 \labelwidthstring 00.00.0000
16582 \labelwidthstring 00.00.0000
16594 \labelwidthstring 00.00.0000
16606 \labelwidthstring 00.00.0000
16618 \labelwidthstring 00.00.0000
16630 \labelwidthstring 00.00.0000
16644 \labelwidthstring 00.00.0000
16656 \labelwidthstring 00.00.0000
16668 \labelwidthstring 00.00.0000
16680 \labelwidthstring 00.00.0000
16688 math-delim langle rangle
16692 \labelwidthstring 00.00.0000
16700 math-delim rangle langle
16704 \labelwidthstring 00.00.0000
16716 \labelwidthstring 00.00.0000
16730 \labelwidthstring 00.00.0000
16743 \begin_layout Subsection
16748 \labelwidthstring 00.00.0000
16758 \labelwidthstring 00.00.0000
16768 \labelwidthstring 00.00.0000
16778 \labelwidthstring 00.00.0000
16788 \labelwidthstring 00.00.0000