1 #LyX 1.5.0svn created this file. For more info see http://www.lyx.org/
8 \IfFileExists{isolatin.def}
9 {\usepackage[isolatin]{inputenc}}
10 {\usepackage[latin1]{inputenc}}
13 \inputencoding default
16 \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 Standard
1854 you can choose whether the format is a document format or not.
1855 The difference between document and non--document formats is that you can
1856 export your LyX document only to document formats.
1857 Non--document formats are used for included graphics.
1858 Examples for document formats are
1867 Examples for non--document formats are
1880 are both document formats and non--document formats.
1885 should be checked for these formats.
1888 \begin_layout Section
1889 BibTeX and makeindex
1892 \begin_layout Standard
1893 Both the bibliography generating command (default
1897 ) and the index generating command (default
1910 As an alternative for
1922 \begin_layout Standard
1923 The command to enter is
1929 makeindex.sh -m $$lang
1932 \begin_layout Standard
1933 where the placeholder
1937 will be replaced by the chosen document (babel) language.
1941 \begin_layout Standard
1942 have installed the packages
1959 at a shell prompt for a help page.
1962 \begin_layout Section
1963 ASCII export options
1966 \begin_layout Standard
1967 \begin_inset VSpace bigskip
1973 \begin_layout Standard
1975 There are a couple of commands that can be used to
1976 \begin_inset Quotes eld
1980 \begin_inset Quotes erd
1983 exported ASCII text files.
1984 Note that LyX automatically detects and uses the best settings for your
1985 system at installation time, but you can modify them if you disagree with
1989 \begin_layout Description
1998 This option defines the command used to produce better ASCII tables with
2003 UNIX-commands (refer to their manpages for more information about them).
2004 Setting this as empty tells LyX to use the internal (inferior) formatter.
2007 \begin_layout Description
2017 With this command you can set the default line length of the ASCII output
2019 Setting it to 0 means endless lines.
2022 \begin_layout Section
2026 \begin_layout Standard
2027 There are a bunch of configuration options that are used for interaction
2028 with the external print command from LyX.
2029 Normally the defaults are fine: if, however, your print command takes different
2030 option names, you can modify them here.
2033 \begin_layout Subsection
2037 \begin_layout Standard
2038 You can change the colors used by LyX on-screen using the new
2043 Alternatively, if you're feeling particularly perverse you could use the
2048 bindable function (see the
2053 Input would have the format:
2056 \begin_layout Standard
2059 set-color LyXName X11Color
2062 \begin_layout Standard
2063 Here is a (partial) list of the functions and default colors:
2066 \begin_layout Standard
2068 \begin_inset Tabular
2069 <lyxtabular version="3" rows="10" columns="3">
2071 <column alignment="left" valignment="top" leftline="true" width="0pt">
2072 <column alignment="left" valignment="top" leftline="true" width="0pt">
2073 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2074 <row topline="true" bottomline="true">
2075 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2078 \begin_layout Standard
2093 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2096 \begin_layout Standard
2111 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2114 \begin_layout Standard
2130 <row topline="true">
2131 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2134 \begin_layout Standard
2149 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2152 \begin_layout Standard
2167 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2170 \begin_layout Standard
2186 <row topline="true">
2187 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2190 \begin_layout Standard
2205 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2208 \begin_layout Standard
2223 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2226 \begin_layout Standard
2242 <row topline="true">
2243 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2246 \begin_layout Standard
2261 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2264 \begin_layout Standard
2279 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2282 \begin_layout Standard
2298 <row topline="true">
2299 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2302 \begin_layout Standard
2317 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2320 \begin_layout Standard
2335 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2338 \begin_layout Standard
2354 <row topline="true">
2355 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2358 \begin_layout Standard
2373 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2376 \begin_layout Standard
2386 fraction Lines, brackets, etc.
2391 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2394 \begin_layout Standard
2410 <row topline="true">
2411 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2414 \begin_layout Standard
2429 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2432 \begin_layout Standard
2438 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2441 \begin_layout Standard
2457 <row topline="true">
2458 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2461 \begin_layout Standard
2476 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2479 \begin_layout Standard
2485 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2488 \begin_layout Standard
2504 <row topline="true">
2505 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2508 \begin_layout Standard
2523 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2526 \begin_layout Standard
2532 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2535 \begin_layout Standard
2551 <row topline="true" bottomline="true">
2552 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2555 \begin_layout Standard
2570 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2573 \begin_layout Standard
2583 selection background
2588 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2591 \begin_layout Standard
2614 \begin_layout Section
2615 The autodetected settings
2618 \begin_layout Standard
2619 \begin_inset LatexCommand \label{sec:autodetected}
2623 There are several items that are detected for you when you run
2630 \SpecialChar \menuseparator
2636 In this section, we list those which pertain to the user preferences.
2639 \begin_layout Description
2660 , depending on what is available.
2663 \begin_layout Description
2676 plus a bunch of options.
2679 \begin_layout Description
2692 on systems (so-called System V) who have this command, and
2696 otherwise (BSD systems).
2699 \begin_layout Description
2705 print_spool_printerprefix
2716 , depending on whether
2727 \begin_layout Description
2744 fonts are found and LaTeX has support for these fonts built-in.
2745 You can set it manually if you only have the so-called
2752 \begin_layout Section
2756 \begin_layout Standard
2757 There are many other configuration options that can be used to customize
2759 We still need to document them here, but again, most should be fairly obvious.
2760 Please ask on the mailing lists if you need some more information; it may
2761 even prompt us to expand this section.
2764 \begin_layout Chapter
2765 Internationalizing LyX
2766 \begin_inset LatexCommand \label{chap:i18n}
2773 \begin_layout Standard
2774 LyX supports using a translated interface.
2775 Last time we checked, LyX provided text in 14 languages together with the
2776 default English text.
2777 The language of choice is called your
2782 (For further reading on locale settings, see also the documentation for
2783 locale that comes with your operating system.
2784 For Linux, the manual page for locale(5) could be a good place to start).
2787 \begin_layout Standard
2788 Notice that these translations will work, but do contain a few flaws.
2789 In particular, all dialogs have been designed with the English text in
2790 mind, which means that some of the translated text will be too large to
2791 fit within the space allocated.
2792 This is only a display problem and will not cause any harm.
2793 Also, you will find that some of the translations do not define short-cut
2794 keys for everything.
2795 Sometimes, there are simply not enough free letters to do it.
2796 Other times, the translator just hasn't got around to doing it yet.
2797 Our localization team -- which you may wish to join -- will try to fix
2798 these shortcomings in future versions of LyX.
2801 \begin_layout Section
2802 Selecting an alternative language for the user interface
2805 \begin_layout Standard
2806 This feature is disabled by default, meaning that system default language
2808 To enable an alternative language, you have to set an appropriate environment
2816 for csh class shells
2831 with the two letter code (or four letter code, like
2835 for British English) for the language you want.
2841 Besides the user interface texts being translated, also the appropriate
2842 manuals will be presented under the Help menu -- if available.
2845 \begin_layout Standard
2846 On some systems, you may have to redefine
2858 , to override the system settings; their preference is in this order
2862 \begin_layout Standard
2863 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
2869 , which corresponds to the way GNU
2874 Consult your system documentation.
2875 Normally, you'll want to put the appropriate line in a shell script run
2876 on start-up, so that the translation is on by default.
2877 Remember that this affects
2881 localized packages, not only LyX!
2884 \begin_layout Standard
2885 If LyX is configured and compiled with
2886 \begin_inset Quotes eld
2894 \begin_inset Quotes erd
2897 , this mechanism will not work.
2900 \begin_layout Section
2904 \begin_layout Subsection
2905 Translating the graphical user interface (text messages).
2908 \begin_layout Standard
2913 library to handle the internationalization of the interface.
2914 To have LyX speak your favorite language in all menus and dialogs, you
2919 -file for that language.
2920 When this is available, you'll have to generate a mo-file from it and install
2926 The process of doing all of this is explained in the documentation for
2931 , but in short, this is what you do (
2935 denotes the language code):
2938 \begin_layout Standard
2942 \begin_layout Standard
2954 \begin_layout Itemize
2957 LYX-SOURCE-DIR/po/lyx.pot
2970 doesn't exist, it can be remade with
2974 in that directory, or you can use an existing po-file for some other language
2978 \begin_layout Itemize
2985 \begin_layout Standard
2986 We recommend that you use Emacs to do this, since the
2990 distribution includes a nice mode that supports you in doing this.
2998 For some menu- and widget-labels, there are also shortcut keys that should
3000 Those keys are marked after a `|', and should be translated according to
3001 the words and phrases of the
3006 There is a tool named
3010 written in Prolog in
3012 LYX-SOURCE-DIR/development/tools/
3014 that may be useful to help determine short-cut keys.
3015 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
3016 characters as shortcut keys.
3017 You should also fill also out the information at the beginning of the new
3022 -file with your email-address, etc., so people know where to reach you with
3023 suggestions and entertaining flames.
3026 \begin_layout Itemize
3035 This can be done with
3054 \begin_layout Itemize
3059 -file to your locale-tree, at the correct directory for application messages
3064 , and under the name
3073 /usr/local/share/locale/
3084 \begin_layout Standard
3088 \begin_layout Standard
3100 \begin_layout Standard
3101 Adding a new po-file to the
3105 of LyX involves altering the configure scripts and more, but the way
3109 works, you don't actually need the source-code of LyX to translate it---having
3125 \begin_layout Standard
3126 If you've written a translation file for a language that LyX does not currently
3127 support, feel free to submit it for inclusion by sending a patch.
3128 In this case, we recommend that you read the
3136 directory for more instructions.
3139 \begin_layout Subsubsection
3143 \begin_layout Standard
3144 Sometimes it turns out that one english message needs to be translated into
3145 different messages in the target language.
3146 One example is the message
3150 which has the german translation
3167 does not handle such ambigous translations.
3168 Therefore you have to add some context information to the message: Instead
3175 To[[as in 'From format x to format y']]
3179 To[[as in 'From page x to page y']].
3182 Now the two occurences of
3190 and can be translated correctly to
3205 \begin_layout Standard
3206 Of course the context information needs to be stripped off the original
3207 message when no translation is used.
3208 Therefore you have to put it in double square brackets at the end of the
3209 message (see the example above).
3210 The translation mechanism of LyX ensures that everything in double square
3211 brackets at the end of messages is removed before displaying the message.
3214 \begin_layout Subsection
3215 Translating the documentation.
3218 \begin_layout Standard
3219 The online documentation (in the
3226 -menu) can (and should!) be translated.
3227 If there are translated versions of the documentation available
3231 \begin_layout Standard
3232 As of February 2003, almost all of the docs have been translated into German
3238 has been translated into at least 12 other languages, with other translations
3240 The library of translated documents is growing rapidly.
3245 , and the locale is set accordingly, these will be used automagically by
3247 LyX looks for translated versions as
3261 denotes the language as set by the environmental variable
3266 If there are none, the default English versions will be displayed.
3267 Note that the translated versions must have the same filenames (
3271 above) as the original.
3272 If you feel up to translating the documentation (an excellent way to proof-read
3273 the original documentation BTW!), there are a few things you should do
3277 \begin_layout Itemize
3282 , the guide to writing LyX documentation.
3283 Pay special attention to the translator's section.
3286 \begin_layout Itemize
3287 Check out the documentation translation web page at
3288 \begin_inset LatexCommand \url[The LyX Developer's Web Site]{http://www.devel.lyx.org}
3293 That way, you can find out which (if any) documents have already been translate
3294 d into your language.
3295 You can also find out who (if anyone) is organizing the effort to translate
3296 the documentation into your language.
3297 If no one is organizing the effort, please let us know that you're interested.
3300 \begin_layout Standard
3301 Once you get to actually translating, here's a few hints for you that may
3305 \begin_layout Itemize
3306 Join the documentation team! There is information on how to do that in
3315 elp\SpecialChar \menuseparator
3322 ), which by the way is the first document you should translate.
3325 \begin_layout Itemize
3326 Learn the typographic conventions for the language you are translating to.
3327 Typography is an ancient art and over the centuries, a great variety of
3328 conventions have developed throughout different parts of the world.
3329 Also study the professional terminology amongst typographers in your country.
3330 Inventing your own terminology will only confuse the users.
3333 (Warning! Typography is addictive!)
3336 \begin_layout Itemize
3337 Make a copy of the document.
3338 This will be your working copy.
3339 You can use this as your personal translated help-file by placing it in
3347 \begin_layout Itemize
3348 Sometimes the original document (from the LyX-team) will be updated.
3349 Use the ViewCVS tool available at
3350 \begin_inset LatexCommand \htmlurl{http://www.lyx.org/viewcvs.cgi/lyxdoc/}
3354 to see what has been changed
3358 \begin_layout Standard
3359 Alternatively, you can keep a copy of the latest version of the English
3360 document which you've translated.
3366 That way you can easily see which parts of the translated document need
3370 \begin_layout Itemize
3371 If you ever find an error in the original document, fix it and notify the
3372 rest of the documentation team of the changes! (You didn't forget to join
3373 the documentation team did you?)
3376 \begin_layout Section
3377 International Keyboard Support
3380 \begin_layout Standard
3383 [Editor's Note: The following section is by
3388 It needs to be fixed to conform to the new Documentation Style sheet and
3389 to make use of the new v1.0 features.
3390 The whole thing also needs to be merged with the section following it.-jw]
3393 \begin_layout Subsection
3394 Defining Own Keymaps: Keymap File Format
3397 \begin_layout Standard
3398 Let's look at a keyboard definition file a little closer.
3399 It is a plain ASCII file defining
3402 \begin_layout Itemize
3403 key-to-key or key-to-string translations
3406 \begin_layout Itemize
3410 \begin_layout Itemize
3411 dead keys exceptions
3414 \begin_layout Standard
3415 To define key-to-key or key-to-string translation, use this command:
3418 \begin_layout Quotation
3434 \begin_layout Standard
3439 is the key to be translated and
3443 is the string to be inserted into the document.
3444 To define dead keys, use:
3447 \begin_layout Quotation
3463 \begin_layout Standard
3473 The following dead keys are supported (shortcut name is in parentheses):
3476 \begin_layout Quotation
3484 \begin_layout Quotation
3490 \begin_layout Quotation
3496 \begin_layout Quotation
3503 \begin_layout Quotation
3509 \begin_layout Quotation
3516 \begin_layout Standard
3528 \begin_layout Quotation
3534 \begin_layout Quotation
3541 \begin_layout Standard
3553 \begin_layout Quotation
3559 \begin_layout Quotation
3567 \begin_layout Quotation
3574 \begin_layout Standard
3586 \begin_layout Quotation
3594 \begin_layout Standard
3606 \begin_layout Quotation
3615 \begin_layout Quotation
3616 hungarian umlaut (hug)
3623 \begin_layout Quotation
3629 \begin_layout Quotation
3637 \begin_layout Standard
3649 \begin_layout Standard
3650 Since in many international keyboards there are exceptions to what some
3651 dead keys should do, you can define them using
3654 \begin_layout Quotation
3663 deadkey key outstring
3666 \begin_layout Standard
3667 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3671 \begin_layout Quotation
3685 \begin_layout Standard
3686 to make it work correctly.
3687 Also, you have to define as exceptions dead keys over i and j, to remove
3688 the dot from them before inserting an accent mark.
3689 I will change this when the time comes, but so far I haven't had time.
3692 \begin_layout Standard
3693 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3699 have different meaning.
3704 marks comments, quotes start and end LaTeX-style commands.
3705 To enter quote, you'll need to use
3724 \begin_layout Standard
3725 If you make a keyboard description file that works for your language, please
3726 mail it to me, so I can include it in the next keymap distribution.
3729 \begin_layout Standard
3730 More keywords will be supported in keymap configuration file in future,
3734 \begin_layout Itemize
3752 \begin_layout Itemize
3767 an external keymap translation program
3770 \begin_layout Standard
3771 Also, it should look into
3775 file for defaults, too (for example, a
3781 option to include default keyboard).
3784 \begin_layout Section
3785 International Keymap Stuff
3786 \begin_inset LatexCommand \label{sec:keymap}
3793 \begin_layout Standard
3794 The next two sections describe the
3806 file syntax in detail.
3807 These sections should help you design your own key map if the ones provided
3808 do not meet your needs.
3811 \begin_layout Subsection
3815 \begin_layout Standard
3824 file maps keystrokes to characters or strings.
3825 As the name suggests it sets a keyboard mapping.
3850 are described in this section.
3854 \labelwidthstring 00.00.0000
3861 Map a character to a string
3864 \begin_layout LyX-Code
3877 \begin_layout Standard
3895 the double-quote (")
3903 must be escaped with a preceding backslash (
3914 \begin_layout Standard
3921 statement to cause the symbol
3927 to be output for the keystroke
3936 \begin_layout LyX-Code
3943 \labelwidthstring 00.00.0000
3950 Specify an accent character
3953 \begin_layout LyX-Code
3963 \begin_layout Standard
3964 This will make the cha
3979 This is the dead key
3983 \begin_layout Standard
3990 refers to a key that does not produce a character by itself, but when followed
3991 with another key, produces the desired accent character.
3992 For example, a German characte
3994 r with an umlaut like
3998 can be produced in this manner.
4007 \begin_layout Standard
4014 and then another key not in
4022 followed by the other, unallowed key, as output.
4031 cancels a dead key, so if
4042 , the cursor will not go one position backwards but will instead cancel
4049 might have had on the next keystroke.
4053 \begin_layout Standard
4054 The following example specifies that the character ' is to be an acute accent,
4055 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4058 \begin_layout LyX-Code
4061 kmod ' acute aeiouAEIOU
4065 \labelwidthstring 00.00.0000
4070 Specify an exception to the accent character
4073 \begin_layout LyX-Code
4084 \begin_layout Standard
4085 This defines an exce
4104 have been assigned a keystroke with a previous
4118 must not belong in the
4138 If such a declaration does not exist in
4175 \begin_layout Standard
4176 The following command produces causes äi to be produced when you enter acute-i
4180 \begin_layout LyX-Code
4195 \labelwidthstring 00.00.0000
4200 Combine two accent characters
4203 \begin_layout LyX-Code
4209 accent1 accent2 allowed
4212 \begin_layout Standard
4213 This one is getting pretty esoteric.
4214 It allows you to combine the effect
4259 \begin_layout Standard
4260 Consider this example from the
4269 \begin_layout LyX-Code
4272 kmod ; acute aeioyvhAEIOYVH
4276 kcomb acute umlaut iyIY
4279 \begin_layout Standard
4280 This allows you to press
4286 and get the effect of
4303 in this case cancels the last dead key, so if you press
4320 \begin_layout Subsection
4324 \begin_layout Standard
4333 mapping is performed, a
4340 file maps the strings that the symbols generate to characters in the current
4342 The LyX distribution currently includes at least the
4357 \begin_layout Standard
4366 file is a sequence of declarations of the form
4369 \begin_layout LyX-Code
4380 \begin_layout Standard
4381 For example, in order to map
4389 to the corresponding character in the iso-8859-1 set (233), the following
4393 \begin_layout LyX-Code
4401 \begin_layout Standard
4421 the same character can apply to more than one string.
4434 \begin_layout LyX-Code
4460 \begin_layout Standard
4461 If LyX cannot find a mapping for the string produced by the keystroke or
4462 a deadkey sequence, it will check if it looks like an accented char and
4463 try to draw an accent over the character on screen.
4466 \begin_layout Subsection
4470 \begin_layout Standard
4471 There is a second way to add support for international characters through
4472 so-called dead-keys.
4473 A dead-key works in combination with a letter to produce an accented character.
4474 Here, we'll explain how to create a really simple dead-key to illustrate
4478 \begin_layout Standard
4479 Suppose you happen to need the circumflex character,
4480 \begin_inset Quotes eld
4485 \begin_inset Quotes erd
4493 -key [a.k.a.\InsetSpace ~
4498 ] to the LyX command
4507 Now, whenever you type the
4511 -key followed by a letter, that letter will have a circumflex accent on
4513 For example, the sequence
4514 \begin_inset Quotes eld
4522 \begin_inset Quotes erd
4525 produces the letter:
4526 \begin_inset Quotes eld
4530 \begin_inset Quotes erd
4534 If you tried to type
4535 \begin_inset Quotes eld
4543 \begin_inset Quotes erd
4546 , however, LyX will complain with a beep, since a
4547 \begin_inset Quotes eld
4555 \begin_inset Quotes erd
4558 never takes a circumflex accent.
4563 after a dead-key produces the bare-accent.
4564 Please note this last point! If you bind a key to a dead-key, you'll need
4565 to rebind the character on that key to yet another key.
4570 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4573 \begin_layout Standard
4574 One common way to bind dead-keys is to use
4586 in combination with an accent, like
4587 \begin_inset Quotes eld
4595 \begin_inset Quotes erd
4599 \begin_inset Quotes eld
4607 \begin_inset Quotes erd
4611 \begin_inset Quotes eld
4619 \begin_inset Quotes erd
4623 Another way involves using
4631 [remember them from section?] to set up the special
4640 acts in some ways just like
4644 and permits you to bind keys to accented characters.
4645 You can also turn keys into dead-keys by binding them to something like
4650 and then binding this symbolic key to the corresponding LyX command.
4654 \begin_layout Standard
4659 : This is exactly what I do in my
4677 and a bunch of these
4678 \begin_inset Quotes eld
4686 \begin_inset Quotes erd
4689 symbolic keys bound such things as
4700 This is how I produce my accented characters.
4705 You can make just about anything into the
4713 keys, a spare function key, etc.
4714 As for the LyX commands that produce accents, check the entry for
4723 You'll find the complete list there.
4726 \begin_layout Subsection
4727 Saving your Language Configuration
4730 \begin_layout Standard
4731 \begin_inset LatexCommand \label{sec:savlang}
4735 You can edit your preferences so that your desired language environment
4736 is automatically configured when LyX starts up, via the
4741 dit\SpecialChar \menuseparator
4751 \begin_layout Chapter
4752 Installing New Document Classes, Layouts, and Templates
4753 \begin_inset LatexCommand \label{chap:textclass}
4761 \begin_layout Standard
4762 Installing New Document Classes
4770 \begin_layout Standard
4771 In this chapter, we describe the procedures for creating and installing
4772 new LyX layout and template files, as well as offer a refresher on correctly
4773 installing new LaTeX document classes.
4774 Some definitions: a document class is a LaTeX file (usually ending in
4782 ) which describes the format of a document such as an article, report, journal
4784 and all the commands needed to realize that format.
4785 A layout file is a LyX file which corresponds to a LaTeX document class
4786 and which tells LyX how to
4787 \begin_inset Quotes eld
4791 \begin_inset Quotes erd
4794 things on the screen to make the display look something like the final
4796 More precisely, a layout file describes a
4797 \begin_inset Quotes eld
4801 \begin_inset Quotes erd
4804 which is the internal construct LyX uses to render the screen display.
4806 \begin_inset Quotes eld
4810 \begin_inset Quotes erd
4814 \begin_inset Quotes eld
4818 \begin_inset Quotes erd
4821 can be used somewhat interchangeably, but it is better to refer to the
4822 file as the layout, and the thing living in LyX's memory as the text class.
4823 A template file is simply a LyX document which contains a set of predefined
4824 entries for a given document class which are generally required for that
4826 Templates are especially useful for things like journal manuscripts which
4827 are to be submitted electronically.
4830 \begin_layout Section
4831 Installing a new LaTeX package
4834 \begin_layout Standard
4835 Some installations may not include a LaTeX package that you would like to
4837 For example, you might need FoilTeX, a common (and very powerful) package
4838 for preparing slides or viewgraphs for overhead projectors.
4839 Here are the formal steps involved in getting the package up and running
4840 if you are using teTeX or some other web2c based distribution.
4844 \begin_layout Enumerate
4845 Get the package from CTAN or wherever.
4849 \begin_layout Standard
4852 Inventory of your LaTeX configuration
4854 manual for details of what CTAN is and where supported document classes
4863 \begin_layout Enumerate
4868 (this usually lives in the directory
4872 , though you can run
4877 It describes how to add a local
4881 directory; follow the instructions.
4882 You need to insert the name of your local
4895 is a logical place to install software that did not come with your distribution
4901 Usually, you will have to modify only two things:
4905 \begin_layout Enumerate
4910 to the directory you chose; e.g.
4915 TEXMFLOCAL = /usr/local/texmf
4918 \begin_layout Enumerate
4932 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
4936 \begin_layout Enumerate
4947 You must follow the directory structure of your existing
4951 directory (for example, latex packages should go under
4953 /usr/local/texmf/tex/latex/
4958 \begin_layout Enumerate
4959 Install the package.
4960 For example, you would unpack the FoilTeX tarball and create
4962 /usr/local/texmf/tex/latex/foiltex
4969 directory contains various files.
4972 \begin_layout Enumerate
4980 /usr/local/texmf/ls-R
4985 \begin_layout Enumerate
4986 From within LyX, do:
4991 ools\SpecialChar \menuseparator
5002 \begin_layout Standard
5003 Now you should see your new package---for example
5012 ayout\SpecialChar \menuseparator
5027 Note that there are simpler ways of installing packages: you can add a
5028 link to the new package directory in the system LaTeX directory (
5032 , don't forget to then run
5036 ), or sometimes simply set the
5040 environment variable to include the new package.
5041 However, the formal procedure described in
5045 is guaranteed to work, so you should follow it unless circumstances absolutely
5046 prevent it: such as, when you don't have superuser access.
5049 \begin_layout Section
5053 \begin_layout Standard
5054 This section describes how to write and install your own LyX layout files
5055 (also known as text classes) and walks through the
5059 text class format as an example.
5064 files describe what paragraph styles are available for a given document
5065 class and how LyX should display them.
5066 We try to provide a thorough description of the process here; however,
5067 there are so many different types of documents supported by LaTeX classes
5068 we can't hope to cover every different possibility or problem you might
5073 \begin_layout Standard
5074 When you plan to write a new layout, it is extremely helpful to look at
5075 the example layouts distributed with LyX.
5076 If you use a nice LaTeX document class that might be of interest for others,
5077 too, and have a nice corresponding LyX layout, feel free to contribute
5078 the stuff to us, so we may put it into the distribution.
5081 \begin_layout Standard
5082 All the tags described in this chapter are case-insensitive; this means
5095 are really the same command.
5096 The possible values are printed in brackets after the feature's name.
5097 The default value if a feature isn't specified inside a text class-description
5105 If the argument has a datatype like
5106 \begin_inset Quotes eld
5110 \begin_inset Quotes erd
5114 \begin_inset Quotes eld
5118 \begin_inset Quotes erd
5121 , the default is shown like this:
5131 \begin_layout Subsection
5132 Supporting new document classes
5135 \begin_layout Standard
5136 There are two situations you are likely to encounter when wanting to support
5137 a new LaTeX document class, involving LaTeX2e class (
5148 \begin_layout Subsection
5156 \begin_layout Standard
5157 If your new document class is provided as a style file that is used in conjuncti
5158 on with an existing, supported document class, start by copying the existing
5159 class's layout file into your local directory.
5160 For the sake of example we'll assume that the style file is called
5164 and it is meant to be used with
5168 which is a standard class.
5171 \begin_layout LyX-Code
5172 cp report.layout ~/.lyx/layouts/myclass.layout
5175 \begin_layout Standard
5180 and change the line:
5183 \begin_layout LyX-Code
5186 DeclareLaTeXClass{report}
5189 \begin_layout Standard
5193 \begin_layout LyX-Code
5196 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5199 \begin_layout Standard
5203 \begin_layout LyX-Code
5213 \begin_layout Standard
5214 near the top of the file.
5217 \begin_layout Standard
5218 Start LyX and select
5223 ools\SpecialChar \menuseparator
5231 Restart LyX and try creating a new document.
5236 " as a document class option in the
5241 ocument\SpecialChar \menuseparator
5249 It is likely that some of the sectioning commands and such will differ
5250 from how the base class
5254 \begin_layout Standard
5264 works, so you can fiddle around with the settings for the different sections
5266 See below for more discussion on this.
5269 \begin_layout Subsection
5277 \begin_layout Standard
5278 In this case, you will probably have to
5279 \begin_inset Quotes eld
5283 \begin_inset Quotes erd
5287 We strongly suggest copying an existing layout file which uses a similar
5288 LaTeX class and modifying it if at all possible.
5289 At least use an existing file as a starting point so you can find out what
5290 items you need to worry about.
5291 Again, the specifics are covered below.
5294 \begin_layout Section
5295 Declaring a new text class
5298 \begin_layout Standard
5299 When it's finally time to get your hands dirty and create or edit your own
5300 layout file, the following sections describe what you're up against.
5301 Our advice is to go slowly, save and test often, listen to soothing music,
5302 and enjoy one or two of your favorite adult beverages; more if you are
5303 getting particularly stuck.
5304 It's really not that hard, except that the multitude of options can become
5305 overwhelming if you try to do to much in one sitting.
5306 Go have another adult beverage, just for good measure.
5309 \begin_layout Standard
5313 \begin_layout Standard
5314 Lines in a layout file which begin with a
5319 There is one exception to this rule: all layouts should begin with lines
5323 \begin_layout LyX-Code
5326 #% Do not delete the line below; configure depends on this
5329 \begin_layout LyX-Code
5334 DeclareLaTeXClass{article}
5337 \begin_layout Standard
5338 The second line is used when you configure LyX.
5339 The layout file is read by the LaTeX script
5343 , in a special mode where
5348 The first line is just a LaTeX comment, and the second one contains the
5349 declaration of the text class.
5350 If these lines appear in a file named
5354 , then they define a text class of name
5358 (the name of the layout file) which uses the LaTeX document class
5362 (the default is to use the same name as the layout).
5364 \begin_inset Quotes eld
5368 \begin_inset Quotes erd
5371 that appears above is used as a description of the text class in the
5376 ocument\SpecialChar \menuseparator
5386 \begin_layout Standard
5387 Let's assume that you wrote your own text class that uses the
5391 documentclass, but where you changed the appearance of the section headings.
5392 If you put it in a file
5396 , the header of this file should be:
5399 \begin_layout LyX-Code
5402 #% Do not delete the line below; configure depends on this
5405 \begin_layout LyX-Code
5410 DeclareLaTeXClass[article]{article (with my own headings)}
5413 \begin_layout Standard
5414 This declares a text class
5418 , associated with the LaTeX document class
5423 \begin_inset Quotes eld
5426 article (with my own headings)
5427 \begin_inset Quotes erd
5431 If your text class depends on several packages, you can declare it as:
5434 \begin_layout LyX-Code
5437 #% Do not delete the line below; configure depends on this
5440 \begin_layout LyX-Code
5445 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5448 \begin_layout Standard
5449 This indicates that your text class uses the foo.sty package.
5450 Finally, it is also possible to declare classes for SGML and DocBook code.
5451 Typical declarations will look like
5454 \begin_layout LyX-Code
5457 #% Do not delete the line below; configure depends on this
5460 \begin_layout LyX-Code
5465 DeclareSGMLClass{SGML (LinuxDoc)}
5468 \begin_layout Standard
5472 \begin_layout LyX-Code
5473 #% Do not delete the line below; configure depends on this
5476 \begin_layout LyX-Code
5479 DeclareDocBookClass[article]{SGML (DocBook article)}
5482 \begin_layout Standard
5483 Note that these declarations can also be given an optional parameter declaring
5484 the name of the document class (but not a list).
5487 \begin_layout Standard
5488 When the text class has been modified to your taste, all you have to do
5489 is to copy it either in
5502 ools\SpecialChar \menuseparator
5510 Exit LyX and restart it; then your new text class should be available along
5514 \begin_layout Subsection
5518 \begin_layout Standard
5519 The first non-comment line must contain the file format number:
5522 \begin_layout Description
5533 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
5534 don't have an explicit file format).
5535 The file format that is documented here is
5542 \begin_layout Subsection
5543 General text class parameters
5546 \begin_layout Standard
5547 These are the general parameters which describe the form of the entire document:
5550 \begin_layout Standard
5554 \begin_layout Standard
5566 \begin_layout Description
5580 ] Whether the class-default should have one or two columns.
5581 Can be changed in the
5586 ocument\SpecialChar \menuseparator
5597 This setting (same goes for
5601 , too) is important: if your text class has two columns by default but you
5602 forget to set it correctly, the
5610 be output when you select
5619 ocument\SpecialChar \menuseparator
5627 \begin_layout Description
5641 ] Whether the class-default should be printing on one or both sides of the
5643 Can be changed in the
5651 ocument\SpecialChar \menuseparator
5661 \begin_layout Description
5676 ] The class default pagestyle.
5677 Can be changed in the
5682 ocument\SpecialChar \menuseparator
5695 \begin_layout Description
5699 ClassOptions\SpecialChar \ldots{}
5703 This section describes various global options supported by the document
5705 See Section\InsetSpace ~
5707 \begin_inset LatexCommand \ref{sec:classoptions}
5714 \begin_layout Description
5728 ] Whether the class already loads the
5733 This is the case of the
5744 \begin_layout Description
5758 ] Whether the class already provides the functionality of the
5763 This is the case of the
5774 \begin_layout Description
5788 ] Whether the class already provides the functionality of the
5793 This is the case of the
5800 \begin_layout Description
5807 This is used to describe the default font of the document.
5808 See Section\InsetSpace ~
5810 \begin_inset LatexCommand \ref{sec:fonts}
5817 \begin_layout Description
5828 ] This is the style that will be assigned to new paragraphs, usually
5833 This will default to the first defined style if not given, but you are
5834 highly encouraged to use this directive.
5837 \begin_layout Description
5854 ] Indicates what kind of markup is used to define the title of a document.
5859 means that the macro with name
5863 will be inserted after the last layout which has
5864 \begin_inset Quotes eld
5872 \begin_inset Quotes erd
5880 corresponds to the case where the block of paragraphs which have
5881 \begin_inset Quotes eld
5889 \begin_inset Quotes erd
5892 should be enclosed into the
5901 \begin_layout Description
5912 ] The name of the command/environment mentionned above.
5915 \begin_layout Description
5919 Preamble\SpecialChar \ldots{}
5923 A set of macro definitions that will be output at the beginning of the
5925 Use this for global definitions.
5928 \begin_layout Description
5935 As its name implies, this command allows you to include another layout
5936 definition file within yours to avoid duplicating commands.
5937 Common examples are the standard layout files, for example,
5941 , which contains most of the basic layouts.
5944 \begin_layout Description
5948 Style\SpecialChar \ldots{}
5952 This sequence defines a new style.
5953 If the style already exists, it will redefine some of its parameters instead.
5954 See Section\InsetSpace ~
5956 \begin_inset LatexCommand \ref{sec:style}
5963 \begin_layout Description
5970 This command deletes an existing style.
5971 This is particularly useful when you want to suppress a style that has
5972 be defined in an input file.
5975 \begin_layout Description
5979 Float\SpecialChar \ldots{}
5983 This sequence defines a new float.
5984 See Section\InsetSpace ~
5986 \begin_inset LatexCommand \ref{sec:floats}
5993 \begin_layout Description
6000 This command deletes an existing float.
6001 This is particularly useful when you want to suppress a float that has
6002 be defined in an input file.
6005 \begin_layout Description
6009 CharStyle\SpecialChar \ldots{}
6014 This section defines a new character style.
6015 See Section\InsetSpace ~
6017 \begin_inset LatexCommand \ref{sec:charstyle}
6024 \begin_layout Description
6028 Counter\SpecialChar \ldots{}
6032 This sequence defines a new counter.
6033 See Section\InsetSpace ~
6035 \begin_inset LatexCommand \ref{sec:counter}
6042 \begin_layout Standard
6046 \begin_layout Standard
6058 \begin_layout Subsection
6066 \begin_layout Standard
6067 \begin_inset LatexCommand \label{sec:classoptions}
6075 section can contain the following entries:
6078 \begin_layout Description
6089 ] The list of available font sizes for the document's main font, separated
6091 \begin_inset Quotes eld
6099 \begin_inset Quotes erd
6105 \begin_layout Description
6114 string="empty|plain|headings|fancy"
6116 ] The list of available page styles, separated by
6117 \begin_inset Quotes eld
6125 \begin_inset Quotes erd
6131 \begin_layout Description
6142 ] Some document class options, separated by a comma, that will be added
6143 to the optional part of the
6152 \begin_layout Subsection
6153 Specific Paragraph Layouts
6156 \begin_layout Standard
6157 \begin_inset LatexCommand \label{sec:style}
6161 A paragraph layout description looks like this
6165 \begin_layout Standard
6166 Note that this will either define a new layout or modify an existing one.
6174 \begin_layout LyX-Code
6181 \begin_layout LyX-Code
6185 \begin_layout LyX-Code
6189 \begin_layout Standard
6190 where the following commands are allowed:
6193 \begin_layout Standard
6197 \begin_layout Standard
6209 \begin_layout Description
6220 This is used to copy all the features of an existing layout into the current
6225 \begin_layout Description
6237 , Command, Environment, Item_Environment,
6243 ] How the layout should be translated into LaTeX.
6248 means nothing special.
6261 {\SpecialChar \ldots{}
6276 }\SpecialChar \ldots{}
6300 is generated for each paragraph of this environment.
6313 is passed as an argument to the environment.
6318 can be defined in the
6323 ayout\SpecialChar \menuseparator
6337 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6338 Visit the SGML class files for specific examples.
6341 \begin_layout Description
6349 If 1, marks the layout as being part of a title block (see also the
6360 \begin_layout Description
6367 The name of the corresponding LaTeX stuff.
6368 Either the environment or command name.
6371 \begin_layout Description
6378 The optional parameter for the corresponding
6385 This parameter cannot be changed from within LyX.
6388 \begin_layout Description
6399 ] The number of optional arguments that can be used with this layout.
6400 This is useful for things like section headings, and only makes sense with
6404 \begin_layout Description
6416 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6420 The kind of margin that the layout has on the left side.
6425 just means a fixed margin.
6430 means that the left margin depends on the string entered in the
6435 dit\SpecialChar \menuseparator
6440 aragraph\InsetSpace ~
6444 This is used to typeset nice lists without tabulators.
6449 means that the margin depends on the size of the label.
6450 This is used for automatic enumerated headlines.
6451 It is obvious that the headline
6452 \begin_inset Quotes eld
6455 5.4.3.2.1 Very long headline
6456 \begin_inset Quotes erd
6459 must have a wider left margin (as wide as
6460 \begin_inset Quotes eld
6464 \begin_inset Quotes erd
6467 plus the space) than
6468 \begin_inset Quotes eld
6471 3.2 Very long headline
6472 \begin_inset Quotes erd
6475 , even if other word processors are not able to do this.
6480 is similar, but only the very first row of the paragraph is dynamic, while
6481 the others are static; this is used, for example, for descriptions.
6486 means the margin is chosen in a way that the longest row of this paragraph
6487 fits to the right margin.
6488 This is used to typeset an address on the right edge of the page.
6491 \begin_layout Description
6505 ] Whether the following Paragraph is allowed to indent its very first row.
6510 means that it is not allowed to do so,
6514 means it could do so if it wants to.
6517 \begin_layout Description
6528 ] The indent of the very first line of a paragraph.
6529 The argument is passed as a string.
6534 means that the paragraph is indented with the width of
6543 You can get a negative width by prefixing the string with
6548 This way was chosen so that the look is the same with each used screen
6554 will be fixed for a certain layout.
6555 The exception is Standard layout, since the indentation of a Standard layout
6556 paragraph can be prohibited with
6561 Also, Standard layout paragraphs inside environments use the
6565 of the environment, not their native one.
6566 For example, Standard paragraphs inside an enumeration are not indented.
6569 \begin_layout Description
6580 ] LyX allows to choose either
6581 \begin_inset Quotes eld
6585 \begin_inset Quotes erd
6589 \begin_inset Quotes eld
6593 \begin_inset Quotes erd
6596 to typeset a document.
6598 \begin_inset Quotes eld
6602 \begin_inset Quotes erd
6605 is chosen, this value is completely ignored.
6607 \begin_inset Quotes eld
6611 \begin_inset Quotes erd
6614 is chosen, the parindent of a LaTeXtype
6615 \begin_inset Quotes eld
6619 \begin_inset Quotes erd
6622 layout is ignored and all paragraphs are additionally separated by this
6624 The vertical space is calculated with
6626 value*DefaultHeight()
6632 is the height of a row with the normal font.
6633 This way, the look stays the same with different screen fonts.
6636 \begin_layout Description
6647 ] The vertical space with which the very first of a chain of paragraphs
6648 with this layout is separated from the previous paragraph.
6649 If the previous paragraph has another layout, the separations are not simply
6650 added, but the maximum is taken.
6653 \begin_layout Description
6668 for the very last paragraph.
6671 \begin_layout Description
6682 ] The vertical space between two paragraphs of this layout.
6685 \begin_layout Description
6696 ] This is an extra space between the paragraphs of an environment layout.
6697 If you put other layouts into an environment, each is separated with the
6703 But the whole items of the environment are additionally separated with
6712 \begin_layout Description
6723 ] If you put layouts into environments, the leftmargins are not simply added,
6724 but added with a factor
6725 \begin_inset Formula $\frac{4}{depth+4}$
6729 Note that this parameter is also used when the border is defined as
6738 Then it is added to the manual or dynamic border.
6739 This string has the same meaning as for
6746 \begin_layout Description
6764 \begin_layout Description
6776 , Manual, Static, Top_Environment,
6778 Centered_Top_Environment, Sensitive,
6787 means the label is the very first word (up to the first real blank).
6792 means it is defined in the layout (see
6803 Centered_Top_Environment
6805 are special cases of
6810 The label will be printed above the paragraph, but only at the top of an
6811 environment or the top of a chain of paragraphs with this layout.
6812 Usage is for example the
6821 This is also the case for
6825 labels with latex type
6829 , in order to make layouts for theorems work correctly.
6834 is a special case for the caption-labels
6835 \begin_inset Quotes eld
6839 \begin_inset Quotes erd
6843 \begin_inset Quotes eld
6847 \begin_inset Quotes erd
6855 means the (hardcoded) label string depends on the kind of float.
6860 label type defines automatically numbered labels.
6863 \begin_layout Description
6872 Chapter, Section, Subsection, Subsubsection,
6874 Paragraph, Subparagraph, EnumI,
6875 EnumII, EnumIII, EnumIV
6879 The name of the counter for automatic numbering.
6880 This must be given if
6893 \begin_layout Description
6904 ] The horizontal space between the label and the text body.
6905 Only used for labels that are not above the text body.
6908 \begin_layout Description
6915 [float=0] The vertical space between the label and the text body.
6916 Only used for labels that are above the text body (
6922 Centered_Top_Environment
6927 \begin_layout Description
6938 ] The string used for a label with a
6947 this string is also used as a suggestion for the
6951 that can be set in the
6956 dit\SpecialChar \menuseparator
6961 aragraph\InsetSpace ~
6971 is set, this string can be contain special formatting commands as explained
6972 in Section\InsetSpace ~
6974 \begin_inset LatexCommand \ref{sec:counter}
6981 \begin_layout Description
6992 ] If non-empty, this is used inside the appendix instead of
7000 \begin_layout Description
7007 The level of the style in the table of contents.
7008 This is used for automatic numbering of section headings.
7011 \begin_layout Description
7023 , Box, Filled_Box, Static
7025 ] The type of label that stands at the end of the paragraph (or sequence
7048 \begin_inset Quotes eld
7052 \begin_inset Quotes erd
7064 ) is a white (resp.\InsetSpace ~
7065 black) square suitable for end of proof markers,
7069 is an explicit text string.
7072 \begin_layout Description
7083 ] The string used for a label with a
7095 \begin_layout Description
7107 , left, right, center
7109 ] Paragraph alignment.
7112 \begin_layout Description
7124 , left, right, center
7131 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7133 For example a right-aligned or centered enumeration isn't possible.
7136 \begin_layout Description
7150 ] With this parameter the
7155 \begin_inset Quotes eld
7158 Vertical space above
7159 \begin_inset Quotes erd
7167 dit\SpecialChar \menuseparator
7172 aragraph\InsetSpace ~
7175 dialog can be set when initializing a paragraph with this layout
7179 \begin_layout Standard
7182 Note from Jean-Marc:
7184 I'm not sure that this setting has much use, and it should probably be removed
7194 \begin_layout Description
7215 \begin_layout Description
7229 ] Whether fragile commands in this layout should be
7238 \begin_layout Description
7252 ] Whether newlines are translated into LaTeX newlines (
7261 The translation can be switched off to allow more comfortable LaTeX editing
7265 \begin_layout Description
7279 ] Whether the contents of this paragraph should be output in raw form, meaning
7280 without special translations that LaTeX would require.
7281 This somehow replaces the older
7288 \begin_layout Description
7302 ] Usually LyX doesn't allow you to insert more than one space between words,
7303 since a space is considered as the separation between two words, not a
7304 character or symbol of its own.
7305 This is a very fine thing but sometimes annoying, for example when typing
7306 program code or plain LaTeX code.
7312 Note that LyX will create protected blanks for the additional blanks when
7313 in another mode than LaTeX-mode.
7316 \begin_layout Description
7330 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7331 lead to empty LaTeX output.
7332 There are some cases where this could be desirable however: in a letter
7333 template, the required fields can be provided as empty fields, so that
7334 people do not forget them; in some special classes, a layout can be used
7335 as some kind of break, which does not contain actual text.
7338 \begin_layout Description
7350 , onehalf, double, other
7355 ] This defines what the default spacing should be in the layout.
7368 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7369 If you specify the argument
7373 , then you should also provide a numerical argument which will be the actual
7375 Note that, contrary to other parameters,
7379 implies the generation of specific LaTeX code, using the package
7386 \begin_layout Description
7393 The font used for both the text body
7398 See section\InsetSpace ~
7400 \begin_inset LatexCommand \ref{sec:fonts}
7405 Note that defining this font automatically defines the
7412 \begin_layout Description
7419 The font used for the text body .
7420 See section\InsetSpace ~
7422 \begin_inset LatexCommand \ref{sec:fonts}
7429 \begin_layout Description
7436 The font used for the label.
7437 See section\InsetSpace ~
7439 \begin_inset LatexCommand \ref{sec:fonts}
7446 \begin_layout Description
7450 Preamble\SpecialChar \ldots{}
7454 A set of macro definitions that will be output at the beginning of the
7455 LaTeX files when the layout is used.
7456 Use this to define the macros needed by this particular layout.
7459 \begin_layout Description
7466 the name of a style which preamble should be output
7470 the one mentionned above.
7471 This allows to ensure some ordering of the preamble snippets when macros
7472 definitions depend on one another
7476 \begin_layout Standard
7477 Note that, besides that functionality, there is no way to ensure any ordering
7479 The ordering that you see in a given version of LyX may change without
7480 warning in later versions.
7488 \begin_layout Standard
7492 \begin_layout Standard
7504 \begin_layout Subsection
7508 \begin_layout Standard
7509 \begin_inset LatexCommand \label{sec:floats}
7513 Since version 1.3.0 of LyX, it is necessary to define the floats (
7521 , \SpecialChar \ldots{}
7522 ) in the text class itself.
7523 If you are looking here to learn how to upgrade an existing text class,
7524 it will probably turn out that all you have to do is to add
7527 \begin_layout LyX-Code
7531 \begin_layout Standard
7532 at a reasonable location of the text class.
7536 \begin_layout Standard
7537 Don't forget to also have a look at counters in next section.
7542 If you want to implement a text class that proposes some other float types
7543 (like the AGU class bundled with LyX), the information below will hopefully
7547 \begin_layout Description
7559 \begin_inset Quotes erd
7563 \begin_inset Quotes erd
7567 \begin_inset Quotes eld
7571 \begin_inset Quotes erd
7574 of the new class of floats, like program or algorithm.
7575 After the appropriate
7596 \begin_layout Description
7608 \begin_inset Quotes erd
7612 \begin_inset Quotes erd
7615 ] The string that will be used in the menus and also for the caption.
7618 \begin_layout Description
7639 if the float is already defined by the documentclass.
7644 , the float will be defined using the LaTeX package
7651 \begin_layout Description
7663 \begin_inset Quotes erd
7667 \begin_inset Quotes erd
7670 ] This (optional) argument determines whether floats of this class will
7671 be numbered within some sectional unit of the document.
7672 For example, if within is equal to
7676 , the floats will be numbered within chapters.
7680 \begin_layout Description
7692 \begin_inset Quotes erd
7696 \begin_inset Quotes erd
7699 ] The style used when defining the float using
7708 \begin_layout Description
7720 \begin_inset Quotes erd
7724 \begin_inset Quotes erd
7727 ] The default placement for the given class of floats.
7728 They are like in standard LaTeX:
7744 for top, bottom, page, and here, respectively.
7748 \begin_layout Standard
7749 Note that the order of these letters in the string is irrelevant, like in
7755 On top of that there is a new type,
7759 , which does not really correspond to a float, since it means: put it
7760 \begin_inset Quotes eld
7764 \begin_inset Quotes erd
7768 Note, however that the
7772 specifier is special and, because of implementation details cannot be used
7773 in non-builtin float types.
7774 If you do not understand what this means, just use
7781 \begin_layout Description
7793 \begin_inset Quotes erd
7797 \begin_inset Quotes erd
7800 ] The file name extension of an auxiliary file for the list of figures (or
7802 LaTeX writes the captions to this file.
7805 \begin_layout Description
7817 \begin_inset Quotes erd
7821 \begin_inset Quotes erd
7824 ] The heading used for the list of floats.
7827 \begin_layout Subsection
7831 \begin_layout Standard
7832 \begin_inset LatexCommand \label{sec:charstyle}
7836 You can define character styles since version 1.4.0 of LyX.
7841 section can contain the following entries:
7844 \begin_layout Description
7851 The font used for both the text body
7856 See section\InsetSpace ~
7858 \begin_inset LatexCommand \ref{sec:fonts}
7863 Note that defining this font automatically defines the
7870 \begin_layout Description
7877 The font used for the label.
7878 See section\InsetSpace ~
7880 \begin_inset LatexCommand \ref{sec:fonts}
7887 \begin_layout Description
7894 The name of the corresponding LaTeX stuff.
7895 Either the environment or command name.
7898 \begin_layout Description
7905 The optional parameter for the corresponding
7912 This parameter cannot be changed from within LyX.
7915 \begin_layout Description
7922 See section\InsetSpace ~
7924 \begin_inset LatexCommand \ref{sec:style}
7931 \begin_layout Description
7935 Preamble\SpecialChar \ldots{}
7939 See section\InsetSpace ~
7941 \begin_inset LatexCommand \ref{sec:style}
7948 \begin_layout Subsection
7952 \begin_layout Standard
7953 \begin_inset LatexCommand \label{sec:counter}
7957 Since version 1.3.0 of LyX, it is necessary to define the counters (
7965 , \SpecialChar \ldots{}
7966 ) in the text class itself.
7967 If you are looking here to learn how to upgrade an existing text class,
7968 it will probably turn out that all you have to do is to add
7971 \begin_layout LyX-Code
7972 Input stdcounters.inc
7975 \begin_layout Standard
7976 The definition of counters is presently a bit primitive in LyX, since many
7977 things are still hardcoded.
7978 The following two parameters can be used:
7981 \begin_layout Description
7993 \begin_inset Quotes erd
7997 \begin_inset Quotes erd
8000 ] The name of the counter
8003 \begin_layout Description
8015 \begin_inset Quotes erd
8019 \begin_inset Quotes erd
8022 ] If this is set to the name of another counter, the present counter will
8023 be reset everytime the other one is increased (is that unclear enough?).
8026 \begin_layout Standard
8027 When a counter has been associated to a style, it is possible to use some
8028 special constructs in
8043 \begin_layout Itemize
8052 will be replaced the expanded
8063 This is used for example to define the label of a subsection in terms of
8064 the label of a section.
8067 \begin_layout Itemize
8068 counter values can be expressed using LaTeX-like macros
8092 \begin_layout Description
8103 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8108 \begin_layout Standard
8118 Actually, the situation is a bit more complicated than that: any
8134 other than those descibed below will produce arabic numerals.
8135 It would not be surprising to see this change in the future.
8143 \begin_layout Description
8150 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8154 \begin_layout Description
8161 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8165 \begin_layout Description
8172 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8176 \begin_layout Description
8183 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8187 \begin_layout Description
8194 for hebrew numerals.
8198 \begin_layout Subsection
8202 \begin_layout Standard
8203 \begin_inset LatexCommand \label{sec:fonts}
8207 A font description looks like that:
8210 \begin_layout LyX-Code
8220 \begin_layout LyX-Code
8224 \begin_layout LyX-Code
8228 \begin_layout Standard
8229 and the following commands are available:
8232 \begin_layout Description
8249 \begin_layout Description
8266 \begin_layout Description
8278 , Italic, SmallCaps, Slanted
8283 \begin_layout Description
8296 , large, larger, largest, huge, giant
8301 \begin_layout Description
8314 , black, white, red, green, blue, cyan, magenta, yellow
8319 \begin_layout Subsection
8320 Upgrading old layout files
8323 \begin_layout Standard
8324 The file format of layout files changes from time to time, so old layout
8325 files need to be converted.
8326 This process has been automated in LyX 1.4.0: If LyX reads an old format
8327 layout file it will call the conversion tool
8329 $LyXDir/scripts/layout2layout.py
8331 and convert it to a temporary file in current format.
8332 The original file is left untouched, so that you can still use it with
8334 If you want to convert the layout file permanently, just call the converter
8338 \begin_layout LyX-Code
8339 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8342 \begin_layout Standard
8354 \begin_layout Standard
8355 The automatic conversion does only handle syntax changes.
8356 It cannot handle the case where the contents of included files was changed.
8357 For example, layout files based on
8370 If you get error messages about undefined counters, try to convert your
8390 \begin_layout Section
8392 \begin_inset LatexCommand \label{sec:templates}
8399 \begin_layout Standard
8400 Templates are created just like usual documents.
8401 The only difference is that usual documents contain all possible settings,
8402 including the fontscheme and the papersize.
8403 Usually a user doesn't want a template to overwrite his defaults in these
8405 For that reason, the designer of a template should remove the corresponding
8418 from the template LyX file.
8419 This can be done with any simple text-editor, for example
8431 \begin_layout Standard
8432 Put the edited template files you create in
8436 , copy the ones you use from the global template directory in
8440 to the same place, and redefine the template path in the
8445 dit\SpecialChar \menuseparator
8464 \begin_layout Standard
8465 Note that there is a template which has a particular meaning:
8470 This template is loaded everytime you create a new document with
8477 \SpecialChar \menuseparator
8485 in order to provide useful defaults.
8486 To create this template from inside LyX, all you have to do is to open
8487 a document with the correct settings, and use the
8493 e as Document Defaults
8498 \begin_layout Chapter
8499 Including External Material
8502 \begin_layout Section
8506 \begin_layout Standard
8507 \begin_inset Note Note
8510 \begin_layout Standard
8511 This section is completely outdated.
8516 One often requested feature from LyX users is to be able to interface LyX
8517 with XFig, Dia, or other similar applications that specialize in producing
8518 a certain kind of diagram, figure, schematic or whatever material might
8519 be relevant to include in your document.
8520 Previously, it was only possible to include boring, static, fixed images
8521 in LyX documents with the graphics feature, but there are several limitations
8522 attached to this approach:
8525 \begin_layout Itemize
8526 If you want to change the figure, you have to invoke an external program
8530 \begin_layout Itemize
8531 LyX does not notice that the referenced files change, so the on-screen display
8532 can fast become obsolete, and this is aggravated by the lack of a means
8533 of updating the display
8536 \begin_layout Itemize
8537 The graphics stuff does not provide any mechanisms for coping with different
8538 exported formats such as DocBook, HTML or raw Ascii
8541 \begin_layout Standard
8542 The external material facility attempts to solve all of these problems
8546 \begin_layout Standard
8547 Even if the graphics facility can't solve all problems, it is still valuable
8548 because it does provide in-line preview of the graphics, and supports advanced
8549 geometric transformations with a comfortable user interface.
8555 It does this by offering a general method to interface LyX to external
8557 Instead of introducing a long list of different constructs tailored for
8558 each specific application, we chose to sacrifice the in-line displaying
8559 of the included material in order to provide a general construct to cover
8560 a wide range of applications.
8561 The result is the external material construct.
8562 External material presents itself in the document simply as a button, but
8563 don't let this fool you.
8564 When you click on it, a dialog will appear that allows you to chose exactly
8565 what material to include, and in the following sections you will learn
8566 that this is indeed a powerful mechanism that can solve all of the above
8570 \begin_layout Section
8574 \begin_layout Standard
8575 The external material feature is based on the concept of a
8580 A template is a specification of how LyX should interface with a certain
8582 As bundled, LyX comes with predefined templates for XFig figures, Dia diagrams,
8583 various raster format images, gnuplot, and more.
8584 You can check the actual list by using the
8586 Insert\SpecialChar \menuseparator
8595 Furthermore, it is possible to roll your own template to support a specific
8597 Later we'll describe in more detail what is involved, and hopefully you
8598 will submit all the templates you create so we can include them in a later
8602 \begin_layout Standard
8603 Another basic idea of the external material feature is to distinguish between
8604 the original file that serves as a base for final material and the produced
8605 file that is included in your exported or printed document.
8606 For example, consider the case of a figure produced with XFig.
8607 The XFig application itself works on an original file with the
8612 Within XFig, you create and change your figure, and when you are done,
8618 When you want to include the figure in your document, you invoke
8622 in order to create a PostScript file that can readily be included in your
8628 file is the original file, and the PostScript file is the produced file.
8631 \begin_layout Standard
8632 This distinction is important in order to allow updating of the material
8633 while you are in the process of writing the document.
8634 Furthermore, it provides us with the flexibility that is needed to support
8635 multiple export formats.
8636 For instance, in the case of an Ascii resulting file, it is not exactly
8637 an award-winning idea to include the figure as raw PostScript.
8638 Instead, you'd either prefer to just include a reference to the figure,
8639 or try to invoke some graphics to Ascii converter to make the final result
8640 look similar to the real graphics.
8641 The external material management allows you to do this, because it is parameter
8642 ized on the different export formats that LyX supports.
8645 \begin_layout Standard
8646 Besides supporting the production of different products according to the
8647 exported format, it supports tight integration with editing and viewing
8649 In the case of an XFig figure, you are able to invoke
8653 on the original file with a single click from within the external material
8654 dialog in LyX, and also preview the produced PostScript file with
8659 No more fiddling around with the command line and/or file browsers to locate
8660 and manipulate the original or produced files.
8661 In this way, you are finally able to take full advantage of the many different
8662 applications that are relevant to use when you write your documents, and
8663 ultimately be more productive.
8666 \begin_layout Standard
8667 \begin_inset Note Note
8670 \begin_layout Standard
8671 This paragraph is outdated
8676 So, all in all, LyX has information about a number of different programs
8677 to use behind the scenes in order to realize all of this machinery.
8678 This information, in fact, is exactly what is contained in the templates.
8679 To each template, there is associated a list of command lines that are
8680 used to invoke applications, convert the original file to the produced
8682 This mechanism allows the advanced user to extend the capabilities of LyX
8683 without fiddling with the source code.
8684 It requires some footwork to define all the different commands and flags,
8685 but luckily, the LyX team did all the hard work and specified these for
8689 \begin_layout Standard
8690 But before the trees grow into the skies, we have to admit that we did take
8692 Since you can produce many different kinds of files to go with each exported
8693 format, one could also expect that it would be possible to preview each
8695 The LyX team decided against this in order to keep the user interface simple.
8696 Instead of providing a button for each exported file format, we decided
8697 to introduce the concept of the primary file format and just have one button.
8707 in the external material dialog, you will get a view of the produced file
8708 in the primary file format.
8709 And the primary file format is specified by your document class.
8710 For most document classes, the primary file format is LaTeX, but for the
8711 DocBook document classes, the primary file format is DocBook.
8712 So, when you view the produced file, keep in mind that it will only be
8713 a preview of what the main result will be.
8714 If you want to see how other exported formats turn out, you have to export
8715 them and preview them by hand.
8718 \begin_layout Section
8719 The external material dialog
8722 \begin_layout Standard
8723 You insert external material from the
8731 When you do this, a button is inserted into your document, and the external
8732 material dialog is shown.
8733 This dialog allows you to describe exactly what material should be included,
8734 and also how it should be included.
8735 Furthermore, it provides access to the external applications to either
8736 view, edit or produce the material that is used in the resulting file.
8739 \begin_layout Standard
8740 \begin_inset Note Note
8743 \begin_layout Standard
8744 This paragraph is outdated
8749 At the top of this dialog, there is a drop-down list where you can chose
8750 which template should be used.
8751 Just below the template drop-down, there's a text area with a short blurb
8752 about the chosen template that should help you use it.
8753 Most often, it will provide a short description of the template, and a
8754 few hints on how to parameterize the use of it.
8755 Further down, you'll find a filename input field along with a
8756 \begin_inset Quotes eld
8760 \begin_inset Quotes erd
8763 button that allows you to chose which file should be included with the
8764 standard file browser.
8765 Thus this field specifies the original file.
8766 Since the produced file is automatically generated when needed, there is
8767 no need to give access to it in the user interface.
8770 \begin_layout Standard
8771 \begin_inset Note Note
8774 \begin_layout Standard
8775 This paragraph is outdated
8780 At the bottom of the dialog, you'll find a general input box called
8785 This box is generally used to parameterize the specific template.
8786 The specific use should be covered in the help blurb associated with the
8787 template, but it typically allows you to define variations on how the produced
8788 file should be generated.
8791 \begin_layout Standard
8792 \begin_inset Note Note
8795 \begin_layout Standard
8796 This paragraph is outdated
8801 At the right side of the dialog, you'll find three buttons:
8829 These in turn allow you to edit your original file with the appropriate
8830 editing application, view the produced file as included in the primary
8831 format document, and finally force an update of the resulting material
8832 in the primary format.
8842 button will be disabled, because most templates are configured to automatically
8843 update the produced file when needed.
8844 In those cases, there is no need to force the production of a new produced
8846 However, some templates are configured to not be automatically producing
8847 the residual product, because the cost of producing the produced file might
8848 be so large that it would be a pain to do it all the time.
8849 Those types are known as
8854 In those cases, you can use the button to force the production of the produced
8855 file exactly when you need it, and thus control the amount of work that
8861 responsibility to do this to keep the produced files current at all times:
8862 before printing, before exporting, before viewing, etc.
8863 At some time in the future, it might be possible that LyX will help you
8864 with this task.Any changes in the template, filename or parameters are actually
8865 applied whenever you press
8890 \begin_layout Section
8894 \begin_layout Standard
8895 In this section, we should include some examples of use of the external
8897 Those examples could include:
8900 \begin_layout Itemize
8901 External raster images
8904 \begin_layout Itemize
8905 External XFig figures
8908 \begin_layout Itemize
8912 \begin_layout Itemize
8916 \begin_layout Itemize
8917 The use of makefiles
8920 \begin_layout Itemize
8921 Recursive external LyX templates
8924 \begin_layout Section
8925 The external template configuration file
8928 \begin_layout Standard
8929 It is relatively easy to add custom external template definitions to LyX.
8930 However, be aware this doing this in an careless manner most probably
8934 introduce an easily exploitable security hole.
8935 So before you do this, please read the discussion about security which
8939 \begin_layout Standard
8940 Having said that, we encourage you to submit any interesting templates that
8945 \begin_layout Standard
8946 The external templates are defined in the
8948 lib/external_templates
8951 You can place your own version in
8953 .lyx/external_templates
8958 \begin_layout Standard
8959 A typical template looks like this:
8962 \begin_layout LyX-Code
8966 \begin_layout LyX-Code
8967 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
8970 \begin_layout LyX-Code
8974 \begin_layout LyX-Code
8978 \begin_layout LyX-Code
8982 \begin_layout LyX-Code
8986 \begin_layout LyX-Code
8990 \begin_layout LyX-Code
8991 AutomaticProduction true
8994 \begin_layout LyX-Code
8998 \begin_layout LyX-Code
9002 \begin_layout LyX-Code
9006 \begin_layout LyX-Code
9007 TransformCommand Rotate RotationLatexCommand
9010 \begin_layout LyX-Code
9011 TransformCommand Resize ResizeLatexCommand
9014 \begin_layout LyX-Code
9015 Product "$$RotateFront$$ResizeFront
9018 \begin_layout LyX-Code
9023 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
9026 \begin_layout LyX-Code
9027 $$ResizeBack$$RotateBack"
9030 \begin_layout LyX-Code
9034 \begin_layout LyX-Code
9035 UpdateResult "$$AbsPath$$Basename.pstex_t"
9038 \begin_layout LyX-Code
9039 Requirement "graphicx"
9042 \begin_layout LyX-Code
9043 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9046 \begin_layout LyX-Code
9047 ReferencedFile latex "$$AbsPath$$Basename.eps"
9050 \begin_layout LyX-Code
9051 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9054 \begin_layout LyX-Code
9058 \begin_layout LyX-Code
9062 \begin_layout LyX-Code
9063 TransformCommand Rotate RotationLatexCommand
9066 \begin_layout LyX-Code
9067 TransformCommand Resize ResizeLatexCommand
9070 \begin_layout LyX-Code
9071 Product "$$RotateFront$$ResizeFront
9074 \begin_layout LyX-Code
9079 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9082 \begin_layout LyX-Code
9083 $$ResizeBack$$RotateBack"
9086 \begin_layout LyX-Code
9090 \begin_layout LyX-Code
9091 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9094 \begin_layout LyX-Code
9095 Requirement "graphicx"
9098 \begin_layout LyX-Code
9099 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9102 \begin_layout LyX-Code
9103 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9106 \begin_layout LyX-Code
9110 \begin_layout LyX-Code
9114 \begin_layout LyX-Code
9115 Product "$$Contents(
9117 "$$AbsPath$$Basename.asc
9122 \begin_layout LyX-Code
9123 UpdateFormat asciixfig
9126 \begin_layout LyX-Code
9127 UpdateResult "$$AbsPath$$Basename.asc"
9130 \begin_layout LyX-Code
9134 \begin_layout LyX-Code
9138 \begin_layout LyX-Code
9139 Product "<graphic fileref=
9141 "$$AbsOrRelPathMaster$$Basename.eps
9146 \begin_layout LyX-Code
9150 \begin_layout LyX-Code
9154 \begin_layout LyX-Code
9155 UpdateResult "$$AbsPath$$Basename.eps"
9158 \begin_layout LyX-Code
9159 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9162 \begin_layout LyX-Code
9163 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9166 \begin_layout LyX-Code
9170 \begin_layout LyX-Code
9174 \begin_layout LyX-Code
9175 Product "[XFig: $$FName]"
9178 \begin_layout LyX-Code
9182 \begin_layout LyX-Code
9186 \begin_layout Standard
9187 As you can see, the template is enclosed in
9191 \SpecialChar \ldots{}
9197 It contains a header specifying some general settings, and for each supported
9198 primary document file format a section
9202 \SpecialChar \ldots{}
9210 \begin_layout Subsection
9214 \begin_layout Description
9218 Template\InsetSpace ~
9222 A unique name for the template.
9223 It must not contain substitution macros (see below).
9226 \begin_layout Description
9230 GuiName\InsetSpace ~
9234 The text that is displayed on the button.
9235 This command must occur exactly once.
9238 \begin_layout Description
9242 HelpText\InsetSpace ~
9247 The help text that is used in the External dialog.
9248 Provide enough information to explain to the user just what the template
9249 can provide him with.
9250 This command must occur exactly once.
9253 \begin_layout Description
9257 InputFormat\InsetSpace ~
9261 The file format of the original file.
9262 This must be the name of a format that is known to LyX (see the
9267 ools\SpecialChar \menuseparator
9272 references:Conversion
9279 if the template can handle original files of more than one format.
9280 LyX will attempt to interrogate the file itself in order to deduce its
9281 format in this case.
9282 This command must occur exactly once.
9285 \begin_layout Description
9289 FileFilter\InsetSpace ~
9293 A glob pattern that is used in the file dialog to filter out the desired
9295 If there is more than one possible file extension (e.g.\InsetSpace ~
9304 ), use something like
9309 This command must occur exactly once.
9312 \begin_layout Description
9316 AutomaticProduction\InsetSpace ~
9320 Wether the file represented by the template must be generated by LyX.
9321 This command must occur exactly once.
9324 \begin_layout Description
9328 Transform\InsetSpace ~
9329 Rotate|Resize|Clip|Extra
9332 This command specifies which transformations are supported by this template.
9333 It may occur zero or more times.
9334 This command enables the corresponding tabs in the external dialog.
9339 command must have either a corresponding
9352 Otherwise the transformation will not be supported by that format.
9355 \begin_layout Subsection
9359 \begin_layout Description
9364 LaTeX|PDFLaTeX|Ascii|DocBook|LinuxDoc
9367 The primary document file format that this format definition is for.
9368 Not every template has a sensible representation in all document file formats.
9369 Please define nevertheless a
9373 section for all formats.
9374 Use a dummy text when no representation is available (see the LinuxDoc
9375 format in the example above).
9376 Then you can at least see a reference to the external material in the exported
9380 \begin_layout Description
9384 TransformCommand\InsetSpace ~
9386 RotationLatexCommand
9389 This command specifies that the built in LaTeX command should be used for
9391 This command may occur once or not at all.
9394 \begin_layout Description
9398 TransformCommand\InsetSpace ~
9403 This command specifies that the built in LaTeX command should be used for
9405 This command may occur once or not at all.
9408 \begin_layout Description
9412 TransformOption\InsetSpace ~
9417 This command specifies that rotation is done via an optional argument.
9418 This command may occur once or not at all.
9421 \begin_layout Description
9425 TransformOption\InsetSpace ~
9430 This command specifies that resizing is done via an optional argument.
9431 This command may occur once or not at all.
9434 \begin_layout Description
9438 TransformOption\InsetSpace ~
9443 This command specifies that clipping is done via an optional argument.
9444 This command may occur once or not at all.
9447 \begin_layout Description
9451 TransformOption\InsetSpace ~
9456 This command specifies that an extra optional argument is used.
9457 This command may occur once or not at all.
9460 \begin_layout Description
9464 Product\InsetSpace ~
9468 The text that is inserted in the exported document.
9469 This is actually the most important command and can be quite complex.
9470 This command must occur exactly once.
9473 \begin_layout Description
9477 UpdateFormat\InsetSpace ~
9481 The file format of the converted file.
9482 This must be the name of a format that is known to LyX (see the
9487 ools\SpecialChar \menuseparator
9492 references:Conversion
9495 This command must occur exactly once.
9498 \begin_layout Description
9502 UpdateResult\InsetSpace ~
9506 The file name of the converted file.
9507 The file name must be absolute.
9508 This command must occur exactly once.
9511 \begin_layout Description
9515 ReferencedFile\InsetSpace ~
9516 <format>\InsetSpace ~
9520 This command denotes files that are created by the conversion process and
9521 are needed for a particular export format.
9522 If the filename is relative, it is interpreted relative to the master document.
9523 This command may be given zero or more times.
9526 \begin_layout Description
9530 Requirement\InsetSpace ~
9534 The name of a required LaTeX package.
9535 The package is included via
9541 in the LaTeX preamble.
9542 This command may occur zero or more times.
9545 \begin_layout Description
9549 Preamble\InsetSpace ~
9553 This command specifies a preamble snippet that will be included in the
9555 It has to be defined using
9559 \SpecialChar \ldots{}
9565 This command may occur zero or more times.
9568 \begin_layout Description
9577 This command defines an additional macro
9590 itself may contain substitution macros.
9591 The advantage over using
9599 is that the substituted value of
9603 is sanitized so that it is a valid optional argument in the document format.
9604 This command may occur zero or more times.
9607 \begin_layout Subsection
9608 Preamble definitions
9611 \begin_layout Standard
9612 The external template configuration file may contain additional preamble
9613 definitions enclosed by
9617 \SpecialChar \ldots{}
9623 They can be used by the templates in the
9630 \begin_layout Section
9631 The substitution mechanism
9634 \begin_layout Standard
9635 When the external material facility invokes an external program, it is done
9636 on the basis of a command defined in the template configuration file.
9637 These commands can contain various macros that are expanded before execution.
9638 Execution always take place in the directory of the containing document.
9641 \begin_layout Standard
9642 Also, whenever external material is to be displayed, the name will be produced
9643 by the substitution mechanism, and most other commands in the template
9644 definition support substitution as well.
9647 \begin_layout Standard
9648 The available macros are the following:
9651 \begin_layout Description
9652 $$FName The filename of the file specified in the external material dialog.
9653 This is either an absolute name, or it is relative to the LyX document.
9656 \begin_layout Description
9657 $$Basename The filename without path and without the extension.
9660 \begin_layout Description
9661 $$Extension The file extension (including the dot).
9664 \begin_layout Description
9665 $$FPath The path part of
9669 (absolute name or relative to the LyX document).
9672 \begin_layout Description
9673 $$AbsPath The absolute file path.
9676 \begin_layout Description
9677 $$RelPathMaster The file path, relative to the master LyX document.
9680 \begin_layout Description
9681 $$RelPathParent The file path, relative to the LyX document.
9684 \begin_layout Description
9685 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9689 \begin_layout Description
9690 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9693 \begin_layout Description
9694 $$Tempname A name and full path to a temporary file which will be automatically
9695 deleted whenever the containing document is closed, or the external material
9699 \begin_layout Description
9701 \begin_inset Quotes eld
9705 \begin_inset Quotes erd
9708 ) This macro will expand to the contents of the file with the name
9715 \begin_layout Description
9716 $$Sysdir This macro will expand to the absolute path of the system directory.
9717 This is typically used to point to the various helper scripts that are
9721 \begin_layout Standard
9722 All path macros contain a trailing directory separator, so you can construct
9724 the absolute filename with
9726 $$AbsPath$$Basename$$Extension
9731 \begin_layout Standard
9732 The macros above are substituted in all commands unless otherwise noted.
9737 supports additionally the following substitutions if they are enabled by
9749 \begin_layout Description
9750 $$ResizeFront The front part of the resize command.
9753 \begin_layout Description
9754 $$ResizeBack The back part of the resize command.
9757 \begin_layout Description
9758 $$RotateFront The front part of the rotation command.
9761 \begin_layout Description
9762 $$RotateBack The back part of the rotation command.
9765 \begin_layout Standard
9766 The value string of the
9770 command supports additionally the following substitutions if they are enabled
9782 \begin_layout Description
9783 $$Clip The clip option.
9786 \begin_layout Description
9787 $$Extra The extra option.
9790 \begin_layout Description
9791 $$Resize The resize option.
9794 \begin_layout Description
9795 $$Rotate The rotation option.
9798 \begin_layout Standard
9799 You may ask why there are so many path macros.
9800 There are mainly two reasons:
9803 \begin_layout Standard
9804 First, relative and absolute file names should remain relative or absolute,
9806 Users may have reasons to prefer either form.
9807 Relative names are useful for portable documents that should work on different
9808 machines, for example.
9809 Absolute names may be required by some programs.
9812 \begin_layout Standard
9813 Second, LaTeX treats relative file names differently than LyX and other
9814 programs in nested included files.
9815 For LyX, a relative file name is always relative to the document that contains
9817 For LaTeX, it is always relative to the master document.
9818 These two definitions are identical if you have only one document, but
9819 differ if you have a master document that includes part documents.
9820 That means that relative filenames must be transformed when presented to
9822 Fortunately LyX does this automatically for you if you choose the right
9826 \begin_layout Standard
9827 So which path macro should be used in new template definitions? The rule
9831 \begin_layout Itemize
9836 if an absolute path is required.
9839 \begin_layout Itemize
9842 $$AbsOrRelPathMaster
9844 if the substituted string is some kind of LaTeX input.
9847 \begin_layout Itemize
9850 $$AbsOrRelPathParent
9852 in order to preserve the user's choice.
9855 \begin_layout Standard
9856 There are special cases where this rule does not work and e.g.\InsetSpace ~
9858 are needed, but normally it will work just fine.
9859 One example for such a case is the command
9861 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9863 in the XFig template above: We can't use the absolute name because the
9868 files needs the relative name in order to rewrite the file content.
9871 \begin_layout Section
9875 \begin_layout Standard
9876 \begin_inset Note Note
9879 \begin_layout Standard
9880 This section is outdated
9885 The external material feature interfaces with a lot of external programs
9886 and does so automatically, so we have to consider the security implications
9888 In particular, since you have the option of including your own filenames
9889 and/or parameter strings and those are expanded into a command, it seems
9890 that it would be possible to create a malicious document which executes
9891 arbitrary commands when a user views or prints the document.
9892 This is something we definately want to avoid.
9895 \begin_layout Standard
9896 However, since the external program commands are specified in the template
9897 configuration file only, there are no security issues if LyX is properly
9898 configured with safe templates only.
9899 This is so because the external programs are invoked with the
9903 -system call rather than the
9907 system-call, so it's not possible to execute arbitrary commands from the
9908 filename or parameter section via the shell.
9911 \begin_layout Standard
9912 This also implies that you are restricted in what command strings you can
9913 use in the external material templates.
9914 In particular, pipes and redirection are not readily available.
9915 This has to be so if LyX should remain safe.
9916 If you want to use some of the shell features, you should write a safe
9917 script to do this in a controlled manner, and then invoke the script from
9923 directory of the LyX installation, you can find a safe wrapper script
9925 general_command_wrapper.py
9927 that supports redirection of input and output.
9928 That can serve as an example for how to write safe template scripts.
9929 For a more advanced example that uses
9933 and friends, take a look at the
9940 \begin_layout Standard
9941 It is possible to design a template that interacts directly with the shell,
9942 but since this would allow a malicious user to execute arbitrary commands
9943 by writing clever filenames and/or parameters, we generally recommend that
9944 you only use safe scripts that work with the
9948 system call in a controlled manner.
9949 Of course, for use in a controlled environment, it can be tempting to just
9950 fall back to use ordinary shell scripts.
9951 If you do so, be aware that you
9955 provide an easily exploitable security hole in your system.
9956 Of course it stands to reason that such unsafe templates will never be
9957 included in the standard LyX distribution, although we do encourage people
9958 to submit new templates in the open source tradition.
9959 But LyX as shipped from the official distribution channels will never have
9963 \begin_layout Standard
9964 Including external material provides a lot of power, and you have to be
9965 careful not to introduce security hazards with this power.
9966 A subtle error in a single line in an innocent looking script can open
9967 the door to huge security problems.
9968 So if you do not fully understand the issues, we recommend that you consult
9969 a knowledgable security professional or the LyX development team if you
9970 have any questions about whether a given template is safe or not.
9971 And do this before you use it in an uncontrolled environment.
9974 \begin_layout Chapter
9978 \begin_layout Section
9982 \begin_layout Standard
9983 The LyX server is a method implemented in LyX that will enable other programs
9984 to talk to LyX, invoke LyX commands, and retrieve information about the
9986 This is only intended for advanced users, but they should find it useful.
9989 \begin_layout Section
9990 Starting the LyX Server
9993 \begin_layout Standard
9994 The LyX server works through the use of a pair of named pipes.
9995 These are usually located in your home directory and have the names
9996 \begin_inset Quotes eld
10004 \begin_inset Quotes erd
10008 \begin_inset Quotes eld
10016 \begin_inset Quotes erd
10020 External programs write into
10024 and read back data from
10029 The stem of the pipe names can be defined in the
10034 ools\SpecialChar \menuseparator
10041 dialog, for example
10043 "/home/myhome/.lyxpipe"
10048 \begin_layout Standard
10057 ' to create the pipes.
10058 The above setting also has the effect of activating the LyX server.
10059 If one of the pipes already exists, LyX will assume that another LyX process
10060 is already running and will not start the server.
10061 To have several LyX processes with servers at the same time, you have to
10062 change the configuration between the start of the programs.
10065 \begin_layout Standard
10066 If you are developing a client program, you might find it useful to enable
10067 debugging information from the LyX server.
10068 Do this by starting LyX as
10070 lyx -dbg lyxserver.
10073 \begin_layout Standard
10074 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10075 case you must remove them manually.
10076 If LyX starts and the pipes exist already, it will not start any server.
10079 \begin_layout Standard
10080 You can find a complete example client written in C in the source distribution
10083 development/server_monitor.c
10088 \begin_layout Section
10089 Normal communication
10092 \begin_layout Standard
10093 To issue a LyX call, the client writes a line of ASCII text into the input
10095 This line has the following format:
10098 \begin_layout Quote
10112 \begin_layout Standard
10117 is a name that the client can choose arbitrarily.
10118 Its only use is that LyX will echo it if it sends an answer - so a client
10119 can dispatch results from different requesters.
10122 \begin_layout Standard
10127 is the function you want LyX to perform.
10128 It is the same as the commands you'd use in the minibuffer.
10131 \begin_layout Standard
10136 is an optional argument which is meaningful only to some functions (for
10138 \begin_inset Quotes eld
10142 \begin_inset Quotes erd
10145 which will insert the argument as text at the cursor position.)
10148 \begin_layout Standard
10149 The answer from LyX will arrive in the output pipe and be of the form
10152 \begin_layout Quote
10166 \begin_layout Standard
10175 are just echoed from the command request, while
10179 is more or less useful information filled according to how the command
10180 execution worked out.
10181 Some commands will return information about the internal state of LyX,
10183 \begin_inset Quotes eld
10187 \begin_inset Quotes erd
10190 , while other will return an empty data-response.
10191 This means that the command execution went fine.
10194 \begin_layout Standard
10195 In case of errors, the response from LyX will have this form
10198 \begin_layout Quote
10212 \begin_layout Standard
10217 should contain an explanation of why the command failed.
10220 \begin_layout Standard
10224 \begin_layout LyX-Code
10225 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10228 \begin_layout LyX-Code
10229 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10231 read a <~/.lyxpipe.out
10236 \begin_layout Section
10240 \begin_layout Standard
10241 LyX can notify clients of events going on asynchronously.
10242 Currently it will only do this if the user binds a key sequence with the
10244 \begin_inset Quotes eld
10248 \begin_inset Quotes erd
10252 The format of the string LyX sends is as follows:
10255 \begin_layout Quote
10264 \begin_layout Standard
10269 is the printed representation of the key sequence that was actually typed
10273 \begin_layout Standard
10274 This mechanism can be used to extend LyX's command set and implement macros:
10275 bind some key sequence to
10276 \begin_inset Quotes eld
10280 \begin_inset Quotes erd
10283 , start a client that listens on the out pipe, dispatches the command according
10284 to the sequence and starts a function that may use LyX calls and LyX requests
10285 to issue a command or a series of commands to LyX.
10288 \begin_layout Section
10289 The simple LyX Server Protocol
10292 \begin_layout Standard
10293 LyX implements a simple protocol that can be used for session management.
10294 All messages are of the form
10297 \begin_layout Quote
10307 \begin_layout Standard
10313 \begin_inset Quotes eld
10317 \begin_inset Quotes erd
10321 \begin_inset Quotes eld
10325 \begin_inset Quotes erd
10330 \begin_inset Quotes eld
10334 \begin_inset Quotes erd
10337 is received from a client, LyX will report back to inform the client that
10338 it's listening to it's messages, while
10339 \begin_inset Quotes eld
10343 \begin_inset Quotes erd
10346 sent from LyX will inform clients that LyX is closing.
10349 \begin_layout Chapter
10354 \begin_layout Standard
10355 This appendix is a huge cross-reference to all the English language keybindings.
10356 Originally, we simply wanted to list all of the key bindings followed by
10357 the function it's bound to.
10358 That way, a user can look up a key to find out what it does.
10359 We then decided, what the hey, why not include the default toolbar and
10360 menu bindings, too.
10361 Please note this section is likely to be very out of date.
10364 \begin_layout Standard
10365 The form is really self-explanatory, but here are a few tips: all entries
10366 are arranged roughly alphabetically for a given modifier (
10375 For the general keyboard layout, simpler prefixes precede the more complex
10385 All entries were gleaned from the default user interface and binding files
10386 located in the directories
10388 \SpecialChar \ldots{}
10393 \SpecialChar \ldots{}
10396 ; they should be treated as the final word on the bindings.
10399 \begin_layout Standard
10400 As a final note, be aware that some window managers (such as FVWM) take
10401 control of some of the function keys or motion keys.
10406 is listed here as generating
10410 , but FVWM grabs it and uses it to change virtual desktops instead.
10411 Very annoying unless you instruct your window manager to stop intercepting
10415 \begin_layout Section
10419 \begin_layout LyX-Code
10423 \begin_layout LyX-Code
10427 \begin_layout LyX-Code
10431 \begin_layout LyX-Code
10432 Icon "buffer-write"
10435 \begin_layout LyX-Code
10436 Icon "buffer-print"
10439 \begin_layout LyX-Code
10443 \begin_layout LyX-Code
10447 \begin_layout LyX-Code
10451 \begin_layout LyX-Code
10455 \begin_layout LyX-Code
10459 \begin_layout LyX-Code
10463 \begin_layout LyX-Code
10467 \begin_layout LyX-Code
10471 \begin_layout LyX-Code
10475 \begin_layout LyX-Code
10479 \begin_layout LyX-Code
10483 \begin_layout LyX-Code
10487 \begin_layout LyX-Code
10488 Icon "footnote-insert"
10491 \begin_layout LyX-Code
10492 Icon "marginpar-insert"
10495 \begin_layout LyX-Code
10499 \begin_layout LyX-Code
10503 \begin_layout LyX-Code
10504 Icon "figure-insert"
10507 \begin_layout LyX-Code
10508 Icon "dialog-tabular-insert"
10511 \begin_layout LyX-Code
10515 \begin_layout Section
10519 \begin_layout Subsection
10524 \labelwidthstring 00.00.0000
10534 \labelwidthstring 00.00.0000
10546 \labelwidthstring 00.00.0000
10558 \labelwidthstring 00.00.0000
10572 \labelwidthstring 00.00.0000
10582 \labelwidthstring 00.00.0000
10596 \labelwidthstring 00.00.0000
10606 \labelwidthstring 00.00.0000
10618 \labelwidthstring 00.00.0000
10630 \labelwidthstring 00.00.0000
10642 \labelwidthstring 00.00.0000
10648 buffer-new-template
10652 \labelwidthstring 00.00.0000
10665 \labelwidthstring 00.00.0000
10674 \labelwidthstring 00.00.0000
10683 \labelwidthstring 00.00.0000
10692 \labelwidthstring 00.00.0000
10701 \labelwidthstring 00.00.0000
10710 \labelwidthstring 00.00.0000
10720 \labelwidthstring 00.00.0000
10729 \begin_layout Subsection
10734 \labelwidthstring 00.00.0000
10746 \labelwidthstring 00.00.0000
10758 \labelwidthstring 00.00.0000
10770 \labelwidthstring 00.00.0000
10782 \labelwidthstring 00.00.0000
10794 \labelwidthstring 00.00.0000
10806 \labelwidthstring 00.00.0000
10821 \labelwidthstring 00.00.0000
10828 tabular-feature append-row
10832 \labelwidthstring 00.00.0000
10839 tabular-feature toggle-line-bottom
10843 \labelwidthstring 00.00.0000
10850 tabular-feature align-center
10854 \labelwidthstring 00.00.0000
10861 tabular-feature delete-column
10865 \labelwidthstring 00.00.0000
10872 tabular-feature align-left
10876 \labelwidthstring 00.00.0000
10883 tabular-feature align-right
10887 \labelwidthstring 00.00.0000
10894 tabular-feature toggle-line-left
10898 \labelwidthstring 00.00.0000
10905 tabular-feature multicolumn
10909 \labelwidthstring 00.00.0000
10916 tabular-feature valign-center
10920 \labelwidthstring 00.00.0000
10927 tabular-feature valign-top
10931 \labelwidthstring 00.00.0000
10938 tabular-feature toggle-line-right
10942 \labelwidthstring 00.00.0000
10949 tabular-feature toggle-line-top
10953 \labelwidthstring 00.00.0000
10960 tabular-feature append-column
10964 \labelwidthstring 00.00.0000
10971 tabular-feature valign-bottom
10975 \labelwidthstring 00.00.0000
10982 tabular-feature delete-row
10987 \labelwidthstring 00.00.0000
11000 \labelwidthstring 00.00.0000
11005 floats-operate openfoot
11009 \labelwidthstring 00.00.0000
11014 floats-operate closefoot
11018 \labelwidthstring 00.00.0000
11023 floats-operate openfig
11027 \labelwidthstring 00.00.0000
11036 \labelwidthstring 00.00.0000
11045 \labelwidthstring 00.00.0000
11050 floats-operate closefig
11055 \labelwidthstring 00.00.0000
11067 \labelwidthstring 00.00.0000
11081 \labelwidthstring 00.00.0000
11093 \labelwidthstring 00.00.0000
11105 \labelwidthstring 00.00.0000
11119 \labelwidthstring 00.00.0000
11129 \labelwidthstring 00.00.0000
11142 \labelwidthstring 00.00.0000
11149 primary-selection-paste
11153 \labelwidthstring 00.00.0000
11160 primary-selection-paste paragraph
11164 \begin_layout Subsection
11169 \labelwidthstring 00.00.0000
11184 \labelwidthstring 00.00.0000
11191 buffer-float-insert algorithm
11195 \labelwidthstring 00.00.0000
11202 buffer-float-insert wide-tab
11206 \labelwidthstring 00.00.0000
11213 buffer-float-insert figure
11217 \labelwidthstring 00.00.0000
11224 buffer-float-insert table
11228 \labelwidthstring 00.00.0000
11235 buffer-float-insert wide-fig
11240 \labelwidthstring 00.00.0000
11248 dialog-tabular-insert
11252 \labelwidthstring 00.00.0000
11264 \labelwidthstring 00.00.0000
11276 \labelwidthstring 00.00.0000
11284 buffer-child-insert
11288 \labelwidthstring 00.00.0000
11300 \labelwidthstring 00.00.0000
11312 \labelwidthstring 00.00.0000
11324 \labelwidthstring 00.00.0000
11336 \labelwidthstring 00.00.0000
11348 \labelwidthstring 00.00.0000
11360 \labelwidthstring 00.00.0000
11372 \labelwidthstring 00.00.0000
11387 \labelwidthstring 00.00.0000
11398 \labelwidthstring 00.00.0000
11409 \labelwidthstring 00.00.0000
11420 \labelwidthstring 00.00.0000
11431 \labelwidthstring 00.00.0000
11442 \labelwidthstring 00.00.0000
11454 \labelwidthstring 00.00.0000
11466 \labelwidthstring 00.00.0000
11481 \labelwidthstring 00.00.0000
11488 protected-space-insert
11492 \labelwidthstring 00.00.0000
11499 end-of-sentence-period-insert
11503 \labelwidthstring 00.00.0000
11514 \labelwidthstring 00.00.0000
11525 \labelwidthstring 00.00.0000
11536 \labelwidthstring 00.00.0000
11543 menu-separator-insert
11547 \labelwidthstring 00.00.0000
11554 hyphenation-point-insert
11558 \labelwidthstring 00.00.0000
11569 \labelwidthstring 00.00.0000
11576 command-sequence math-insert ^;math-mode;
11580 \labelwidthstring 00.00.0000
11587 command-sequence math-insert _;math-mode;
11592 \labelwidthstring 00.00.0000
11607 \labelwidthstring 00.00.0000
11614 file-insert-ascii lines
11618 \labelwidthstring 00.00.0000
11625 file-insert-ascii paragraphs
11629 \labelwidthstring 00.00.0000
11641 \labelwidthstring 00.00.0000
11653 \labelwidthstring 00.00.0000
11665 \labelwidthstring 00.00.0000
11676 \begin_layout Subsection
11681 \labelwidthstring 00.00.0000
11693 \labelwidthstring 00.00.0000
11705 \labelwidthstring 00.00.0000
11717 \labelwidthstring 00.00.0000
11729 \labelwidthstring 00.00.0000
11741 \labelwidthstring 00.00.0000
11753 \labelwidthstring 00.00.0000
11765 \labelwidthstring 00.00.0000
11777 \labelwidthstring 00.00.0000
11785 layout-save-default
11789 \labelwidthstring 00.00.0000
11801 \labelwidthstring 00.00.0000
11813 \labelwidthstring 00.00.0000
11824 \begin_layout Subsubsection
11827 Layout\SpecialChar \menuseparator
11834 \labelwidthstring 00.00.0000
11844 \labelwidthstring 00.00.0000
11854 \labelwidthstring 00.00.0000
11864 \labelwidthstring 00.00.0000
11874 \labelwidthstring 00.00.0000
11886 \labelwidthstring 00.00.0000
11896 \labelwidthstring 00.00.0000
11906 \labelwidthstring 00.00.0000
11916 \labelwidthstring 00.00.0000
11926 \labelwidthstring 00.00.0000
11936 \labelwidthstring 00.00.0000
11946 \labelwidthstring 00.00.0000
11956 \labelwidthstring 00.00.0000
11966 \labelwidthstring 00.00.0000
11978 \labelwidthstring 00.00.0000
11990 \labelwidthstring 00.00.0000
12002 \labelwidthstring 00.00.0000
12014 \labelwidthstring 00.00.0000
12024 \labelwidthstring 00.00.0000
12036 \labelwidthstring 00.00.0000
12048 \labelwidthstring 00.00.0000
12058 \labelwidthstring 00.00.0000
12070 \labelwidthstring 00.00.0000
12082 \labelwidthstring 00.00.0000
12094 \labelwidthstring 00.00.0000
12106 \labelwidthstring 00.00.0000
12116 \labelwidthstring 00.00.0000
12126 \labelwidthstring 00.00.0000
12138 \labelwidthstring 00.00.0000
12150 \labelwidthstring 00.00.0000
12162 \labelwidthstring 00.00.0000
12172 \labelwidthstring 00.00.0000
12181 \begin_layout Subsection
12185 \begin_layout Subsection
12189 \begin_layout Subsection
12193 \begin_layout Subsection
12198 \labelwidthstring 00.00.0000
12210 \labelwidthstring 00.00.0000
12222 \labelwidthstring 00.00.0000
12234 \labelwidthstring 00.00.0000
12246 \labelwidthstring 00.00.0000
12258 \labelwidthstring 00.00.0000
12266 layout ShortFoilhead
12270 \labelwidthstring 00.00.0000
12282 \labelwidthstring 00.00.0000
12294 \labelwidthstring 00.00.0000
12306 \labelwidthstring 00.00.0000
12318 \labelwidthstring 00.00.0000
12326 layout ShortRotatefoilhead
12330 \labelwidthstring 00.00.0000
12342 \labelwidthstring 00.00.0000
12354 \labelwidthstring 00.00.0000
12366 \labelwidthstring 00.00.0000
12374 drop-layouts-choice
12378 \labelwidthstring 00.00.0000
12393 \labelwidthstring 00.00.0000
12408 \labelwidthstring 00.00.0000
12420 \labelwidthstring 00.00.0000
12432 \labelwidthstring 00.00.0000
12440 layout Subsubsection
12444 \labelwidthstring 00.00.0000
12456 \labelwidthstring 00.00.0000
12464 layout Subparagraph
12468 \labelwidthstring 00.00.0000
12472 asterisk\InsetSpace ~
12481 \labelwidthstring 00.00.0000
12485 asterisk\InsetSpace ~
12494 \labelwidthstring 00.00.0000
12498 asterisk\InsetSpace ~
12507 \labelwidthstring 00.00.0000
12511 asterisk\InsetSpace ~
12520 \labelwidthstring 00.00.0000
12524 asterisk\InsetSpace ~
12529 layout Subsubsection*
12533 \labelwidthstring 00.00.0000
12537 asterisk\InsetSpace ~
12546 \labelwidthstring 00.00.0000
12550 asterisk\InsetSpace ~
12555 layout Subparagraph*
12559 \labelwidthstring 00.00.0000
12571 \labelwidthstring 00.00.0000
12579 layout Bibliography
12583 \labelwidthstring 00.00.0000
12595 \labelwidthstring 00.00.0000
12607 \labelwidthstring 00.00.0000
12619 \labelwidthstring 00.00.0000
12631 \labelwidthstring 00.00.0000
12643 \labelwidthstring 00.00.0000
12651 layout Rotatefoilhead
12655 \labelwidthstring 00.00.0000
12663 layout RightAddress
12667 \labelwidthstring 00.00.0000
12679 \labelwidthstring 00.00.0000
12691 \labelwidthstring 00.00.0000
12703 \labelwidthstring 00.00.0000
12714 \begin_layout Standard
12715 These ones are kept for backwards compatibility, but only make sense on
12720 \labelwidthstring 00.00.0000
12732 \labelwidthstring 00.00.0000
12740 layout Subsubsection*
12744 \labelwidthstring 00.00.0000
12755 \begin_layout Section
12759 \begin_layout Subsection
12766 \labelwidthstring 00.00.0000
12777 \labelwidthstring 00.00.0000
12788 \labelwidthstring 00.00.0000
12799 \labelwidthstring 00.00.0000
12810 \labelwidthstring 00.00.0000
12821 \labelwidthstring 00.00.0000
12832 \labelwidthstring 00.00.0000
12839 hyphenation-point-insert
12843 \labelwidthstring 00.00.0000
12854 \labelwidthstring 00.00.0000
12861 line-delete-forward
12865 \labelwidthstring 00.00.0000
12876 \labelwidthstring 00.00.0000
12887 \labelwidthstring 00.00.0000
12898 \labelwidthstring 00.00.0000
12909 \labelwidthstring 00.00.0000
12920 \labelwidthstring 00.00.0000
12929 \labelwidthstring 00.00.0000
12940 \labelwidthstring 00.00.0000
12951 \labelwidthstring 00.00.0000
12962 \labelwidthstring 00.00.0000
12973 \labelwidthstring 00.00.0000
12984 \labelwidthstring 00.00.0000
12995 \labelwidthstring 00.00.0000
13007 \labelwidthstring 00.00.0000
13019 \labelwidthstring 00.00.0000
13031 \labelwidthstring 00.00.0000
13043 \labelwidthstring 00.00.0000
13056 \labelwidthstring 00.00.0000
13068 \labelwidthstring 00.00.0000
13080 \labelwidthstring 00.00.0000
13092 \labelwidthstring 00.00.0000
13104 \labelwidthstring 00.00.0000
13117 \labelwidthstring 00.00.0000
13129 \labelwidthstring 00.00.0000
13141 \labelwidthstring 00.00.0000
13154 \labelwidthstring 00.00.0000
13167 \labelwidthstring 00.00.0000
13180 \labelwidthstring 00.00.0000
13193 \labelwidthstring 00.00.0000
13206 \labelwidthstring 00.00.0000
13219 \labelwidthstring 00.00.0000
13231 \labelwidthstring 00.00.0000
13243 \labelwidthstring 00.00.0000
13255 \labelwidthstring 00.00.0000
13263 menu-open Documents
13267 \labelwidthstring 00.00.0000
13279 \labelwidthstring 00.00.0000
13291 \labelwidthstring 00.00.0000
13303 \labelwidthstring 00.00.0000
13315 \labelwidthstring 00.00.0000
13327 \labelwidthstring 00.00.0000
13335 buffer-toggle-read-only
13339 \labelwidthstring 00.00.0000
13351 \labelwidthstring 00.00.0000
13363 \labelwidthstring 00.00.0000
13375 \labelwidthstring 00.00.0000
13386 \labelwidthstring 00.00.0000
13397 \labelwidthstring 00.00.0000
13408 \labelwidthstring 00.00.0000
13419 \labelwidthstring 00.00.0000
13430 \labelwidthstring 00.00.0000
13441 \labelwidthstring 00.00.0000
13452 \labelwidthstring 00.00.0000
13463 \labelwidthstring 00.00.0000
13474 \labelwidthstring 00.00.0000
13485 \labelwidthstring 00.00.0000
13496 \labelwidthstring 00.00.0000
13507 \labelwidthstring 00.00.0000
13518 \labelwidthstring 00.00.0000
13529 \labelwidthstring 00.00.0000
13536 word-delete-forward
13540 \labelwidthstring 00.00.0000
13547 word-delete-backward
13551 \labelwidthstring 00.00.0000
13562 \labelwidthstring 00.00.0000
13569 end-of-sentence-period-insert
13573 \labelwidthstring 00.00.0000
13580 protected-space-insert
13584 \labelwidthstring 00.00.0000
13595 \labelwidthstring 00.00.0000
13606 \labelwidthstring 00.00.0000
13617 \labelwidthstring 00.00.0000
13628 \labelwidthstring 00.00.0000
13639 \labelwidthstring 00.00.0000
13650 \labelwidthstring 00.00.0000
13657 buffer-begin-select
13661 \labelwidthstring 00.00.0000
13672 \labelwidthstring 00.00.0000
13679 paragraph-up-select
13683 \labelwidthstring 00.00.0000
13690 paragraph-down-select
13694 \labelwidthstring 00.00.0000
13701 word-backward-select
13705 \labelwidthstring 00.00.0000
13712 word-forward-select
13716 \labelwidthstring 00.00.0000
13727 \labelwidthstring 00.00.0000
13734 word-delete-forward
13738 \labelwidthstring 00.00.0000
13749 \labelwidthstring 00.00.0000
13760 \labelwidthstring 00.00.0000
13771 \labelwidthstring 00.00.0000
13782 \labelwidthstring 00.00.0000
13789 break-paragraph-keep-layout
13793 \labelwidthstring 00.00.0000
13801 \begin_layout Subsection
13808 \labelwidthstring 00.00.0000
13819 \labelwidthstring 00.00.0000
13830 \labelwidthstring 00.00.0000
13841 \labelwidthstring 00.00.0000
13852 \labelwidthstring 00.00.0000
13863 \labelwidthstring 00.00.0000
13874 \labelwidthstring 00.00.0000
13885 \labelwidthstring 00.00.0000
13896 \labelwidthstring 00.00.0000
13907 \labelwidthstring 00.00.0000
13918 \labelwidthstring 00.00.0000
13929 \labelwidthstring 00.00.0000
13940 \labelwidthstring 00.00.0000
13951 \labelwidthstring 00.00.0000
13962 \labelwidthstring 00.00.0000
13973 \labelwidthstring 00.00.0000
13984 \labelwidthstring 00.00.0000
13995 \labelwidthstring 00.00.0000
14006 \labelwidthstring 00.00.0000
14017 \labelwidthstring 00.00.0000
14028 \labelwidthstring 00.00.0000
14039 \labelwidthstring 00.00.0000
14050 \labelwidthstring 00.00.0000
14057 protected-space-insert
14061 \labelwidthstring 00.00.0000
14072 \labelwidthstring 00.00.0000
14083 \labelwidthstring 00.00.0000
14094 \labelwidthstring 00.00.0000
14101 buffer-new-template
14105 \labelwidthstring 00.00.0000
14116 \labelwidthstring 00.00.0000
14127 \labelwidthstring 00.00.0000
14138 \labelwidthstring 00.00.0000
14149 \labelwidthstring 00.00.0000
14160 \labelwidthstring 00.00.0000
14171 \labelwidthstring 00.00.0000
14182 \labelwidthstring 00.00.0000
14189 end-of-sentence-period-insert
14193 \labelwidthstring 00.00.0000
14204 \labelwidthstring 00.00.0000
14215 \labelwidthstring 00.00.0000
14222 hyphenation-point-insert
14226 \labelwidthstring 00.00.0000
14237 \labelwidthstring 00.00.0000
14244 protected-space-insert
14248 \labelwidthstring 00.00.0000
14259 \labelwidthstring 00.00.0000
14270 \labelwidthstring 00.00.0000
14281 \labelwidthstring 00.00.0000
14292 \labelwidthstring 00.00.0000
14303 \labelwidthstring 00.00.0000
14314 \labelwidthstring 00.00.0000
14325 \labelwidthstring 00.00.0000
14336 \labelwidthstring 00.00.0000
14347 \labelwidthstring 00.00.0000
14358 \labelwidthstring 00.00.0000
14369 \labelwidthstring 00.00.0000
14380 \labelwidthstring 00.00.0000
14391 \labelwidthstring 00.00.0000
14402 \labelwidthstring 00.00.0000
14413 \labelwidthstring 00.00.0000
14420 word-delete-forward
14424 \labelwidthstring 00.00.0000
14431 word-delete-backward
14435 \labelwidthstring 00.00.0000
14446 \labelwidthstring 00.00.0000
14457 \labelwidthstring 00.00.0000
14468 \labelwidthstring 00.00.0000
14479 \labelwidthstring 00.00.0000
14486 paragraph-down-select
14490 \labelwidthstring 00.00.0000
14501 \labelwidthstring 00.00.0000
14508 buffer-begin-select
14512 \labelwidthstring 00.00.0000
14519 word-backward-select
14523 \labelwidthstring 00.00.0000
14530 word-forward-select
14534 \labelwidthstring 00.00.0000
14541 paragraph-up-select
14545 \labelwidthstring 00.00.0000
14556 \labelwidthstring 00.00.0000
14563 break-paragraph-keep-layout
14567 \labelwidthstring 00.00.0000
14578 \labelwidthstring 00.00.0000
14589 \labelwidthstring 00.00.0000
14600 \labelwidthstring 00.00.0000
14611 \labelwidthstring 00.00.0000
14622 \labelwidthstring 00.00.0000
14631 \labelwidthstring 00.00.0000
14642 \labelwidthstring 00.00.0000
14653 \labelwidthstring 00.00.0000
14664 \labelwidthstring 00.00.0000
14675 \labelwidthstring 00.00.0000
14685 \begin_layout Subsection
14691 \begin_layout Standard
14692 These are LyX keyboard definitions for mathematics, similar to those of
14696 \begin_layout Standard
14697 The bindings file and the present documentation were prepared by Serge Winitzki
14698 with assistance from Jean-Marc Lasgouttes.
14699 Version 1.3, for LyX 1.2.x and 1.3.x.
14702 \begin_layout Standard
14703 These definitions make it a lot easier to type equations without using the
14704 mouse, especially for people familiar with Scientific Word.
14705 The standard LyX bindings such as
14716 \begin_layout Standard
14717 Tip: to find the "LyX bind name" for a key, look at the status bar after
14718 typing some non-existent key combination.
14720 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
14721 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
14725 \labelwidthstring 00.00.0000
14734 -- Copy, cut, paste is as in Sciword,
14750 \labelwidthstring 00.00.0000
14759 -- Display equation toggle: type
14763 to insert a displayed formula (
14768 \begin_inset Quotes eld
14772 \begin_inset Quotes erd
14780 in a displayed formula to convert it back to an inline formula.
14784 \labelwidthstring 00.00.0000
14799 to insert a fraction (
14804 \begin_inset Quotes eld
14808 \begin_inset Quotes erd
14812 You can also select an expression and type
14816 to convert it to the numerator of a fraction.
14825 end of the denominator will delete the numerator and convert the denominator
14830 \labelwidthstring 00.00.0000
14842 \begin_inset Formula $\int$
14850 \begin_inset Quotes eld
14854 \begin_inset Quotes erd
14861 \labelwidthstring 00.00.0000
14868 line-delete-forward
14870 -- Emacs-like binding: delete forward of cursor to end of line.
14874 \labelwidthstring 00.00.0000
14883 -- A text/math toggle (
14888 \begin_inset Quotes eld
14892 \begin_inset Quotes erd
14895 ): switches to math in text mode, and also inserts roman text in math mode.
14905 \begin_inset Quotes eld
14909 \begin_inset Quotes erd
14916 \labelwidthstring 00.00.0000
14925 -- Add/remove numbering in a single equation.
14929 \labelwidthstring 00.00.0000
14938 -- Add/remove numbering at a line in equation arrays.
14941 \begin_layout Standard
14942 The above commands are toggles that control the numbering of equations (
14947 \begin_inset Quotes eld
14951 \begin_inset Quotes erd
14955 Note: when deleting a number in a labeled eqnarray, the label is not really
14956 removed (the TeX code becomes
14957 \begin_inset Quotes eld
14969 \begin_inset Quotes erd
14972 ) and this generates a (harmless) LaTeX warning.
14976 \labelwidthstring 00.00.0000
14985 -- Open a new document.
14990 \labelwidthstring 00.00.0000
14999 -- Insert a quote character " (
15004 \begin_inset Quotes eld
15008 \begin_inset Quotes erd
15013 \begin_inset Quotes eld
15017 \begin_inset Quotes erd
15020 double quote character that you get by default.
15024 \labelwidthstring 00.00.0000
15035 -- Square root sign
15036 \begin_inset Formula $\sqrt{x}$
15044 \begin_inset Quotes eld
15048 \begin_inset Quotes erd
15055 \labelwidthstring 00.00.0000
15067 \begin_inset Formula $\sqrt[n]{x}$
15074 \labelwidthstring 00.00.0000
15083 -- Another binding for a switch between the text and the math mode (
15088 \begin_inset Quotes eld
15092 \begin_inset Quotes erd
15096 Note that the roman text inserted in math mode is special.
15100 \labelwidthstring 00.00.0000
15113 the selected text (text mode only, use things like
15129 \labelwidthstring 00.00.0000
15138 -- W*ndows heritage.
15142 \labelwidthstring 00.00.0000
15151 -- Close the current document (again, a W*ndows heritage).
15155 \labelwidthstring 00.00.0000
15166 \labelwidthstring 00.00.0000
15177 \labelwidthstring 00.00.0000
15187 \begin_inset Quotes eld
15191 \begin_inset Quotes erd
15195 \begin_inset Quotes eld
15199 \begin_inset Quotes erd
15205 \begin_layout Standard
15206 Bracket delimiters: press
15210 -<bracket key> to insert a matching pair of delimiters.
15215 inserts a pair of parentheses
15216 \begin_inset Formula $\left[\right]$
15224 does the same thing.) It will switch to math mode if needed.
15225 The supported characters are ( [ { < |.
15226 It is the same to press the right or the left bracket.
15227 The corresponding delimiters are
15228 \begin_inset Formula $\left(\right)$
15232 \begin_inset Formula $\left[\right]$
15236 \begin_inset Formula $\left\{ \right\} $
15240 \begin_inset Formula $\left\langle \right\rangle $
15244 \begin_inset Formula $\left|\right|$
15249 \begin_inset Quotes eld
15253 \begin_inset Quotes erd
15256 and resize with their contents.
15257 Use Math Panel to get other or non-matching delimiters.
15258 Press backspace on the
15262 delimiter to remove both
15263 \begin_inset Quotes eld
15267 \begin_inset Quotes erd
15270 delimiters without removing their contents.
15274 \labelwidthstring 00.00.0000
15283 -- for convenience, pressing
15297 \labelwidthstring 00.00.0000
15308 \labelwidthstring 00.00.0000
15319 \labelwidthstring 00.00.0000
15330 \labelwidthstring 00.00.0000
15341 \labelwidthstring 00.00.0000
15352 \labelwidthstring 00.00.0000
15359 math-delim langle rangle
15361 -- angular delimiters
15362 \begin_inset Formula $\left\langle \right\rangle $
15365 , not to confuse with ordinary < > signs.
15369 \labelwidthstring 00.00.0000
15376 math-delim langle rangle
15379 \begin_layout Standard
15380 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15381 some British ones), the bar character
15386 -something and on some wayward Unices to "brokenbar".
15387 So we define all of these keys as well.
15391 \labelwidthstring 00.00.0000
15402 \labelwidthstring 00.00.0000
15413 \labelwidthstring 00.00.0000
15424 \labelwidthstring 00.00.0000
15435 \labelwidthstring 00.00.0000
15445 \begin_layout Standard
15446 Accents are in most cases
15450 -<accent key>, e.g.\InsetSpace ~
15464 for tilde (you also need to press
15470 \begin_inset Quotes eld
15482 \begin_inset Quotes erd
15486 Some accents work only in math mode and others only in text mode.
15490 \labelwidthstring 00.00.0000
15499 -- overdot accent, \i \.{a}
15504 \labelwidthstring 00.00.0000
15516 \begin_inset Formula $\dot{a}$
15519 (math mode only -- in physics this denotes a first derivative).
15523 \labelwidthstring 00.00.0000
15534 -- Vector accent over math
15535 \begin_inset Formula $\overrightarrow{x}$
15542 \labelwidthstring 00.00.0000
15551 -- umlaut accent, ä (text mode only)
15555 \labelwidthstring 00.00.0000
15566 -- double dot accent,
15567 \begin_inset Formula $\ddot{a}$
15570 (math mode only -- in physics this denotes a second derivative).
15571 To get a triple dot in math mode, use
15579 \labelwidthstring 00.00.0000
15588 -- grave accent à (text mode only, use
15598 \labelwidthstring 00.00.0000
15607 -- tilde accent ã (text mode only, use
15617 \labelwidthstring 00.00.0000
15626 -- acute accent á (text mode only, use
15636 \labelwidthstring 00.00.0000
15645 -- circumflex (caret) accent â (text mode only, use
15654 \begin_layout Standard
15656 The new key S-F2 for creating a LaTeX file seems handy.
15660 \labelwidthstring 00.00.0000
15669 -- Save current document.
15673 \labelwidthstring 00.00.0000
15680 buffer-export latex
15682 -- Write a LaTeX file for the current document.
15686 \labelwidthstring 00.00.0000
15695 -- Find and replace dialog.
15699 \labelwidthstring 00.00.0000
15716 \labelwidthstring 00.00.0000
15729 to quit LyX is the W*ndows w*ndow manager's mnemonic.
15732 \begin_layout Standard
15741 are used to switch fonts.
15746 to switch back to the normal font.
15747 The non-default font switches
15755 all work as toggles.
15756 They also work on the whole word if you put the cursor in the middle of
15757 the word, or if you select some text.
15761 \labelwidthstring 00.00.0000
15770 -- stop using any special font
15774 \labelwidthstring 00.00.0000
15791 \labelwidthstring 00.00.0000
15808 \labelwidthstring 00.00.0000
15825 \labelwidthstring 00.00.0000
15839 (Used sometimes for people's names.)
15842 \begin_layout Standard
15848 \begin_inset Quotes eld
15852 \begin_inset Quotes erd
15859 key (useful e.g.\InsetSpace ~
15860 if the keyboard has no working
15867 \begin_layout Standard
15868 Here are some Sciword-inspired mnemonics for frequently used math symbols.
15869 Many symbols start with a
15878 cannot be itself bound to anything.
15882 \labelwidthstring 00.00.0000
15894 \begin_inset Quotes eld
15898 \begin_inset Quotes erd
15902 \begin_inset Formula $\prime$
15906 This is frequently unnecessary: in most cases the normal apostrophe works
15909 \begin_inset Formula $x'+2x=0$
15912 , but in some cases this would generate a double superscript error in LaTeX.
15914 \begin_inset Formula $x^{\prime2}$
15918 \begin_inset Formula $x$
15921 prime squared) must be entered with the prime character.
15925 \labelwidthstring 00.00.0000
15933 command-sequence math-superscript; math-insert
15937 -- Insert a prime as a superscript (see example above).
15941 \labelwidthstring 00.00.0000
15950 -- Insert an upper index.
15957 \labelwidthstring 00.00.0000
15966 -- Insert a lower index.
15973 \labelwidthstring 00.00.0000
15985 -- Partial derivative symbol
15986 \begin_inset Formula $\partial$
15993 \labelwidthstring 00.00.0000
16005 -- Summation symbol
16006 \begin_inset Formula $\sum$
16009 (not the same as the Greek letter uppercase Sigma
16010 \begin_inset Formula $\Sigma$
16013 because it can resize and allows smart upper/lower limits).
16017 \labelwidthstring 00.00.0000
16030 \begin_inset Formula $\prod$
16033 (not the same as the Greek letter uppercase Pi,
16034 \begin_inset Formula $\Pi$
16041 \labelwidthstring 00.00.0000
16054 \begin_inset Formula $\infty$
16061 \labelwidthstring 00.00.0000
16074 \begin_inset Formula $\times$
16081 \labelwidthstring 00.00.0000
16091 -- Insert a stacked array
16092 \begin_inset Formula $\begin{array}{c}
16094 \end{array}\end{array}$
16098 (Frequently useful in formulae.)
16102 \labelwidthstring 00.00.0000
16113 \begin_inset Formula $\times$
16117 \begin_inset Formula $\begin{array}{ccc}
16122 (Then you can modify its size using the
16124 Edit\SpecialChar \menuseparator
16131 \labelwidthstring 00.00.0000
16144 \begin_inset Quotes eld
16148 \begin_inset Quotes erd
16152 \begin_inset Formula $\dagger$
16159 \labelwidthstring 00.00.0000
16172 \begin_inset Quotes eld
16176 \begin_inset Quotes erd
16180 \begin_inset Formula $\equiv$
16187 \labelwidthstring 00.00.0000
16199 \begin_inset Quotes eld
16202 Approximate equality
16203 \begin_inset Quotes erd
16207 \begin_inset Formula $\approx$
16214 \labelwidthstring 00.00.0000
16226 \begin_inset Quotes eld
16230 \begin_inset Quotes erd
16234 \begin_inset Formula $\sim$
16241 \labelwidthstring 00.00.0000
16253 \begin_inset Formula $\rightarrow$
16257 \begin_inset Formula $\lim_{x\rightarrow0}$
16264 \labelwidthstring 00.00.0000
16276 \begin_inset Formula $\leq$
16283 \labelwidthstring 00.00.0000
16294 -- Greater-or-equal
16295 \begin_inset Formula $\geq$
16302 \labelwidthstring 00.00.0000
16315 \begin_inset Quotes eld
16319 \begin_inset Quotes erd
16323 \begin_inset Formula $\ll$
16326 (useful in physics)
16330 \labelwidthstring 00.00.0000
16343 \begin_inset Quotes eld
16347 \begin_inset Quotes erd
16351 \begin_inset Formula $\gg$
16357 \begin_layout Subsection
16358 Standard math bindings
16362 \labelwidthstring 00.00.0000
16376 \labelwidthstring 00.00.0000
16388 \labelwidthstring 00.00.0000
16400 \labelwidthstring 00.00.0000
16414 \labelwidthstring 00.00.0000
16426 \labelwidthstring 00.00.0000
16438 \labelwidthstring 00.00.0000
16452 \labelwidthstring 00.00.0000
16464 \labelwidthstring 00.00.0000
16476 \labelwidthstring 00.00.0000
16488 \labelwidthstring 00.00.0000
16502 \labelwidthstring 00.00.0000
16516 \labelwidthstring 00.00.0000
16530 \labelwidthstring 00.00.0000
16544 \labelwidthstring 00.00.0000
16558 \labelwidthstring 00.00.0000
16572 \labelwidthstring 00.00.0000
16584 \labelwidthstring 00.00.0000
16598 \labelwidthstring 00.00.0000
16610 \labelwidthstring 00.00.0000
16622 \labelwidthstring 00.00.0000
16634 \labelwidthstring 00.00.0000
16646 \labelwidthstring 00.00.0000
16660 \labelwidthstring 00.00.0000
16672 \labelwidthstring 00.00.0000
16684 \labelwidthstring 00.00.0000
16696 \labelwidthstring 00.00.0000
16704 math-delim langle rangle
16708 \labelwidthstring 00.00.0000
16716 math-delim rangle langle
16720 \labelwidthstring 00.00.0000
16732 \labelwidthstring 00.00.0000
16746 \labelwidthstring 00.00.0000
16759 \begin_layout Subsection
16764 \labelwidthstring 00.00.0000
16774 \labelwidthstring 00.00.0000
16784 \labelwidthstring 00.00.0000
16794 \labelwidthstring 00.00.0000
16804 \labelwidthstring 00.00.0000