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 If the operating system has a default viewer associated to a format it is
1798 used instead of the one you can define via the
1803 ools\SpecialChar \menuseparator
1808 references:Conversion
1811 This does currently only work in the Windows® port of LyX, but it is planned
1812 to implement this feature on all other ports that can support it, too.
1815 \begin_layout Standard
1816 Editors are like viewers: Each Format can have an Editor associated to it,
1817 and they can be altered via the
1822 ools\SpecialChar \menuseparator
1827 references:Conversion
1830 LyX uses them whenever an included file
1834 \begin_layout Standard
1835 This can be an included
1839 file, a verbatim included text file, external material or an included graphics
1848 \begin_layout Standard
1849 Finally, each Format can have a Copier associated to it.
1850 Since all conversions from one Format to another take place in a temporary
1851 directory, it is sometimes necessary to modify a file before copying it
1852 to the temporary directory
1856 \begin_layout Standard
1857 For example, the file may reference other files with relative filenames,
1858 which will become invalid in the temporary directory
1864 This is done by the Copier: It copies a file to (or from) the temporary
1865 directory and may modify it in the process.
1868 \begin_layout Standard
1873 you can choose whether the format is a document format or not.
1874 The difference between document and non--document formats is that you can
1875 export your LyX document only to document formats.
1876 Non--document formats are used for included graphics.
1877 Examples for document formats are
1886 Examples for non--document formats are
1899 are both document formats and non--document formats.
1904 should be checked for these formats.
1907 \begin_layout Section
1908 BibTeX and makeindex
1911 \begin_layout Standard
1912 Both the bibliography generating command (default
1916 ) and the index generating command (default
1929 As an alternative for
1941 \begin_layout Standard
1942 The command to enter is
1948 makeindex.sh -m $$lang
1951 \begin_layout Standard
1952 where the placeholder
1956 will be replaced by the chosen document (babel) language.
1960 \begin_layout Standard
1961 have installed the packages
1978 at a shell prompt for a help page.
1981 \begin_layout Section
1982 ASCII export options
1985 \begin_layout Standard
1986 \begin_inset VSpace bigskip
1992 \begin_layout Standard
1994 There are a couple of commands that can be used to
1995 \begin_inset Quotes eld
1999 \begin_inset Quotes erd
2002 exported ASCII text files.
2003 Note that LyX automatically detects and uses the best settings for your
2004 system at installation time, but you can modify them if you disagree with
2008 \begin_layout Description
2017 This option defines the command used to produce better ASCII tables with
2022 UNIX-commands (refer to their manpages for more information about them).
2023 Setting this as empty tells LyX to use the internal (inferior) formatter.
2026 \begin_layout Description
2036 With this command you can set the default line length of the ASCII output
2038 Setting it to 0 means endless lines.
2041 \begin_layout Section
2045 \begin_layout Standard
2046 There are a bunch of configuration options that are used for interaction
2047 with the external print command from LyX.
2048 Normally the defaults are fine: if, however, your print command takes different
2049 option names, you can modify them here.
2052 \begin_layout Subsection
2056 \begin_layout Standard
2057 You can change the colors used by LyX on-screen using the new
2062 Alternatively, if you're feeling particularly perverse you could use the
2067 bindable function (see the
2072 Input would have the format:
2075 \begin_layout Standard
2078 set-color LyXName X11Color
2081 \begin_layout Standard
2082 Here is a (partial) list of the functions and default colors:
2085 \begin_layout Standard
2087 \begin_inset Tabular
2088 <lyxtabular version="3" rows="10" columns="3">
2090 <column alignment="left" valignment="top" leftline="true" width="0pt">
2091 <column alignment="left" valignment="top" leftline="true" width="0pt">
2092 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2093 <row topline="true" bottomline="true">
2094 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2097 \begin_layout Standard
2112 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2115 \begin_layout Standard
2130 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2133 \begin_layout Standard
2149 <row topline="true">
2150 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2153 \begin_layout Standard
2168 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2171 \begin_layout Standard
2186 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2189 \begin_layout Standard
2205 <row topline="true">
2206 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2209 \begin_layout Standard
2224 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2227 \begin_layout Standard
2242 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2245 \begin_layout Standard
2261 <row topline="true">
2262 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2265 \begin_layout Standard
2280 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2283 \begin_layout Standard
2298 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2301 \begin_layout Standard
2317 <row topline="true">
2318 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2321 \begin_layout Standard
2336 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2339 \begin_layout Standard
2354 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2357 \begin_layout Standard
2373 <row topline="true">
2374 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2377 \begin_layout Standard
2392 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2395 \begin_layout Standard
2405 fraction Lines, brackets, etc.
2410 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2413 \begin_layout Standard
2429 <row topline="true">
2430 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2433 \begin_layout Standard
2448 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2451 \begin_layout Standard
2457 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2460 \begin_layout Standard
2476 <row topline="true">
2477 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2480 \begin_layout Standard
2495 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2498 \begin_layout Standard
2504 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2507 \begin_layout Standard
2523 <row topline="true">
2524 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2527 \begin_layout Standard
2542 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2545 \begin_layout Standard
2551 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2554 \begin_layout Standard
2570 <row topline="true" bottomline="true">
2571 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2574 \begin_layout Standard
2589 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2592 \begin_layout Standard
2602 selection background
2607 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2610 \begin_layout Standard
2633 \begin_layout Section
2634 The autodetected settings
2637 \begin_layout Standard
2638 \begin_inset LatexCommand \label{sec:autodetected}
2642 There are several items that are detected for you when you run
2649 \SpecialChar \menuseparator
2655 In this section, we list those which pertain to the user preferences.
2658 \begin_layout Description
2679 , depending on what is available.
2682 \begin_layout Description
2695 plus a bunch of options.
2698 \begin_layout Description
2711 on systems (so-called System V) who have this command, and
2715 otherwise (BSD systems).
2718 \begin_layout Description
2724 print_spool_printerprefix
2735 , depending on whether
2746 \begin_layout Description
2763 fonts are found and LaTeX has support for these fonts built-in.
2764 You can set it manually if you only have the so-called
2771 \begin_layout Section
2775 \begin_layout Standard
2776 There are many other configuration options that can be used to customize
2778 We still need to document them here, but again, most should be fairly obvious.
2779 Please ask on the mailing lists if you need some more information; it may
2780 even prompt us to expand this section.
2783 \begin_layout Chapter
2784 Internationalizing LyX
2785 \begin_inset LatexCommand \label{chap:i18n}
2792 \begin_layout Standard
2793 LyX supports using a translated interface.
2794 Last time we checked, LyX provided text in 14 languages together with the
2795 default English text.
2796 The language of choice is called your
2801 (For further reading on locale settings, see also the documentation for
2802 locale that comes with your operating system.
2803 For Linux, the manual page for locale(5) could be a good place to start).
2806 \begin_layout Standard
2807 Notice that these translations will work, but do contain a few flaws.
2808 In particular, all dialogs have been designed with the English text in
2809 mind, which means that some of the translated text will be too large to
2810 fit within the space allocated.
2811 This is only a display problem and will not cause any harm.
2812 Also, you will find that some of the translations do not define short-cut
2813 keys for everything.
2814 Sometimes, there are simply not enough free letters to do it.
2815 Other times, the translator just hasn't got around to doing it yet.
2816 Our localization team -- which you may wish to join -- will try to fix
2817 these shortcomings in future versions of LyX.
2820 \begin_layout Section
2821 Selecting an alternative language for the user interface
2824 \begin_layout Standard
2825 This feature is disabled by default, meaning that system default language
2827 To enable an alternative language, you have to set an appropriate environment
2835 for csh class shells
2850 with the two letter code (or four letter code, like
2854 for British English) for the language you want.
2860 Besides the user interface texts being translated, also the appropriate
2861 manuals will be presented under the Help menu -- if available.
2864 \begin_layout Standard
2865 On some systems, you may have to redefine
2877 , to override the system settings; their preference is in this order
2881 \begin_layout Standard
2882 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
2888 , which corresponds to the way GNU
2893 Consult your system documentation.
2894 Normally, you'll want to put the appropriate line in a shell script run
2895 on start-up, so that the translation is on by default.
2896 Remember that this affects
2900 localized packages, not only LyX!
2903 \begin_layout Standard
2904 If LyX is configured and compiled with
2905 \begin_inset Quotes eld
2913 \begin_inset Quotes erd
2916 , this mechanism will not work.
2919 \begin_layout Section
2923 \begin_layout Subsection
2924 Translating the graphical user interface (text messages).
2927 \begin_layout Standard
2932 library to handle the internationalization of the interface.
2933 To have LyX speak your favorite language in all menus and dialogs, you
2938 -file for that language.
2939 When this is available, you'll have to generate a mo-file from it and install
2945 The process of doing all of this is explained in the documentation for
2950 , but in short, this is what you do (
2954 denotes the language code):
2957 \begin_layout Standard
2961 \begin_layout Standard
2973 \begin_layout Itemize
2976 LYX-SOURCE-DIR/po/lyx.pot
2989 doesn't exist, it can be remade with
2993 in that directory, or you can use an existing po-file for some other language
2997 \begin_layout Itemize
3004 \begin_layout Standard
3005 We recommend that you use Emacs to do this, since the
3009 distribution includes a nice mode that supports you in doing this.
3017 For some menu- and widget-labels, there are also shortcut keys that should
3019 Those keys are marked after a `|', and should be translated according to
3020 the words and phrases of the
3025 There is a tool named
3029 written in Prolog in
3031 LYX-SOURCE-DIR/development/tools/
3033 that may be useful to help determine short-cut keys.
3034 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
3035 characters as shortcut keys.
3036 You should also fill also out the information at the beginning of the new
3041 -file with your email-address, etc., so people know where to reach you with
3042 suggestions and entertaining flames.
3045 \begin_layout Itemize
3054 This can be done with
3073 \begin_layout Itemize
3078 -file to your locale-tree, at the correct directory for application messages
3083 , and under the name
3092 /usr/local/share/locale/
3103 \begin_layout Standard
3107 \begin_layout Standard
3119 \begin_layout Standard
3120 Adding a new po-file to the
3124 of LyX involves altering the configure scripts and more, but the way
3128 works, you don't actually need the source-code of LyX to translate it---having
3144 \begin_layout Standard
3145 If you've written a translation file for a language that LyX does not currently
3146 support, feel free to submit it for inclusion by sending a patch.
3147 In this case, we recommend that you read the
3155 directory for more instructions.
3158 \begin_layout Subsubsection
3162 \begin_layout Standard
3163 Sometimes it turns out that one english message needs to be translated into
3164 different messages in the target language.
3165 One example is the message
3169 which has the german translation
3186 does not handle such ambigous translations.
3187 Therefore you have to add some context information to the message: Instead
3194 To[[as in 'From format x to format y']]
3198 To[[as in 'From page x to page y']].
3201 Now the two occurences of
3209 and can be translated correctly to
3224 \begin_layout Standard
3225 Of course the context information needs to be stripped off the original
3226 message when no translation is used.
3227 Therefore you have to put it in double square brackets at the end of the
3228 message (see the example above).
3229 The translation mechanism of LyX ensures that everything in double square
3230 brackets at the end of messages is removed before displaying the message.
3233 \begin_layout Subsection
3234 Translating the documentation.
3237 \begin_layout Standard
3238 The online documentation (in the
3245 -menu) can (and should!) be translated.
3246 If there are translated versions of the documentation available
3250 \begin_layout Standard
3251 As of February 2003, almost all of the docs have been translated into German
3257 has been translated into at least 12 other languages, with other translations
3259 The library of translated documents is growing rapidly.
3264 , and the locale is set accordingly, these will be used automagically by
3266 LyX looks for translated versions as
3280 denotes the language as set by the environmental variable
3285 If there are none, the default English versions will be displayed.
3286 Note that the translated versions must have the same filenames (
3290 above) as the original.
3291 If you feel up to translating the documentation (an excellent way to proof-read
3292 the original documentation BTW!), there are a few things you should do
3296 \begin_layout Itemize
3301 , the guide to writing LyX documentation.
3302 Pay special attention to the translator's section.
3305 \begin_layout Itemize
3306 Check out the documentation translation web page at
3307 \begin_inset LatexCommand \url[The LyX Developer's Web Site]{http://www.devel.lyx.org}
3312 That way, you can find out which (if any) documents have already been translate
3313 d into your language.
3314 You can also find out who (if anyone) is organizing the effort to translate
3315 the documentation into your language.
3316 If no one is organizing the effort, please let us know that you're interested.
3319 \begin_layout Standard
3320 Once you get to actually translating, here's a few hints for you that may
3324 \begin_layout Itemize
3325 Join the documentation team! There is information on how to do that in
3334 elp\SpecialChar \menuseparator
3341 ), which by the way is the first document you should translate.
3344 \begin_layout Itemize
3345 Learn the typographic conventions for the language you are translating to.
3346 Typography is an ancient art and over the centuries, a great variety of
3347 conventions have developed throughout different parts of the world.
3348 Also study the professional terminology amongst typographers in your country.
3349 Inventing your own terminology will only confuse the users.
3352 (Warning! Typography is addictive!)
3355 \begin_layout Itemize
3356 Make a copy of the document.
3357 This will be your working copy.
3358 You can use this as your personal translated help-file by placing it in
3366 \begin_layout Itemize
3367 Sometimes the original document (from the LyX-team) will be updated.
3368 Use the ViewCVS tool available at
3369 \begin_inset LatexCommand \htmlurl{http://www.lyx.org/viewcvs.cgi/lyxdoc/}
3373 to see what has been changed
3377 \begin_layout Standard
3378 Alternatively, you can keep a copy of the latest version of the English
3379 document which you've translated.
3385 That way you can easily see which parts of the translated document need
3389 \begin_layout Itemize
3390 If you ever find an error in the original document, fix it and notify the
3391 rest of the documentation team of the changes! (You didn't forget to join
3392 the documentation team did you?)
3395 \begin_layout Section
3396 International Keyboard Support
3399 \begin_layout Standard
3402 [Editor's Note: The following section is by
3407 It needs to be fixed to conform to the new Documentation Style sheet and
3408 to make use of the new v1.0 features.
3409 The whole thing also needs to be merged with the section following it.-jw]
3412 \begin_layout Subsection
3413 Defining Own Keymaps: Keymap File Format
3416 \begin_layout Standard
3417 Let's look at a keyboard definition file a little closer.
3418 It is a plain ASCII file defining
3421 \begin_layout Itemize
3422 key-to-key or key-to-string translations
3425 \begin_layout Itemize
3429 \begin_layout Itemize
3430 dead keys exceptions
3433 \begin_layout Standard
3434 To define key-to-key or key-to-string translation, use this command:
3437 \begin_layout Quotation
3453 \begin_layout Standard
3458 is the key to be translated and
3462 is the string to be inserted into the document.
3463 To define dead keys, use:
3466 \begin_layout Quotation
3482 \begin_layout Standard
3492 The following dead keys are supported (shortcut name is in parentheses):
3495 \begin_layout Quotation
3503 \begin_layout Quotation
3509 \begin_layout Quotation
3515 \begin_layout Quotation
3522 \begin_layout Quotation
3528 \begin_layout Quotation
3535 \begin_layout Standard
3547 \begin_layout Quotation
3553 \begin_layout Quotation
3560 \begin_layout Standard
3572 \begin_layout Quotation
3578 \begin_layout Quotation
3586 \begin_layout Quotation
3593 \begin_layout Standard
3605 \begin_layout Quotation
3613 \begin_layout Standard
3625 \begin_layout Quotation
3634 \begin_layout Quotation
3635 hungarian umlaut (hug)
3642 \begin_layout Quotation
3648 \begin_layout Quotation
3656 \begin_layout Standard
3668 \begin_layout Standard
3669 Since in many international keyboards there are exceptions to what some
3670 dead keys should do, you can define them using
3673 \begin_layout Quotation
3682 deadkey key outstring
3685 \begin_layout Standard
3686 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3690 \begin_layout Quotation
3704 \begin_layout Standard
3705 to make it work correctly.
3706 Also, you have to define as exceptions dead keys over i and j, to remove
3707 the dot from them before inserting an accent mark.
3708 I will change this when the time comes, but so far I haven't had time.
3711 \begin_layout Standard
3712 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3718 have different meaning.
3723 marks comments, quotes start and end LaTeX-style commands.
3724 To enter quote, you'll need to use
3743 \begin_layout Standard
3744 If you make a keyboard description file that works for your language, please
3745 mail it to me, so I can include it in the next keymap distribution.
3748 \begin_layout Standard
3749 More keywords will be supported in keymap configuration file in future,
3753 \begin_layout Itemize
3771 \begin_layout Itemize
3786 an external keymap translation program
3789 \begin_layout Standard
3790 Also, it should look into
3794 file for defaults, too (for example, a
3800 option to include default keyboard).
3803 \begin_layout Section
3804 International Keymap Stuff
3805 \begin_inset LatexCommand \label{sec:keymap}
3812 \begin_layout Standard
3813 The next two sections describe the
3825 file syntax in detail.
3826 These sections should help you design your own key map if the ones provided
3827 do not meet your needs.
3830 \begin_layout Subsection
3834 \begin_layout Standard
3843 file maps keystrokes to characters or strings.
3844 As the name suggests it sets a keyboard mapping.
3869 are described in this section.
3873 \labelwidthstring 00.00.0000
3880 Map a character to a string
3883 \begin_layout LyX-Code
3896 \begin_layout Standard
3914 the double-quote (")
3922 must be escaped with a preceding backslash (
3933 \begin_layout Standard
3940 statement to cause the symbol
3946 to be output for the keystroke
3955 \begin_layout LyX-Code
3962 \labelwidthstring 00.00.0000
3969 Specify an accent character
3972 \begin_layout LyX-Code
3982 \begin_layout Standard
3983 This will make the cha
3998 This is the dead key
4002 \begin_layout Standard
4009 refers to a key that does not produce a character by itself, but when followed
4010 with another key, produces the desired accent character.
4011 For example, a German characte
4013 r with an umlaut like
4017 can be produced in this manner.
4026 \begin_layout Standard
4033 and then another key not in
4041 followed by the other, unallowed key, as output.
4050 cancels a dead key, so if
4061 , the cursor will not go one position backwards but will instead cancel
4068 might have had on the next keystroke.
4072 \begin_layout Standard
4073 The following example specifies that the character ' is to be an acute accent,
4074 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4077 \begin_layout LyX-Code
4080 kmod ' acute aeiouAEIOU
4084 \labelwidthstring 00.00.0000
4089 Specify an exception to the accent character
4092 \begin_layout LyX-Code
4103 \begin_layout Standard
4104 This defines an exce
4123 have been assigned a keystroke with a previous
4137 must not belong in the
4157 If such a declaration does not exist in
4194 \begin_layout Standard
4195 The following command produces causes äi to be produced when you enter acute-i
4199 \begin_layout LyX-Code
4214 \labelwidthstring 00.00.0000
4219 Combine two accent characters
4222 \begin_layout LyX-Code
4228 accent1 accent2 allowed
4231 \begin_layout Standard
4232 This one is getting pretty esoteric.
4233 It allows you to combine the effect
4278 \begin_layout Standard
4279 Consider this example from the
4288 \begin_layout LyX-Code
4291 kmod ; acute aeioyvhAEIOYVH
4295 kcomb acute umlaut iyIY
4298 \begin_layout Standard
4299 This allows you to press
4305 and get the effect of
4322 in this case cancels the last dead key, so if you press
4339 \begin_layout Subsection
4343 \begin_layout Standard
4352 mapping is performed, a
4359 file maps the strings that the symbols generate to characters in the current
4361 The LyX distribution currently includes at least the
4376 \begin_layout Standard
4385 file is a sequence of declarations of the form
4388 \begin_layout LyX-Code
4399 \begin_layout Standard
4400 For example, in order to map
4408 to the corresponding character in the iso-8859-1 set (233), the following
4412 \begin_layout LyX-Code
4420 \begin_layout Standard
4440 the same character can apply to more than one string.
4453 \begin_layout LyX-Code
4479 \begin_layout Standard
4480 If LyX cannot find a mapping for the string produced by the keystroke or
4481 a deadkey sequence, it will check if it looks like an accented char and
4482 try to draw an accent over the character on screen.
4485 \begin_layout Subsection
4489 \begin_layout Standard
4490 There is a second way to add support for international characters through
4491 so-called dead-keys.
4492 A dead-key works in combination with a letter to produce an accented character.
4493 Here, we'll explain how to create a really simple dead-key to illustrate
4497 \begin_layout Standard
4498 Suppose you happen to need the circumflex character,
4499 \begin_inset Quotes eld
4504 \begin_inset Quotes erd
4512 -key [a.k.a.\InsetSpace ~
4517 ] to the LyX command
4526 Now, whenever you type the
4530 -key followed by a letter, that letter will have a circumflex accent on
4532 For example, the sequence
4533 \begin_inset Quotes eld
4541 \begin_inset Quotes erd
4544 produces the letter:
4545 \begin_inset Quotes eld
4549 \begin_inset Quotes erd
4553 If you tried to type
4554 \begin_inset Quotes eld
4562 \begin_inset Quotes erd
4565 , however, LyX will complain with a beep, since a
4566 \begin_inset Quotes eld
4574 \begin_inset Quotes erd
4577 never takes a circumflex accent.
4582 after a dead-key produces the bare-accent.
4583 Please note this last point! If you bind a key to a dead-key, you'll need
4584 to rebind the character on that key to yet another key.
4589 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4592 \begin_layout Standard
4593 One common way to bind dead-keys is to use
4605 in combination with an accent, like
4606 \begin_inset Quotes eld
4614 \begin_inset Quotes erd
4618 \begin_inset Quotes eld
4626 \begin_inset Quotes erd
4630 \begin_inset Quotes eld
4638 \begin_inset Quotes erd
4642 Another way involves using
4650 [remember them from section?] to set up the special
4659 acts in some ways just like
4663 and permits you to bind keys to accented characters.
4664 You can also turn keys into dead-keys by binding them to something like
4669 and then binding this symbolic key to the corresponding LyX command.
4673 \begin_layout Standard
4678 : This is exactly what I do in my
4696 and a bunch of these
4697 \begin_inset Quotes eld
4705 \begin_inset Quotes erd
4708 symbolic keys bound such things as
4719 This is how I produce my accented characters.
4724 You can make just about anything into the
4732 keys, a spare function key, etc.
4733 As for the LyX commands that produce accents, check the entry for
4742 You'll find the complete list there.
4745 \begin_layout Subsection
4746 Saving your Language Configuration
4749 \begin_layout Standard
4750 \begin_inset LatexCommand \label{sec:savlang}
4754 You can edit your preferences so that your desired language environment
4755 is automatically configured when LyX starts up, via the
4760 dit\SpecialChar \menuseparator
4770 \begin_layout Chapter
4771 Installing New Document Classes, Layouts, and Templates
4772 \begin_inset LatexCommand \label{chap:textclass}
4780 \begin_layout Standard
4781 Installing New Document Classes
4789 \begin_layout Standard
4790 In this chapter, we describe the procedures for creating and installing
4791 new LyX layout and template files, as well as offer a refresher on correctly
4792 installing new LaTeX document classes.
4793 Some definitions: a document class is a LaTeX file (usually ending in
4801 ) which describes the format of a document such as an article, report, journal
4803 and all the commands needed to realize that format.
4804 A layout file is a LyX file which corresponds to a LaTeX document class
4805 and which tells LyX how to
4806 \begin_inset Quotes eld
4810 \begin_inset Quotes erd
4813 things on the screen to make the display look something like the final
4815 More precisely, a layout file describes a
4816 \begin_inset Quotes eld
4820 \begin_inset Quotes erd
4823 which is the internal construct LyX uses to render the screen display.
4825 \begin_inset Quotes eld
4829 \begin_inset Quotes erd
4833 \begin_inset Quotes eld
4837 \begin_inset Quotes erd
4840 can be used somewhat interchangeably, but it is better to refer to the
4841 file as the layout, and the thing living in LyX's memory as the text class.
4842 A template file is simply a LyX document which contains a set of predefined
4843 entries for a given document class which are generally required for that
4845 Templates are especially useful for things like journal manuscripts which
4846 are to be submitted electronically.
4849 \begin_layout Section
4850 Installing a new LaTeX package
4853 \begin_layout Standard
4854 Some installations may not include a LaTeX package that you would like to
4856 For example, you might need FoilTeX, a common (and very powerful) package
4857 for preparing slides or viewgraphs for overhead projectors.
4858 Here are the formal steps involved in getting the package up and running
4859 if you are using teTeX or some other web2c based distribution.
4863 \begin_layout Enumerate
4864 Get the package from CTAN or wherever.
4868 \begin_layout Standard
4871 Inventory of your LaTeX configuration
4873 manual for details of what CTAN is and where supported document classes
4882 \begin_layout Enumerate
4887 (this usually lives in the directory
4891 , though you can run
4896 It describes how to add a local
4900 directory; follow the instructions.
4901 You need to insert the name of your local
4914 is a logical place to install software that did not come with your distribution
4920 Usually, you will have to modify only two things:
4924 \begin_layout Enumerate
4929 to the directory you chose; e.g.
4934 TEXMFLOCAL = /usr/local/texmf
4937 \begin_layout Enumerate
4951 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
4955 \begin_layout Enumerate
4966 You must follow the directory structure of your existing
4970 directory (for example, latex packages should go under
4972 /usr/local/texmf/tex/latex/
4977 \begin_layout Enumerate
4978 Install the package.
4979 For example, you would unpack the FoilTeX tarball and create
4981 /usr/local/texmf/tex/latex/foiltex
4988 directory contains various files.
4991 \begin_layout Enumerate
4999 /usr/local/texmf/ls-R
5004 \begin_layout Enumerate
5005 From within LyX, do:
5010 ools\SpecialChar \menuseparator
5021 \begin_layout Standard
5022 Now you should see your new package---for example
5031 ayout\SpecialChar \menuseparator
5046 Note that there are simpler ways of installing packages: you can add a
5047 link to the new package directory in the system LaTeX directory (
5051 , don't forget to then run
5055 ), or sometimes simply set the
5059 environment variable to include the new package.
5060 However, the formal procedure described in
5064 is guaranteed to work, so you should follow it unless circumstances absolutely
5065 prevent it: such as, when you don't have superuser access.
5068 \begin_layout Section
5072 \begin_layout Standard
5073 This section describes how to write and install your own LyX layout files
5074 (also known as text classes) and walks through the
5078 text class format as an example.
5083 files describe what paragraph styles are available for a given document
5084 class and how LyX should display them.
5085 We try to provide a thorough description of the process here; however,
5086 there are so many different types of documents supported by LaTeX classes
5087 we can't hope to cover every different possibility or problem you might
5092 \begin_layout Standard
5093 When you plan to write a new layout, it is extremely helpful to look at
5094 the example layouts distributed with LyX.
5095 If you use a nice LaTeX document class that might be of interest for others,
5096 too, and have a nice corresponding LyX layout, feel free to contribute
5097 the stuff to us, so we may put it into the distribution.
5100 \begin_layout Standard
5101 All the tags described in this chapter are case-insensitive; this means
5114 are really the same command.
5115 The possible values are printed in brackets after the feature's name.
5116 The default value if a feature isn't specified inside a text class-description
5124 If the argument has a datatype like
5125 \begin_inset Quotes eld
5129 \begin_inset Quotes erd
5133 \begin_inset Quotes eld
5137 \begin_inset Quotes erd
5140 , the default is shown like this:
5150 \begin_layout Subsection
5151 Supporting new document classes
5154 \begin_layout Standard
5155 There are two situations you are likely to encounter when wanting to support
5156 a new LaTeX document class, involving LaTeX2e class (
5167 \begin_layout Subsection
5175 \begin_layout Standard
5176 If your new document class is provided as a style file that is used in conjuncti
5177 on with an existing, supported document class, start by copying the existing
5178 class's layout file into your local directory.
5179 For the sake of example we'll assume that the style file is called
5183 and it is meant to be used with
5187 which is a standard class.
5190 \begin_layout LyX-Code
5191 cp report.layout ~/.lyx/layouts/myclass.layout
5194 \begin_layout Standard
5199 and change the line:
5202 \begin_layout LyX-Code
5205 DeclareLaTeXClass{report}
5208 \begin_layout Standard
5212 \begin_layout LyX-Code
5215 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5218 \begin_layout Standard
5222 \begin_layout LyX-Code
5232 \begin_layout Standard
5233 near the top of the file.
5236 \begin_layout Standard
5237 Start LyX and select
5242 ools\SpecialChar \menuseparator
5250 Restart LyX and try creating a new document.
5255 " as a document class option in the
5260 ocument\SpecialChar \menuseparator
5268 It is likely that some of the sectioning commands and such will differ
5269 from how the base class
5273 \begin_layout Standard
5283 works, so you can fiddle around with the settings for the different sections
5285 See below for more discussion on this.
5288 \begin_layout Subsection
5296 \begin_layout Standard
5297 In this case, you will probably have to
5298 \begin_inset Quotes eld
5302 \begin_inset Quotes erd
5306 We strongly suggest copying an existing layout file which uses a similar
5307 LaTeX class and modifying it if at all possible.
5308 At least use an existing file as a starting point so you can find out what
5309 items you need to worry about.
5310 Again, the specifics are covered below.
5313 \begin_layout Section
5314 Declaring a new text class
5317 \begin_layout Standard
5318 When it's finally time to get your hands dirty and create or edit your own
5319 layout file, the following sections describe what you're up against.
5320 Our advice is to go slowly, save and test often, listen to soothing music,
5321 and enjoy one or two of your favorite adult beverages; more if you are
5322 getting particularly stuck.
5323 It's really not that hard, except that the multitude of options can become
5324 overwhelming if you try to do to much in one sitting.
5325 Go have another adult beverage, just for good measure.
5328 \begin_layout Standard
5332 \begin_layout Standard
5333 Lines in a layout file which begin with a
5338 There is one exception to this rule: all layouts should begin with lines
5342 \begin_layout LyX-Code
5345 #% Do not delete the line below; configure depends on this
5348 \begin_layout LyX-Code
5353 DeclareLaTeXClass{article}
5356 \begin_layout Standard
5357 The second line is used when you configure LyX.
5358 The layout file is read by the LaTeX script
5362 , in a special mode where
5367 The first line is just a LaTeX comment, and the second one contains the
5368 declaration of the text class.
5369 If these lines appear in a file named
5373 , then they define a text class of name
5377 (the name of the layout file) which uses the LaTeX document class
5381 (the default is to use the same name as the layout).
5383 \begin_inset Quotes eld
5387 \begin_inset Quotes erd
5390 that appears above is used as a description of the text class in the
5395 ocument\SpecialChar \menuseparator
5405 \begin_layout Standard
5406 Let's assume that you wrote your own text class that uses the
5410 documentclass, but where you changed the appearance of the section headings.
5411 If you put it in a file
5415 , the header of this file should be:
5418 \begin_layout LyX-Code
5421 #% Do not delete the line below; configure depends on this
5424 \begin_layout LyX-Code
5429 DeclareLaTeXClass[article]{article (with my own headings)}
5432 \begin_layout Standard
5433 This declares a text class
5437 , associated with the LaTeX document class
5442 \begin_inset Quotes eld
5445 article (with my own headings)
5446 \begin_inset Quotes erd
5450 If your text class depends on several packages, you can declare it as:
5453 \begin_layout LyX-Code
5456 #% Do not delete the line below; configure depends on this
5459 \begin_layout LyX-Code
5464 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5467 \begin_layout Standard
5468 This indicates that your text class uses the foo.sty package.
5469 Finally, it is also possible to declare classes for SGML and DocBook code.
5470 Typical declarations will look like
5473 \begin_layout LyX-Code
5476 #% Do not delete the line below; configure depends on this
5479 \begin_layout LyX-Code
5484 DeclareSGMLClass{SGML (LinuxDoc)}
5487 \begin_layout Standard
5491 \begin_layout LyX-Code
5492 #% Do not delete the line below; configure depends on this
5495 \begin_layout LyX-Code
5498 DeclareDocBookClass[article]{SGML (DocBook article)}
5501 \begin_layout Standard
5502 Note that these declarations can also be given an optional parameter declaring
5503 the name of the document class (but not a list).
5506 \begin_layout Standard
5507 When the text class has been modified to your taste, all you have to do
5508 is to copy it either in
5521 ools\SpecialChar \menuseparator
5529 Exit LyX and restart it; then your new text class should be available along
5533 \begin_layout Subsection
5537 \begin_layout Standard
5538 The first non-comment line must contain the file format number:
5541 \begin_layout Description
5552 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
5553 don't have an explicit file format).
5554 The file format that is documented here is
5561 \begin_layout Subsection
5562 General text class parameters
5565 \begin_layout Standard
5566 These are the general parameters which describe the form of the entire document:
5569 \begin_layout Standard
5573 \begin_layout Standard
5585 \begin_layout Description
5599 ] Whether the class-default should have one or two columns.
5600 Can be changed in the
5605 ocument\SpecialChar \menuseparator
5616 This setting (same goes for
5620 , too) is important: if your text class has two columns by default but you
5621 forget to set it correctly, the
5629 be output when you select
5638 ocument\SpecialChar \menuseparator
5646 \begin_layout Description
5660 ] Whether the class-default should be printing on one or both sides of the
5662 Can be changed in the
5670 ocument\SpecialChar \menuseparator
5680 \begin_layout Description
5695 ] The class default pagestyle.
5696 Can be changed in the
5701 ocument\SpecialChar \menuseparator
5714 \begin_layout Description
5718 ClassOptions\SpecialChar \ldots{}
5722 This section describes various global options supported by the document
5724 See Section\InsetSpace ~
5726 \begin_inset LatexCommand \ref{sec:classoptions}
5733 \begin_layout Description
5747 ] Whether the class already loads the
5752 This is the case of the
5763 \begin_layout Description
5777 ] Whether the class already provides the functionality of the
5782 This is the case of the
5793 \begin_layout Description
5807 ] Whether the class already provides the functionality of the
5812 This is the case of the
5819 \begin_layout Description
5826 This is used to describe the default font of the document.
5827 See Section\InsetSpace ~
5829 \begin_inset LatexCommand \ref{sec:fonts}
5836 \begin_layout Description
5847 ] This is the style that will be assigned to new paragraphs, usually
5852 This will default to the first defined style if not given, but you are
5853 highly encouraged to use this directive.
5856 \begin_layout Description
5873 ] Indicates what kind of markup is used to define the title of a document.
5878 means that the macro with name
5882 will be inserted after the last layout which has
5883 \begin_inset Quotes eld
5891 \begin_inset Quotes erd
5899 corresponds to the case where the block of paragraphs which have
5900 \begin_inset Quotes eld
5908 \begin_inset Quotes erd
5911 should be enclosed into the
5920 \begin_layout Description
5931 ] The name of the command/environment mentionned above.
5934 \begin_layout Description
5938 Preamble\SpecialChar \ldots{}
5942 A set of macro definitions that will be output at the beginning of the
5944 Use this for global definitions.
5947 \begin_layout Description
5954 As its name implies, this command allows you to include another layout
5955 definition file within yours to avoid duplicating commands.
5956 Common examples are the standard layout files, for example,
5960 , which contains most of the basic layouts.
5963 \begin_layout Description
5967 Style\SpecialChar \ldots{}
5971 This sequence defines a new style.
5972 If the style already exists, it will redefine some of its parameters instead.
5973 See Section\InsetSpace ~
5975 \begin_inset LatexCommand \ref{sec:style}
5982 \begin_layout Description
5989 This command deletes an existing style.
5990 This is particularly useful when you want to suppress a style that has
5991 be defined in an input file.
5994 \begin_layout Description
5998 Float\SpecialChar \ldots{}
6002 This sequence defines a new float.
6003 See Section\InsetSpace ~
6005 \begin_inset LatexCommand \ref{sec:floats}
6012 \begin_layout Description
6019 This command deletes an existing float.
6020 This is particularly useful when you want to suppress a float that has
6021 be defined in an input file.
6024 \begin_layout Description
6028 CharStyle\SpecialChar \ldots{}
6033 This section defines a new character style.
6034 See Section\InsetSpace ~
6036 \begin_inset LatexCommand \ref{sec:charstyle}
6043 \begin_layout Description
6047 Counter\SpecialChar \ldots{}
6051 This sequence defines a new counter.
6052 See Section\InsetSpace ~
6054 \begin_inset LatexCommand \ref{sec:counter}
6061 \begin_layout Standard
6065 \begin_layout Standard
6077 \begin_layout Subsection
6085 \begin_layout Standard
6086 \begin_inset LatexCommand \label{sec:classoptions}
6094 section can contain the following entries:
6097 \begin_layout Description
6108 ] The list of available font sizes for the document's main font, separated
6110 \begin_inset Quotes eld
6118 \begin_inset Quotes erd
6124 \begin_layout Description
6133 string="empty|plain|headings|fancy"
6135 ] The list of available page styles, separated by
6136 \begin_inset Quotes eld
6144 \begin_inset Quotes erd
6150 \begin_layout Description
6161 ] Some document class options, separated by a comma, that will be added
6162 to the optional part of the
6171 \begin_layout Subsection
6172 Specific Paragraph Layouts
6175 \begin_layout Standard
6176 \begin_inset LatexCommand \label{sec:style}
6180 A paragraph layout description looks like this
6184 \begin_layout Standard
6185 Note that this will either define a new layout or modify an existing one.
6193 \begin_layout LyX-Code
6200 \begin_layout LyX-Code
6204 \begin_layout LyX-Code
6208 \begin_layout Standard
6209 where the following commands are allowed:
6212 \begin_layout Standard
6216 \begin_layout Standard
6228 \begin_layout Description
6239 This is used to copy all the features of an existing layout into the current
6244 \begin_layout Description
6256 , Command, Environment, Item_Environment,
6262 ] How the layout should be translated into LaTeX.
6267 means nothing special.
6280 {\SpecialChar \ldots{}
6295 }\SpecialChar \ldots{}
6319 is generated for each paragraph of this environment.
6332 is passed as an argument to the environment.
6337 can be defined in the
6342 ayout\SpecialChar \menuseparator
6356 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6357 Visit the SGML class files for specific examples.
6360 \begin_layout Description
6368 If 1, marks the layout as being part of a title block (see also the
6379 \begin_layout Description
6386 The name of the corresponding LaTeX stuff.
6387 Either the environment or command name.
6390 \begin_layout Description
6397 The optional parameter for the corresponding
6404 This parameter cannot be changed from within LyX.
6407 \begin_layout Description
6418 ] The number of optional arguments that can be used with this layout.
6419 This is useful for things like section headings, and only makes sense with
6423 \begin_layout Description
6435 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6439 The kind of margin that the layout has on the left side.
6444 just means a fixed margin.
6449 means that the left margin depends on the string entered in the
6454 dit\SpecialChar \menuseparator
6459 aragraph\InsetSpace ~
6463 This is used to typeset nice lists without tabulators.
6468 means that the margin depends on the size of the label.
6469 This is used for automatic enumerated headlines.
6470 It is obvious that the headline
6471 \begin_inset Quotes eld
6474 5.4.3.2.1 Very long headline
6475 \begin_inset Quotes erd
6478 must have a wider left margin (as wide as
6479 \begin_inset Quotes eld
6483 \begin_inset Quotes erd
6486 plus the space) than
6487 \begin_inset Quotes eld
6490 3.2 Very long headline
6491 \begin_inset Quotes erd
6494 , even if other word processors are not able to do this.
6499 is similar, but only the very first row of the paragraph is dynamic, while
6500 the others are static; this is used, for example, for descriptions.
6505 means the margin is chosen in a way that the longest row of this paragraph
6506 fits to the right margin.
6507 This is used to typeset an address on the right edge of the page.
6510 \begin_layout Description
6524 ] Whether the following Paragraph is allowed to indent its very first row.
6529 means that it is not allowed to do so,
6533 means it could do so if it wants to.
6536 \begin_layout Description
6547 ] The indent of the very first line of a paragraph.
6548 The argument is passed as a string.
6553 means that the paragraph is indented with the width of
6562 You can get a negative width by prefixing the string with
6567 This way was chosen so that the look is the same with each used screen
6573 will be fixed for a certain layout.
6574 The exception is Standard layout, since the indentation of a Standard layout
6575 paragraph can be prohibited with
6580 Also, Standard layout paragraphs inside environments use the
6584 of the environment, not their native one.
6585 For example, Standard paragraphs inside an enumeration are not indented.
6588 \begin_layout Description
6599 ] LyX allows to choose either
6600 \begin_inset Quotes eld
6604 \begin_inset Quotes erd
6608 \begin_inset Quotes eld
6612 \begin_inset Quotes erd
6615 to typeset a document.
6617 \begin_inset Quotes eld
6621 \begin_inset Quotes erd
6624 is chosen, this value is completely ignored.
6626 \begin_inset Quotes eld
6630 \begin_inset Quotes erd
6633 is chosen, the parindent of a LaTeXtype
6634 \begin_inset Quotes eld
6638 \begin_inset Quotes erd
6641 layout is ignored and all paragraphs are additionally separated by this
6643 The vertical space is calculated with
6645 value*DefaultHeight()
6651 is the height of a row with the normal font.
6652 This way, the look stays the same with different screen fonts.
6655 \begin_layout Description
6666 ] The vertical space with which the very first of a chain of paragraphs
6667 with this layout is separated from the previous paragraph.
6668 If the previous paragraph has another layout, the separations are not simply
6669 added, but the maximum is taken.
6672 \begin_layout Description
6687 for the very last paragraph.
6690 \begin_layout Description
6701 ] The vertical space between two paragraphs of this layout.
6704 \begin_layout Description
6715 ] This is an extra space between the paragraphs of an environment layout.
6716 If you put other layouts into an environment, each is separated with the
6722 But the whole items of the environment are additionally separated with
6731 \begin_layout Description
6742 ] If you put layouts into environments, the leftmargins are not simply added,
6743 but added with a factor
6744 \begin_inset Formula $\frac{4}{depth+4}$
6748 Note that this parameter is also used when the border is defined as
6757 Then it is added to the manual or dynamic border.
6758 This string has the same meaning as for
6765 \begin_layout Description
6783 \begin_layout Description
6795 , Manual, Static, Top_Environment,
6797 Centered_Top_Environment, Sensitive,
6806 means the label is the very first word (up to the first real blank).
6811 means it is defined in the layout (see
6822 Centered_Top_Environment
6824 are special cases of
6829 The label will be printed above the paragraph, but only at the top of an
6830 environment or the top of a chain of paragraphs with this layout.
6831 Usage is for example the
6840 This is also the case for
6844 labels with latex type
6848 , in order to make layouts for theorems work correctly.
6853 is a special case for the caption-labels
6854 \begin_inset Quotes eld
6858 \begin_inset Quotes erd
6862 \begin_inset Quotes eld
6866 \begin_inset Quotes erd
6874 means the (hardcoded) label string depends on the kind of float.
6879 label type defines automatically numbered labels.
6882 \begin_layout Description
6891 Chapter, Section, Subsection, Subsubsection,
6893 Paragraph, Subparagraph, EnumI,
6894 EnumII, EnumIII, EnumIV
6898 The name of the counter for automatic numbering.
6899 This must be given if
6912 \begin_layout Description
6923 ] The horizontal space between the label and the text body.
6924 Only used for labels that are not above the text body.
6927 \begin_layout Description
6934 [float=0] The vertical space between the label and the text body.
6935 Only used for labels that are above the text body (
6941 Centered_Top_Environment
6946 \begin_layout Description
6957 ] The string used for a label with a
6966 this string is also used as a suggestion for the
6970 that can be set in the
6975 dit\SpecialChar \menuseparator
6980 aragraph\InsetSpace ~
6990 is set, this string can be contain special formatting commands as explained
6991 in Section\InsetSpace ~
6993 \begin_inset LatexCommand \ref{sec:counter}
7000 \begin_layout Description
7011 ] If non-empty, this is used inside the appendix instead of
7019 \begin_layout Description
7026 The level of the style in the table of contents.
7027 This is used for automatic numbering of section headings.
7030 \begin_layout Description
7042 , Box, Filled_Box, Static
7044 ] The type of label that stands at the end of the paragraph (or sequence
7067 \begin_inset Quotes eld
7071 \begin_inset Quotes erd
7083 ) is a white (resp.\InsetSpace ~
7084 black) square suitable for end of proof markers,
7088 is an explicit text string.
7091 \begin_layout Description
7102 ] The string used for a label with a
7114 \begin_layout Description
7126 , left, right, center
7128 ] Paragraph alignment.
7131 \begin_layout Description
7143 , left, right, center
7150 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7152 For example a right-aligned or centered enumeration isn't possible.
7155 \begin_layout Description
7169 ] With this parameter the
7174 \begin_inset Quotes eld
7177 Vertical space above
7178 \begin_inset Quotes erd
7186 dit\SpecialChar \menuseparator
7191 aragraph\InsetSpace ~
7194 dialog can be set when initializing a paragraph with this layout
7198 \begin_layout Standard
7201 Note from Jean-Marc:
7203 I'm not sure that this setting has much use, and it should probably be removed
7213 \begin_layout Description
7234 \begin_layout Description
7248 ] Whether fragile commands in this layout should be
7257 \begin_layout Description
7271 ] Whether newlines are translated into LaTeX newlines (
7280 The translation can be switched off to allow more comfortable LaTeX editing
7284 \begin_layout Description
7298 ] Whether the contents of this paragraph should be output in raw form, meaning
7299 without special translations that LaTeX would require.
7300 This somehow replaces the older
7307 \begin_layout Description
7321 ] Usually LyX doesn't allow you to insert more than one space between words,
7322 since a space is considered as the separation between two words, not a
7323 character or symbol of its own.
7324 This is a very fine thing but sometimes annoying, for example when typing
7325 program code or plain LaTeX code.
7331 Note that LyX will create protected blanks for the additional blanks when
7332 in another mode than LaTeX-mode.
7335 \begin_layout Description
7349 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7350 lead to empty LaTeX output.
7351 There are some cases where this could be desirable however: in a letter
7352 template, the required fields can be provided as empty fields, so that
7353 people do not forget them; in some special classes, a layout can be used
7354 as some kind of break, which does not contain actual text.
7357 \begin_layout Description
7369 , onehalf, double, other
7374 ] This defines what the default spacing should be in the layout.
7387 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7388 If you specify the argument
7392 , then you should also provide a numerical argument which will be the actual
7394 Note that, contrary to other parameters,
7398 implies the generation of specific LaTeX code, using the package
7405 \begin_layout Description
7412 The font used for both the text body
7417 See section\InsetSpace ~
7419 \begin_inset LatexCommand \ref{sec:fonts}
7424 Note that defining this font automatically defines the
7431 \begin_layout Description
7438 The font used for the text body .
7439 See section\InsetSpace ~
7441 \begin_inset LatexCommand \ref{sec:fonts}
7448 \begin_layout Description
7455 The font used for the label.
7456 See section\InsetSpace ~
7458 \begin_inset LatexCommand \ref{sec:fonts}
7465 \begin_layout Description
7469 Preamble\SpecialChar \ldots{}
7473 A set of macro definitions that will be output at the beginning of the
7474 LaTeX files when the layout is used.
7475 Use this to define the macros needed by this particular layout.
7478 \begin_layout Description
7485 the name of a style which preamble should be output
7489 the one mentionned above.
7490 This allows to ensure some ordering of the preamble snippets when macros
7491 definitions depend on one another
7495 \begin_layout Standard
7496 Note that, besides that functionality, there is no way to ensure any ordering
7498 The ordering that you see in a given version of LyX may change without
7499 warning in later versions.
7507 \begin_layout Standard
7511 \begin_layout Standard
7523 \begin_layout Subsection
7527 \begin_layout Standard
7528 \begin_inset LatexCommand \label{sec:floats}
7532 Since version 1.3.0 of LyX, it is necessary to define the floats (
7540 , \SpecialChar \ldots{}
7541 ) in the text class itself.
7542 If you are looking here to learn how to upgrade an existing text class,
7543 it will probably turn out that all you have to do is to add
7546 \begin_layout LyX-Code
7550 \begin_layout Standard
7551 at a reasonable location of the text class.
7555 \begin_layout Standard
7556 Don't forget to also have a look at counters in next section.
7561 If you want to implement a text class that proposes some other float types
7562 (like the AGU class bundled with LyX), the information below will hopefully
7566 \begin_layout Description
7578 \begin_inset Quotes erd
7582 \begin_inset Quotes erd
7586 \begin_inset Quotes eld
7590 \begin_inset Quotes erd
7593 of the new class of floats, like program or algorithm.
7594 After the appropriate
7615 \begin_layout Description
7627 \begin_inset Quotes erd
7631 \begin_inset Quotes erd
7634 ] The string that will be used in the menus and also for the caption.
7637 \begin_layout Description
7658 if the float is already defined by the documentclass.
7663 , the float will be defined using the LaTeX package
7670 \begin_layout Description
7682 \begin_inset Quotes erd
7686 \begin_inset Quotes erd
7689 ] This (optional) argument determines whether floats of this class will
7690 be numbered within some sectional unit of the document.
7691 For example, if within is equal to
7695 , the floats will be numbered within chapters.
7699 \begin_layout Description
7711 \begin_inset Quotes erd
7715 \begin_inset Quotes erd
7718 ] The style used when defining the float using
7727 \begin_layout Description
7739 \begin_inset Quotes erd
7743 \begin_inset Quotes erd
7746 ] The default placement for the given class of floats.
7747 They are like in standard LaTeX:
7763 for top, bottom, page, and here, respectively.
7767 \begin_layout Standard
7768 Note that the order of these letters in the string is irrelevant, like in
7774 On top of that there is a new type,
7778 , which does not really correspond to a float, since it means: put it
7779 \begin_inset Quotes eld
7783 \begin_inset Quotes erd
7787 Note, however that the
7791 specifier is special and, because of implementation details cannot be used
7792 in non-builtin float types.
7793 If you do not understand what this means, just use
7800 \begin_layout Description
7812 \begin_inset Quotes erd
7816 \begin_inset Quotes erd
7819 ] The file name extension of an auxiliary file for the list of figures (or
7821 LaTeX writes the captions to this file.
7824 \begin_layout Description
7836 \begin_inset Quotes erd
7840 \begin_inset Quotes erd
7843 ] The heading used for the list of floats.
7846 \begin_layout Subsection
7850 \begin_layout Standard
7851 \begin_inset LatexCommand \label{sec:charstyle}
7855 You can define character styles since version 1.4.0 of LyX.
7860 section can contain the following entries:
7863 \begin_layout Description
7870 The font used for both the text body
7875 See section\InsetSpace ~
7877 \begin_inset LatexCommand \ref{sec:fonts}
7882 Note that defining this font automatically defines the
7889 \begin_layout Description
7896 The font used for the label.
7897 See section\InsetSpace ~
7899 \begin_inset LatexCommand \ref{sec:fonts}
7906 \begin_layout Description
7913 The name of the corresponding LaTeX stuff.
7914 Either the environment or command name.
7917 \begin_layout Description
7924 The optional parameter for the corresponding
7931 This parameter cannot be changed from within LyX.
7934 \begin_layout Description
7941 See section\InsetSpace ~
7943 \begin_inset LatexCommand \ref{sec:style}
7950 \begin_layout Description
7954 Preamble\SpecialChar \ldots{}
7958 See section\InsetSpace ~
7960 \begin_inset LatexCommand \ref{sec:style}
7967 \begin_layout Subsection
7971 \begin_layout Standard
7972 \begin_inset LatexCommand \label{sec:counter}
7976 Since version 1.3.0 of LyX, it is necessary to define the counters (
7984 , \SpecialChar \ldots{}
7985 ) in the text class itself.
7986 If you are looking here to learn how to upgrade an existing text class,
7987 it will probably turn out that all you have to do is to add
7990 \begin_layout LyX-Code
7991 Input stdcounters.inc
7994 \begin_layout Standard
7995 The definition of counters is presently a bit primitive in LyX, since many
7996 things are still hardcoded.
7997 The following two parameters can be used:
8000 \begin_layout Description
8012 \begin_inset Quotes erd
8016 \begin_inset Quotes erd
8019 ] The name of the counter
8022 \begin_layout Description
8034 \begin_inset Quotes erd
8038 \begin_inset Quotes erd
8041 ] If this is set to the name of another counter, the present counter will
8042 be reset everytime the other one is increased (is that unclear enough?).
8045 \begin_layout Standard
8046 When a counter has been associated to a style, it is possible to use some
8047 special constructs in
8062 \begin_layout Itemize
8071 will be replaced the expanded
8082 This is used for example to define the label of a subsection in terms of
8083 the label of a section.
8086 \begin_layout Itemize
8087 counter values can be expressed using LaTeX-like macros
8111 \begin_layout Description
8122 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8127 \begin_layout Standard
8137 Actually, the situation is a bit more complicated than that: any
8153 other than those descibed below will produce arabic numerals.
8154 It would not be surprising to see this change in the future.
8162 \begin_layout Description
8169 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8173 \begin_layout Description
8180 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8184 \begin_layout Description
8191 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8195 \begin_layout Description
8202 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8206 \begin_layout Description
8213 for hebrew numerals.
8217 \begin_layout Subsection
8221 \begin_layout Standard
8222 \begin_inset LatexCommand \label{sec:fonts}
8226 A font description looks like that:
8229 \begin_layout LyX-Code
8239 \begin_layout LyX-Code
8243 \begin_layout LyX-Code
8247 \begin_layout Standard
8248 and the following commands are available:
8251 \begin_layout Description
8268 \begin_layout Description
8285 \begin_layout Description
8297 , Italic, SmallCaps, Slanted
8302 \begin_layout Description
8315 , large, larger, largest, huge, giant
8320 \begin_layout Description
8333 , black, white, red, green, blue, cyan, magenta, yellow
8338 \begin_layout Subsection
8339 Upgrading old layout files
8342 \begin_layout Standard
8343 The file format of layout files changes from time to time, so old layout
8344 files need to be converted.
8345 This process has been automated in LyX 1.4.0: If LyX reads an old format
8346 layout file it will call the conversion tool
8348 $LyXDir/scripts/layout2layout.py
8350 and convert it to a temporary file in current format.
8351 The original file is left untouched, so that you can still use it with
8353 If you want to convert the layout file permanently, just call the converter
8357 \begin_layout LyX-Code
8358 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8361 \begin_layout Standard
8373 \begin_layout Standard
8374 The automatic conversion does only handle syntax changes.
8375 It cannot handle the case where the contents of included files was changed.
8376 For example, layout files based on
8389 If you get error messages about undefined counters, try to convert your
8409 \begin_layout Section
8411 \begin_inset LatexCommand \label{sec:templates}
8418 \begin_layout Standard
8419 Templates are created just like usual documents.
8420 The only difference is that usual documents contain all possible settings,
8421 including the fontscheme and the papersize.
8422 Usually a user doesn't want a template to overwrite his defaults in these
8424 For that reason, the designer of a template should remove the corresponding
8437 from the template LyX file.
8438 This can be done with any simple text-editor, for example
8450 \begin_layout Standard
8451 Put the edited template files you create in
8455 , copy the ones you use from the global template directory in
8459 to the same place, and redefine the template path in the
8464 dit\SpecialChar \menuseparator
8483 \begin_layout Standard
8484 Note that there is a template which has a particular meaning:
8489 This template is loaded everytime you create a new document with
8496 \SpecialChar \menuseparator
8504 in order to provide useful defaults.
8505 To create this template from inside LyX, all you have to do is to open
8506 a document with the correct settings, and use the
8512 e as Document Defaults
8517 \begin_layout Chapter
8518 Including External Material
8521 \begin_layout Section
8525 \begin_layout Standard
8526 \begin_inset Note Note
8529 \begin_layout Standard
8530 This section is completely outdated.
8535 One often requested feature from LyX users is to be able to interface LyX
8536 with XFig, Dia, or other similar applications that specialize in producing
8537 a certain kind of diagram, figure, schematic or whatever material might
8538 be relevant to include in your document.
8539 Previously, it was only possible to include boring, static, fixed images
8540 in LyX documents with the graphics feature, but there are several limitations
8541 attached to this approach:
8544 \begin_layout Itemize
8545 If you want to change the figure, you have to invoke an external program
8549 \begin_layout Itemize
8550 LyX does not notice that the referenced files change, so the on-screen display
8551 can fast become obsolete, and this is aggravated by the lack of a means
8552 of updating the display
8555 \begin_layout Itemize
8556 The graphics stuff does not provide any mechanisms for coping with different
8557 exported formats such as DocBook, HTML or raw Ascii
8560 \begin_layout Standard
8561 The external material facility attempts to solve all of these problems
8565 \begin_layout Standard
8566 Even if the graphics facility can't solve all problems, it is still valuable
8567 because it does provide in-line preview of the graphics, and supports advanced
8568 geometric transformations with a comfortable user interface.
8574 It does this by offering a general method to interface LyX to external
8576 Instead of introducing a long list of different constructs tailored for
8577 each specific application, we chose to sacrifice the in-line displaying
8578 of the included material in order to provide a general construct to cover
8579 a wide range of applications.
8580 The result is the external material construct.
8581 External material presents itself in the document simply as a button, but
8582 don't let this fool you.
8583 When you click on it, a dialog will appear that allows you to chose exactly
8584 what material to include, and in the following sections you will learn
8585 that this is indeed a powerful mechanism that can solve all of the above
8589 \begin_layout Section
8593 \begin_layout Standard
8594 The external material feature is based on the concept of a
8599 A template is a specification of how LyX should interface with a certain
8601 As bundled, LyX comes with predefined templates for XFig figures, Dia diagrams,
8602 various raster format images, gnuplot, and more.
8603 You can check the actual list by using the
8605 Insert\SpecialChar \menuseparator
8614 Furthermore, it is possible to roll your own template to support a specific
8616 Later we'll describe in more detail what is involved, and hopefully you
8617 will submit all the templates you create so we can include them in a later
8621 \begin_layout Standard
8622 Another basic idea of the external material feature is to distinguish between
8623 the original file that serves as a base for final material and the produced
8624 file that is included in your exported or printed document.
8625 For example, consider the case of a figure produced with XFig.
8626 The XFig application itself works on an original file with the
8631 Within XFig, you create and change your figure, and when you are done,
8637 When you want to include the figure in your document, you invoke
8641 in order to create a PostScript file that can readily be included in your
8647 file is the original file, and the PostScript file is the produced file.
8650 \begin_layout Standard
8651 This distinction is important in order to allow updating of the material
8652 while you are in the process of writing the document.
8653 Furthermore, it provides us with the flexibility that is needed to support
8654 multiple export formats.
8655 For instance, in the case of an Ascii resulting file, it is not exactly
8656 an award-winning idea to include the figure as raw PostScript.
8657 Instead, you'd either prefer to just include a reference to the figure,
8658 or try to invoke some graphics to Ascii converter to make the final result
8659 look similar to the real graphics.
8660 The external material management allows you to do this, because it is parameter
8661 ized on the different export formats that LyX supports.
8664 \begin_layout Standard
8665 Besides supporting the production of different products according to the
8666 exported format, it supports tight integration with editing and viewing
8668 In the case of an XFig figure, you are able to invoke
8672 on the original file with a single click from within the external material
8673 dialog in LyX, and also preview the produced PostScript file with
8678 No more fiddling around with the command line and/or file browsers to locate
8679 and manipulate the original or produced files.
8680 In this way, you are finally able to take full advantage of the many different
8681 applications that are relevant to use when you write your documents, and
8682 ultimately be more productive.
8685 \begin_layout Standard
8686 \begin_inset Note Note
8689 \begin_layout Standard
8690 This paragraph is outdated
8695 So, all in all, LyX has information about a number of different programs
8696 to use behind the scenes in order to realize all of this machinery.
8697 This information, in fact, is exactly what is contained in the templates.
8698 To each template, there is associated a list of command lines that are
8699 used to invoke applications, convert the original file to the produced
8701 This mechanism allows the advanced user to extend the capabilities of LyX
8702 without fiddling with the source code.
8703 It requires some footwork to define all the different commands and flags,
8704 but luckily, the LyX team did all the hard work and specified these for
8708 \begin_layout Standard
8709 But before the trees grow into the skies, we have to admit that we did take
8711 Since you can produce many different kinds of files to go with each exported
8712 format, one could also expect that it would be possible to preview each
8714 The LyX team decided against this in order to keep the user interface simple.
8715 Instead of providing a button for each exported file format, we decided
8716 to introduce the concept of the primary file format and just have one button.
8726 in the external material dialog, you will get a view of the produced file
8727 in the primary file format.
8728 And the primary file format is specified by your document class.
8729 For most document classes, the primary file format is LaTeX, but for the
8730 DocBook document classes, the primary file format is DocBook.
8731 So, when you view the produced file, keep in mind that it will only be
8732 a preview of what the main result will be.
8733 If you want to see how other exported formats turn out, you have to export
8734 them and preview them by hand.
8737 \begin_layout Section
8738 The external material dialog
8741 \begin_layout Standard
8742 You insert external material from the
8750 When you do this, a button is inserted into your document, and the external
8751 material dialog is shown.
8752 This dialog allows you to describe exactly what material should be included,
8753 and also how it should be included.
8754 Furthermore, it provides access to the external applications to either
8755 view, edit or produce the material that is used in the resulting file.
8758 \begin_layout Standard
8759 \begin_inset Note Note
8762 \begin_layout Standard
8763 This paragraph is outdated
8768 At the top of this dialog, there is a drop-down list where you can chose
8769 which template should be used.
8770 Just below the template drop-down, there's a text area with a short blurb
8771 about the chosen template that should help you use it.
8772 Most often, it will provide a short description of the template, and a
8773 few hints on how to parameterize the use of it.
8774 Further down, you'll find a filename input field along with a
8775 \begin_inset Quotes eld
8779 \begin_inset Quotes erd
8782 button that allows you to chose which file should be included with the
8783 standard file browser.
8784 Thus this field specifies the original file.
8785 Since the produced file is automatically generated when needed, there is
8786 no need to give access to it in the user interface.
8789 \begin_layout Standard
8790 \begin_inset Note Note
8793 \begin_layout Standard
8794 This paragraph is outdated
8799 At the bottom of the dialog, you'll find a general input box called
8804 This box is generally used to parameterize the specific template.
8805 The specific use should be covered in the help blurb associated with the
8806 template, but it typically allows you to define variations on how the produced
8807 file should be generated.
8810 \begin_layout Standard
8811 \begin_inset Note Note
8814 \begin_layout Standard
8815 This paragraph is outdated
8820 At the right side of the dialog, you'll find three buttons:
8848 These in turn allow you to edit your original file with the appropriate
8849 editing application, view the produced file as included in the primary
8850 format document, and finally force an update of the resulting material
8851 in the primary format.
8861 button will be disabled, because most templates are configured to automatically
8862 update the produced file when needed.
8863 In those cases, there is no need to force the production of a new produced
8865 However, some templates are configured to not be automatically producing
8866 the residual product, because the cost of producing the produced file might
8867 be so large that it would be a pain to do it all the time.
8868 Those types are known as
8873 In those cases, you can use the button to force the production of the produced
8874 file exactly when you need it, and thus control the amount of work that
8880 responsibility to do this to keep the produced files current at all times:
8881 before printing, before exporting, before viewing, etc.
8882 At some time in the future, it might be possible that LyX will help you
8883 with this task.Any changes in the template, filename or parameters are actually
8884 applied whenever you press
8909 \begin_layout Section
8913 \begin_layout Standard
8914 In this section, we should include some examples of use of the external
8916 Those examples could include:
8919 \begin_layout Itemize
8920 External raster images
8923 \begin_layout Itemize
8924 External XFig figures
8927 \begin_layout Itemize
8931 \begin_layout Itemize
8935 \begin_layout Itemize
8936 The use of makefiles
8939 \begin_layout Itemize
8940 Recursive external LyX templates
8943 \begin_layout Section
8944 The external template configuration file
8947 \begin_layout Standard
8948 It is relatively easy to add custom external template definitions to LyX.
8949 However, be aware this doing this in an careless manner most probably
8953 introduce an easily exploitable security hole.
8954 So before you do this, please read the discussion about security which
8958 \begin_layout Standard
8959 Having said that, we encourage you to submit any interesting templates that
8964 \begin_layout Standard
8965 The external templates are defined in the
8967 lib/external_templates
8970 You can place your own version in
8972 .lyx/external_templates
8977 \begin_layout Standard
8978 A typical template looks like this:
8981 \begin_layout LyX-Code
8985 \begin_layout LyX-Code
8986 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
8989 \begin_layout LyX-Code
8993 \begin_layout LyX-Code
8997 \begin_layout LyX-Code
9001 \begin_layout LyX-Code
9005 \begin_layout LyX-Code
9009 \begin_layout LyX-Code
9010 AutomaticProduction true
9013 \begin_layout LyX-Code
9017 \begin_layout LyX-Code
9021 \begin_layout LyX-Code
9025 \begin_layout LyX-Code
9026 TransformCommand Rotate RotationLatexCommand
9029 \begin_layout LyX-Code
9030 TransformCommand Resize ResizeLatexCommand
9033 \begin_layout LyX-Code
9034 Product "$$RotateFront$$ResizeFront
9037 \begin_layout LyX-Code
9042 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
9045 \begin_layout LyX-Code
9046 $$ResizeBack$$RotateBack"
9049 \begin_layout LyX-Code
9053 \begin_layout LyX-Code
9054 UpdateResult "$$AbsPath$$Basename.pstex_t"
9057 \begin_layout LyX-Code
9058 Requirement "graphicx"
9061 \begin_layout LyX-Code
9062 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9065 \begin_layout LyX-Code
9066 ReferencedFile latex "$$AbsPath$$Basename.eps"
9069 \begin_layout LyX-Code
9070 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9073 \begin_layout LyX-Code
9077 \begin_layout LyX-Code
9081 \begin_layout LyX-Code
9082 TransformCommand Rotate RotationLatexCommand
9085 \begin_layout LyX-Code
9086 TransformCommand Resize ResizeLatexCommand
9089 \begin_layout LyX-Code
9090 Product "$$RotateFront$$ResizeFront
9093 \begin_layout LyX-Code
9098 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9101 \begin_layout LyX-Code
9102 $$ResizeBack$$RotateBack"
9105 \begin_layout LyX-Code
9109 \begin_layout LyX-Code
9110 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9113 \begin_layout LyX-Code
9114 Requirement "graphicx"
9117 \begin_layout LyX-Code
9118 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9121 \begin_layout LyX-Code
9122 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9125 \begin_layout LyX-Code
9129 \begin_layout LyX-Code
9133 \begin_layout LyX-Code
9134 Product "$$Contents(
9136 "$$AbsPath$$Basename.asc
9141 \begin_layout LyX-Code
9142 UpdateFormat asciixfig
9145 \begin_layout LyX-Code
9146 UpdateResult "$$AbsPath$$Basename.asc"
9149 \begin_layout LyX-Code
9153 \begin_layout LyX-Code
9157 \begin_layout LyX-Code
9158 Product "<graphic fileref=
9160 "$$AbsOrRelPathMaster$$Basename.eps
9165 \begin_layout LyX-Code
9169 \begin_layout LyX-Code
9173 \begin_layout LyX-Code
9174 UpdateResult "$$AbsPath$$Basename.eps"
9177 \begin_layout LyX-Code
9178 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9181 \begin_layout LyX-Code
9182 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9185 \begin_layout LyX-Code
9189 \begin_layout LyX-Code
9193 \begin_layout LyX-Code
9194 Product "[XFig: $$FName]"
9197 \begin_layout LyX-Code
9201 \begin_layout LyX-Code
9205 \begin_layout Standard
9206 As you can see, the template is enclosed in
9210 \SpecialChar \ldots{}
9216 It contains a header specifying some general settings, and for each supported
9217 primary document file format a section
9221 \SpecialChar \ldots{}
9229 \begin_layout Subsection
9233 \begin_layout Description
9237 Template\InsetSpace ~
9241 A unique name for the template.
9242 It must not contain substitution macros (see below).
9245 \begin_layout Description
9249 GuiName\InsetSpace ~
9253 The text that is displayed on the button.
9254 This command must occur exactly once.
9257 \begin_layout Description
9261 HelpText\InsetSpace ~
9266 The help text that is used in the External dialog.
9267 Provide enough information to explain to the user just what the template
9268 can provide him with.
9269 This command must occur exactly once.
9272 \begin_layout Description
9276 InputFormat\InsetSpace ~
9280 The file format of the original file.
9281 This must be the name of a format that is known to LyX (see the
9286 ools\SpecialChar \menuseparator
9291 references:Conversion
9298 if the template can handle original files of more than one format.
9299 LyX will attempt to interrogate the file itself in order to deduce its
9300 format in this case.
9301 This command must occur exactly once.
9304 \begin_layout Description
9308 FileFilter\InsetSpace ~
9312 A glob pattern that is used in the file dialog to filter out the desired
9314 If there is more than one possible file extension (e.g.\InsetSpace ~
9323 ), use something like
9328 This command must occur exactly once.
9331 \begin_layout Description
9335 AutomaticProduction\InsetSpace ~
9339 Wether the file represented by the template must be generated by LyX.
9340 This command must occur exactly once.
9343 \begin_layout Description
9347 Transform\InsetSpace ~
9348 Rotate|Resize|Clip|Extra
9351 This command specifies which transformations are supported by this template.
9352 It may occur zero or more times.
9353 This command enables the corresponding tabs in the external dialog.
9358 command must have either a corresponding
9371 Otherwise the transformation will not be supported by that format.
9374 \begin_layout Subsection
9378 \begin_layout Description
9383 LaTeX|PDFLaTeX|Ascii|DocBook|LinuxDoc
9386 The primary document file format that this format definition is for.
9387 Not every template has a sensible representation in all document file formats.
9388 Please define nevertheless a
9392 section for all formats.
9393 Use a dummy text when no representation is available (see the LinuxDoc
9394 format in the example above).
9395 Then you can at least see a reference to the external material in the exported
9399 \begin_layout Description
9403 TransformCommand\InsetSpace ~
9405 RotationLatexCommand
9408 This command specifies that the built in LaTeX command should be used for
9410 This command may occur once or not at all.
9413 \begin_layout Description
9417 TransformCommand\InsetSpace ~
9422 This command specifies that the built in LaTeX command should be used for
9424 This command may occur once or not at all.
9427 \begin_layout Description
9431 TransformOption\InsetSpace ~
9436 This command specifies that rotation is done via an optional argument.
9437 This command may occur once or not at all.
9440 \begin_layout Description
9444 TransformOption\InsetSpace ~
9449 This command specifies that resizing is done via an optional argument.
9450 This command may occur once or not at all.
9453 \begin_layout Description
9457 TransformOption\InsetSpace ~
9462 This command specifies that clipping is done via an optional argument.
9463 This command may occur once or not at all.
9466 \begin_layout Description
9470 TransformOption\InsetSpace ~
9475 This command specifies that an extra optional argument is used.
9476 This command may occur once or not at all.
9479 \begin_layout Description
9483 Product\InsetSpace ~
9487 The text that is inserted in the exported document.
9488 This is actually the most important command and can be quite complex.
9489 This command must occur exactly once.
9492 \begin_layout Description
9496 UpdateFormat\InsetSpace ~
9500 The file format of the converted file.
9501 This must be the name of a format that is known to LyX (see the
9506 ools\SpecialChar \menuseparator
9511 references:Conversion
9514 This command must occur exactly once.
9517 \begin_layout Description
9521 UpdateResult\InsetSpace ~
9525 The file name of the converted file.
9526 The file name must be absolute.
9527 This command must occur exactly once.
9530 \begin_layout Description
9534 ReferencedFile\InsetSpace ~
9535 <format>\InsetSpace ~
9539 This command denotes files that are created by the conversion process and
9540 are needed for a particular export format.
9541 If the filename is relative, it is interpreted relative to the master document.
9542 This command may be given zero or more times.
9545 \begin_layout Description
9549 Requirement\InsetSpace ~
9553 The name of a required LaTeX package.
9554 The package is included via
9560 in the LaTeX preamble.
9561 This command may occur zero or more times.
9564 \begin_layout Description
9568 Preamble\InsetSpace ~
9572 This command specifies a preamble snippet that will be included in the
9574 It has to be defined using
9578 \SpecialChar \ldots{}
9584 This command may occur zero or more times.
9587 \begin_layout Description
9596 This command defines an additional macro
9609 itself may contain substitution macros.
9610 The advantage over using
9618 is that the substituted value of
9622 is sanitized so that it is a valid optional argument in the document format.
9623 This command may occur zero or more times.
9626 \begin_layout Subsection
9627 Preamble definitions
9630 \begin_layout Standard
9631 The external template configuration file may contain additional preamble
9632 definitions enclosed by
9636 \SpecialChar \ldots{}
9642 They can be used by the templates in the
9649 \begin_layout Section
9650 The substitution mechanism
9653 \begin_layout Standard
9654 When the external material facility invokes an external program, it is done
9655 on the basis of a command defined in the template configuration file.
9656 These commands can contain various macros that are expanded before execution.
9657 Execution always take place in the directory of the containing document.
9660 \begin_layout Standard
9661 Also, whenever external material is to be displayed, the name will be produced
9662 by the substitution mechanism, and most other commands in the template
9663 definition support substitution as well.
9666 \begin_layout Standard
9667 The available macros are the following:
9670 \begin_layout Description
9671 $$FName The filename of the file specified in the external material dialog.
9672 This is either an absolute name, or it is relative to the LyX document.
9675 \begin_layout Description
9676 $$Basename The filename without path and without the extension.
9679 \begin_layout Description
9680 $$Extension The file extension (including the dot).
9683 \begin_layout Description
9684 $$FPath The path part of
9688 (absolute name or relative to the LyX document).
9691 \begin_layout Description
9692 $$AbsPath The absolute file path.
9695 \begin_layout Description
9696 $$RelPathMaster The file path, relative to the master LyX document.
9699 \begin_layout Description
9700 $$RelPathParent The file path, relative to the LyX document.
9703 \begin_layout Description
9704 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9708 \begin_layout Description
9709 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9712 \begin_layout Description
9713 $$Tempname A name and full path to a temporary file which will be automatically
9714 deleted whenever the containing document is closed, or the external material
9718 \begin_layout Description
9720 \begin_inset Quotes eld
9724 \begin_inset Quotes erd
9727 ) This macro will expand to the contents of the file with the name
9734 \begin_layout Description
9735 $$Sysdir This macro will expand to the absolute path of the system directory.
9736 This is typically used to point to the various helper scripts that are
9740 \begin_layout Standard
9741 All path macros contain a trailing directory separator, so you can construct
9743 the absolute filename with
9745 $$AbsPath$$Basename$$Extension
9750 \begin_layout Standard
9751 The macros above are substituted in all commands unless otherwise noted.
9756 supports additionally the following substitutions if they are enabled by
9768 \begin_layout Description
9769 $$ResizeFront The front part of the resize command.
9772 \begin_layout Description
9773 $$ResizeBack The back part of the resize command.
9776 \begin_layout Description
9777 $$RotateFront The front part of the rotation command.
9780 \begin_layout Description
9781 $$RotateBack The back part of the rotation command.
9784 \begin_layout Standard
9785 The value string of the
9789 command supports additionally the following substitutions if they are enabled
9801 \begin_layout Description
9802 $$Clip The clip option.
9805 \begin_layout Description
9806 $$Extra The extra option.
9809 \begin_layout Description
9810 $$Resize The resize option.
9813 \begin_layout Description
9814 $$Rotate The rotation option.
9817 \begin_layout Standard
9818 You may ask why there are so many path macros.
9819 There are mainly two reasons:
9822 \begin_layout Standard
9823 First, relative and absolute file names should remain relative or absolute,
9825 Users may have reasons to prefer either form.
9826 Relative names are useful for portable documents that should work on different
9827 machines, for example.
9828 Absolute names may be required by some programs.
9831 \begin_layout Standard
9832 Second, LaTeX treats relative file names differently than LyX and other
9833 programs in nested included files.
9834 For LyX, a relative file name is always relative to the document that contains
9836 For LaTeX, it is always relative to the master document.
9837 These two definitions are identical if you have only one document, but
9838 differ if you have a master document that includes part documents.
9839 That means that relative filenames must be transformed when presented to
9841 Fortunately LyX does this automatically for you if you choose the right
9845 \begin_layout Standard
9846 So which path macro should be used in new template definitions? The rule
9850 \begin_layout Itemize
9855 if an absolute path is required.
9858 \begin_layout Itemize
9861 $$AbsOrRelPathMaster
9863 if the substituted string is some kind of LaTeX input.
9866 \begin_layout Itemize
9869 $$AbsOrRelPathParent
9871 in order to preserve the user's choice.
9874 \begin_layout Standard
9875 There are special cases where this rule does not work and e.g.\InsetSpace ~
9877 are needed, but normally it will work just fine.
9878 One example for such a case is the command
9880 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9882 in the XFig template above: We can't use the absolute name because the
9887 files needs the relative name in order to rewrite the file content.
9890 \begin_layout Section
9894 \begin_layout Standard
9895 \begin_inset Note Note
9898 \begin_layout Standard
9899 This section is outdated
9904 The external material feature interfaces with a lot of external programs
9905 and does so automatically, so we have to consider the security implications
9907 In particular, since you have the option of including your own filenames
9908 and/or parameter strings and those are expanded into a command, it seems
9909 that it would be possible to create a malicious document which executes
9910 arbitrary commands when a user views or prints the document.
9911 This is something we definately want to avoid.
9914 \begin_layout Standard
9915 However, since the external program commands are specified in the template
9916 configuration file only, there are no security issues if LyX is properly
9917 configured with safe templates only.
9918 This is so because the external programs are invoked with the
9922 -system call rather than the
9926 system-call, so it's not possible to execute arbitrary commands from the
9927 filename or parameter section via the shell.
9930 \begin_layout Standard
9931 This also implies that you are restricted in what command strings you can
9932 use in the external material templates.
9933 In particular, pipes and redirection are not readily available.
9934 This has to be so if LyX should remain safe.
9935 If you want to use some of the shell features, you should write a safe
9936 script to do this in a controlled manner, and then invoke the script from
9942 directory of the LyX installation, you can find a safe wrapper script
9944 general_command_wrapper.py
9946 that supports redirection of input and output.
9947 That can serve as an example for how to write safe template scripts.
9948 For a more advanced example that uses
9952 and friends, take a look at the
9959 \begin_layout Standard
9960 It is possible to design a template that interacts directly with the shell,
9961 but since this would allow a malicious user to execute arbitrary commands
9962 by writing clever filenames and/or parameters, we generally recommend that
9963 you only use safe scripts that work with the
9967 system call in a controlled manner.
9968 Of course, for use in a controlled environment, it can be tempting to just
9969 fall back to use ordinary shell scripts.
9970 If you do so, be aware that you
9974 provide an easily exploitable security hole in your system.
9975 Of course it stands to reason that such unsafe templates will never be
9976 included in the standard LyX distribution, although we do encourage people
9977 to submit new templates in the open source tradition.
9978 But LyX as shipped from the official distribution channels will never have
9982 \begin_layout Standard
9983 Including external material provides a lot of power, and you have to be
9984 careful not to introduce security hazards with this power.
9985 A subtle error in a single line in an innocent looking script can open
9986 the door to huge security problems.
9987 So if you do not fully understand the issues, we recommend that you consult
9988 a knowledgable security professional or the LyX development team if you
9989 have any questions about whether a given template is safe or not.
9990 And do this before you use it in an uncontrolled environment.
9993 \begin_layout Chapter
9997 \begin_layout Section
10001 \begin_layout Standard
10002 The LyX server is a method implemented in LyX that will enable other programs
10003 to talk to LyX, invoke LyX commands, and retrieve information about the
10004 LyX internal state.
10005 This is only intended for advanced users, but they should find it useful.
10008 \begin_layout Section
10009 Starting the LyX Server
10012 \begin_layout Standard
10013 The LyX server works through the use of a pair of named pipes.
10014 These are usually located in your home directory and have the names
10015 \begin_inset Quotes eld
10023 \begin_inset Quotes erd
10027 \begin_inset Quotes eld
10035 \begin_inset Quotes erd
10039 External programs write into
10043 and read back data from
10048 The stem of the pipe names can be defined in the
10053 ools\SpecialChar \menuseparator
10060 dialog, for example
10062 "/home/myhome/.lyxpipe"
10067 \begin_layout Standard
10076 ' to create the pipes.
10077 The above setting also has the effect of activating the LyX server.
10078 If one of the pipes already exists, LyX will assume that another LyX process
10079 is already running and will not start the server.
10080 To have several LyX processes with servers at the same time, you have to
10081 change the configuration between the start of the programs.
10084 \begin_layout Standard
10085 If you are developing a client program, you might find it useful to enable
10086 debugging information from the LyX server.
10087 Do this by starting LyX as
10089 lyx -dbg lyxserver.
10092 \begin_layout Standard
10093 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10094 case you must remove them manually.
10095 If LyX starts and the pipes exist already, it will not start any server.
10098 \begin_layout Standard
10099 You can find a complete example client written in C in the source distribution
10102 development/server_monitor.c
10107 \begin_layout Section
10108 Normal communication
10111 \begin_layout Standard
10112 To issue a LyX call, the client writes a line of ASCII text into the input
10114 This line has the following format:
10117 \begin_layout Quote
10131 \begin_layout Standard
10136 is a name that the client can choose arbitrarily.
10137 Its only use is that LyX will echo it if it sends an answer - so a client
10138 can dispatch results from different requesters.
10141 \begin_layout Standard
10146 is the function you want LyX to perform.
10147 It is the same as the commands you'd use in the minibuffer.
10150 \begin_layout Standard
10155 is an optional argument which is meaningful only to some functions (for
10157 \begin_inset Quotes eld
10161 \begin_inset Quotes erd
10164 which will insert the argument as text at the cursor position.)
10167 \begin_layout Standard
10168 The answer from LyX will arrive in the output pipe and be of the form
10171 \begin_layout Quote
10185 \begin_layout Standard
10194 are just echoed from the command request, while
10198 is more or less useful information filled according to how the command
10199 execution worked out.
10200 Some commands will return information about the internal state of LyX,
10202 \begin_inset Quotes eld
10206 \begin_inset Quotes erd
10209 , while other will return an empty data-response.
10210 This means that the command execution went fine.
10213 \begin_layout Standard
10214 In case of errors, the response from LyX will have this form
10217 \begin_layout Quote
10231 \begin_layout Standard
10236 should contain an explanation of why the command failed.
10239 \begin_layout Standard
10243 \begin_layout LyX-Code
10244 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10247 \begin_layout LyX-Code
10248 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10250 read a <~/.lyxpipe.out
10255 \begin_layout Section
10259 \begin_layout Standard
10260 LyX can notify clients of events going on asynchronously.
10261 Currently it will only do this if the user binds a key sequence with the
10263 \begin_inset Quotes eld
10267 \begin_inset Quotes erd
10271 The format of the string LyX sends is as follows:
10274 \begin_layout Quote
10283 \begin_layout Standard
10288 is the printed representation of the key sequence that was actually typed
10292 \begin_layout Standard
10293 This mechanism can be used to extend LyX's command set and implement macros:
10294 bind some key sequence to
10295 \begin_inset Quotes eld
10299 \begin_inset Quotes erd
10302 , start a client that listens on the out pipe, dispatches the command according
10303 to the sequence and starts a function that may use LyX calls and LyX requests
10304 to issue a command or a series of commands to LyX.
10307 \begin_layout Section
10308 The simple LyX Server Protocol
10311 \begin_layout Standard
10312 LyX implements a simple protocol that can be used for session management.
10313 All messages are of the form
10316 \begin_layout Quote
10326 \begin_layout Standard
10332 \begin_inset Quotes eld
10336 \begin_inset Quotes erd
10340 \begin_inset Quotes eld
10344 \begin_inset Quotes erd
10349 \begin_inset Quotes eld
10353 \begin_inset Quotes erd
10356 is received from a client, LyX will report back to inform the client that
10357 it's listening to it's messages, while
10358 \begin_inset Quotes eld
10362 \begin_inset Quotes erd
10365 sent from LyX will inform clients that LyX is closing.
10368 \begin_layout Chapter
10373 \begin_layout Standard
10374 This appendix is a huge cross-reference to all the English language keybindings.
10375 Originally, we simply wanted to list all of the key bindings followed by
10376 the function it's bound to.
10377 That way, a user can look up a key to find out what it does.
10378 We then decided, what the hey, why not include the default toolbar and
10379 menu bindings, too.
10380 Please note this section is likely to be very out of date.
10383 \begin_layout Standard
10384 The form is really self-explanatory, but here are a few tips: all entries
10385 are arranged roughly alphabetically for a given modifier (
10394 For the general keyboard layout, simpler prefixes precede the more complex
10404 All entries were gleaned from the default user interface and binding files
10405 located in the directories
10407 \SpecialChar \ldots{}
10412 \SpecialChar \ldots{}
10415 ; they should be treated as the final word on the bindings.
10418 \begin_layout Standard
10419 As a final note, be aware that some window managers (such as FVWM) take
10420 control of some of the function keys or motion keys.
10425 is listed here as generating
10429 , but FVWM grabs it and uses it to change virtual desktops instead.
10430 Very annoying unless you instruct your window manager to stop intercepting
10434 \begin_layout Section
10438 \begin_layout LyX-Code
10442 \begin_layout LyX-Code
10446 \begin_layout LyX-Code
10450 \begin_layout LyX-Code
10451 Icon "buffer-write"
10454 \begin_layout LyX-Code
10455 Icon "buffer-print"
10458 \begin_layout LyX-Code
10462 \begin_layout LyX-Code
10466 \begin_layout LyX-Code
10470 \begin_layout LyX-Code
10474 \begin_layout LyX-Code
10478 \begin_layout LyX-Code
10482 \begin_layout LyX-Code
10486 \begin_layout LyX-Code
10490 \begin_layout LyX-Code
10494 \begin_layout LyX-Code
10498 \begin_layout LyX-Code
10502 \begin_layout LyX-Code
10506 \begin_layout LyX-Code
10507 Icon "footnote-insert"
10510 \begin_layout LyX-Code
10511 Icon "marginpar-insert"
10514 \begin_layout LyX-Code
10518 \begin_layout LyX-Code
10522 \begin_layout LyX-Code
10523 Icon "figure-insert"
10526 \begin_layout LyX-Code
10527 Icon "dialog-tabular-insert"
10530 \begin_layout LyX-Code
10534 \begin_layout Section
10538 \begin_layout Subsection
10543 \labelwidthstring 00.00.0000
10553 \labelwidthstring 00.00.0000
10565 \labelwidthstring 00.00.0000
10577 \labelwidthstring 00.00.0000
10591 \labelwidthstring 00.00.0000
10601 \labelwidthstring 00.00.0000
10615 \labelwidthstring 00.00.0000
10625 \labelwidthstring 00.00.0000
10637 \labelwidthstring 00.00.0000
10649 \labelwidthstring 00.00.0000
10661 \labelwidthstring 00.00.0000
10667 buffer-new-template
10671 \labelwidthstring 00.00.0000
10684 \labelwidthstring 00.00.0000
10693 \labelwidthstring 00.00.0000
10702 \labelwidthstring 00.00.0000
10711 \labelwidthstring 00.00.0000
10720 \labelwidthstring 00.00.0000
10729 \labelwidthstring 00.00.0000
10739 \labelwidthstring 00.00.0000
10748 \begin_layout Subsection
10753 \labelwidthstring 00.00.0000
10765 \labelwidthstring 00.00.0000
10777 \labelwidthstring 00.00.0000
10789 \labelwidthstring 00.00.0000
10801 \labelwidthstring 00.00.0000
10813 \labelwidthstring 00.00.0000
10825 \labelwidthstring 00.00.0000
10840 \labelwidthstring 00.00.0000
10847 tabular-feature append-row
10851 \labelwidthstring 00.00.0000
10858 tabular-feature toggle-line-bottom
10862 \labelwidthstring 00.00.0000
10869 tabular-feature align-center
10873 \labelwidthstring 00.00.0000
10880 tabular-feature delete-column
10884 \labelwidthstring 00.00.0000
10891 tabular-feature align-left
10895 \labelwidthstring 00.00.0000
10902 tabular-feature align-right
10906 \labelwidthstring 00.00.0000
10913 tabular-feature toggle-line-left
10917 \labelwidthstring 00.00.0000
10924 tabular-feature multicolumn
10928 \labelwidthstring 00.00.0000
10935 tabular-feature valign-center
10939 \labelwidthstring 00.00.0000
10946 tabular-feature valign-top
10950 \labelwidthstring 00.00.0000
10957 tabular-feature toggle-line-right
10961 \labelwidthstring 00.00.0000
10968 tabular-feature toggle-line-top
10972 \labelwidthstring 00.00.0000
10979 tabular-feature append-column
10983 \labelwidthstring 00.00.0000
10990 tabular-feature valign-bottom
10994 \labelwidthstring 00.00.0000
11001 tabular-feature delete-row
11006 \labelwidthstring 00.00.0000
11019 \labelwidthstring 00.00.0000
11024 floats-operate openfoot
11028 \labelwidthstring 00.00.0000
11033 floats-operate closefoot
11037 \labelwidthstring 00.00.0000
11042 floats-operate openfig
11046 \labelwidthstring 00.00.0000
11055 \labelwidthstring 00.00.0000
11064 \labelwidthstring 00.00.0000
11069 floats-operate closefig
11074 \labelwidthstring 00.00.0000
11086 \labelwidthstring 00.00.0000
11100 \labelwidthstring 00.00.0000
11112 \labelwidthstring 00.00.0000
11124 \labelwidthstring 00.00.0000
11138 \labelwidthstring 00.00.0000
11148 \labelwidthstring 00.00.0000
11161 \labelwidthstring 00.00.0000
11168 primary-selection-paste
11172 \labelwidthstring 00.00.0000
11179 primary-selection-paste paragraph
11183 \begin_layout Subsection
11188 \labelwidthstring 00.00.0000
11203 \labelwidthstring 00.00.0000
11210 buffer-float-insert algorithm
11214 \labelwidthstring 00.00.0000
11221 buffer-float-insert wide-tab
11225 \labelwidthstring 00.00.0000
11232 buffer-float-insert figure
11236 \labelwidthstring 00.00.0000
11243 buffer-float-insert table
11247 \labelwidthstring 00.00.0000
11254 buffer-float-insert wide-fig
11259 \labelwidthstring 00.00.0000
11267 dialog-tabular-insert
11271 \labelwidthstring 00.00.0000
11283 \labelwidthstring 00.00.0000
11295 \labelwidthstring 00.00.0000
11303 buffer-child-insert
11307 \labelwidthstring 00.00.0000
11319 \labelwidthstring 00.00.0000
11331 \labelwidthstring 00.00.0000
11343 \labelwidthstring 00.00.0000
11355 \labelwidthstring 00.00.0000
11367 \labelwidthstring 00.00.0000
11379 \labelwidthstring 00.00.0000
11391 \labelwidthstring 00.00.0000
11406 \labelwidthstring 00.00.0000
11417 \labelwidthstring 00.00.0000
11428 \labelwidthstring 00.00.0000
11439 \labelwidthstring 00.00.0000
11450 \labelwidthstring 00.00.0000
11461 \labelwidthstring 00.00.0000
11473 \labelwidthstring 00.00.0000
11485 \labelwidthstring 00.00.0000
11500 \labelwidthstring 00.00.0000
11507 protected-space-insert
11511 \labelwidthstring 00.00.0000
11518 end-of-sentence-period-insert
11522 \labelwidthstring 00.00.0000
11533 \labelwidthstring 00.00.0000
11544 \labelwidthstring 00.00.0000
11555 \labelwidthstring 00.00.0000
11562 menu-separator-insert
11566 \labelwidthstring 00.00.0000
11573 hyphenation-point-insert
11577 \labelwidthstring 00.00.0000
11588 \labelwidthstring 00.00.0000
11595 command-sequence math-insert ^;math-mode;
11599 \labelwidthstring 00.00.0000
11606 command-sequence math-insert _;math-mode;
11611 \labelwidthstring 00.00.0000
11626 \labelwidthstring 00.00.0000
11633 file-insert-ascii lines
11637 \labelwidthstring 00.00.0000
11644 file-insert-ascii paragraphs
11648 \labelwidthstring 00.00.0000
11660 \labelwidthstring 00.00.0000
11672 \labelwidthstring 00.00.0000
11684 \labelwidthstring 00.00.0000
11695 \begin_layout Subsection
11700 \labelwidthstring 00.00.0000
11712 \labelwidthstring 00.00.0000
11724 \labelwidthstring 00.00.0000
11736 \labelwidthstring 00.00.0000
11748 \labelwidthstring 00.00.0000
11760 \labelwidthstring 00.00.0000
11772 \labelwidthstring 00.00.0000
11784 \labelwidthstring 00.00.0000
11796 \labelwidthstring 00.00.0000
11804 layout-save-default
11808 \labelwidthstring 00.00.0000
11820 \labelwidthstring 00.00.0000
11832 \labelwidthstring 00.00.0000
11843 \begin_layout Subsubsection
11846 Layout\SpecialChar \menuseparator
11853 \labelwidthstring 00.00.0000
11863 \labelwidthstring 00.00.0000
11873 \labelwidthstring 00.00.0000
11883 \labelwidthstring 00.00.0000
11893 \labelwidthstring 00.00.0000
11905 \labelwidthstring 00.00.0000
11915 \labelwidthstring 00.00.0000
11925 \labelwidthstring 00.00.0000
11935 \labelwidthstring 00.00.0000
11945 \labelwidthstring 00.00.0000
11955 \labelwidthstring 00.00.0000
11965 \labelwidthstring 00.00.0000
11975 \labelwidthstring 00.00.0000
11985 \labelwidthstring 00.00.0000
11997 \labelwidthstring 00.00.0000
12009 \labelwidthstring 00.00.0000
12021 \labelwidthstring 00.00.0000
12033 \labelwidthstring 00.00.0000
12043 \labelwidthstring 00.00.0000
12055 \labelwidthstring 00.00.0000
12067 \labelwidthstring 00.00.0000
12077 \labelwidthstring 00.00.0000
12089 \labelwidthstring 00.00.0000
12101 \labelwidthstring 00.00.0000
12113 \labelwidthstring 00.00.0000
12125 \labelwidthstring 00.00.0000
12135 \labelwidthstring 00.00.0000
12145 \labelwidthstring 00.00.0000
12157 \labelwidthstring 00.00.0000
12169 \labelwidthstring 00.00.0000
12181 \labelwidthstring 00.00.0000
12191 \labelwidthstring 00.00.0000
12200 \begin_layout Subsection
12204 \begin_layout Subsection
12208 \begin_layout Subsection
12212 \begin_layout Subsection
12217 \labelwidthstring 00.00.0000
12229 \labelwidthstring 00.00.0000
12241 \labelwidthstring 00.00.0000
12253 \labelwidthstring 00.00.0000
12265 \labelwidthstring 00.00.0000
12277 \labelwidthstring 00.00.0000
12285 layout ShortFoilhead
12289 \labelwidthstring 00.00.0000
12301 \labelwidthstring 00.00.0000
12313 \labelwidthstring 00.00.0000
12325 \labelwidthstring 00.00.0000
12337 \labelwidthstring 00.00.0000
12345 layout ShortRotatefoilhead
12349 \labelwidthstring 00.00.0000
12361 \labelwidthstring 00.00.0000
12373 \labelwidthstring 00.00.0000
12385 \labelwidthstring 00.00.0000
12393 drop-layouts-choice
12397 \labelwidthstring 00.00.0000
12412 \labelwidthstring 00.00.0000
12427 \labelwidthstring 00.00.0000
12439 \labelwidthstring 00.00.0000
12451 \labelwidthstring 00.00.0000
12459 layout Subsubsection
12463 \labelwidthstring 00.00.0000
12475 \labelwidthstring 00.00.0000
12483 layout Subparagraph
12487 \labelwidthstring 00.00.0000
12491 asterisk\InsetSpace ~
12500 \labelwidthstring 00.00.0000
12504 asterisk\InsetSpace ~
12513 \labelwidthstring 00.00.0000
12517 asterisk\InsetSpace ~
12526 \labelwidthstring 00.00.0000
12530 asterisk\InsetSpace ~
12539 \labelwidthstring 00.00.0000
12543 asterisk\InsetSpace ~
12548 layout Subsubsection*
12552 \labelwidthstring 00.00.0000
12556 asterisk\InsetSpace ~
12565 \labelwidthstring 00.00.0000
12569 asterisk\InsetSpace ~
12574 layout Subparagraph*
12578 \labelwidthstring 00.00.0000
12590 \labelwidthstring 00.00.0000
12598 layout Bibliography
12602 \labelwidthstring 00.00.0000
12614 \labelwidthstring 00.00.0000
12626 \labelwidthstring 00.00.0000
12638 \labelwidthstring 00.00.0000
12650 \labelwidthstring 00.00.0000
12662 \labelwidthstring 00.00.0000
12670 layout Rotatefoilhead
12674 \labelwidthstring 00.00.0000
12682 layout RightAddress
12686 \labelwidthstring 00.00.0000
12698 \labelwidthstring 00.00.0000
12710 \labelwidthstring 00.00.0000
12722 \labelwidthstring 00.00.0000
12733 \begin_layout Standard
12734 These ones are kept for backwards compatibility, but only make sense on
12739 \labelwidthstring 00.00.0000
12751 \labelwidthstring 00.00.0000
12759 layout Subsubsection*
12763 \labelwidthstring 00.00.0000
12774 \begin_layout Section
12778 \begin_layout Subsection
12785 \labelwidthstring 00.00.0000
12796 \labelwidthstring 00.00.0000
12807 \labelwidthstring 00.00.0000
12818 \labelwidthstring 00.00.0000
12829 \labelwidthstring 00.00.0000
12840 \labelwidthstring 00.00.0000
12851 \labelwidthstring 00.00.0000
12858 hyphenation-point-insert
12862 \labelwidthstring 00.00.0000
12873 \labelwidthstring 00.00.0000
12880 line-delete-forward
12884 \labelwidthstring 00.00.0000
12895 \labelwidthstring 00.00.0000
12906 \labelwidthstring 00.00.0000
12917 \labelwidthstring 00.00.0000
12928 \labelwidthstring 00.00.0000
12939 \labelwidthstring 00.00.0000
12948 \labelwidthstring 00.00.0000
12959 \labelwidthstring 00.00.0000
12970 \labelwidthstring 00.00.0000
12981 \labelwidthstring 00.00.0000
12992 \labelwidthstring 00.00.0000
13003 \labelwidthstring 00.00.0000
13014 \labelwidthstring 00.00.0000
13026 \labelwidthstring 00.00.0000
13038 \labelwidthstring 00.00.0000
13050 \labelwidthstring 00.00.0000
13062 \labelwidthstring 00.00.0000
13075 \labelwidthstring 00.00.0000
13087 \labelwidthstring 00.00.0000
13099 \labelwidthstring 00.00.0000
13111 \labelwidthstring 00.00.0000
13123 \labelwidthstring 00.00.0000
13136 \labelwidthstring 00.00.0000
13148 \labelwidthstring 00.00.0000
13160 \labelwidthstring 00.00.0000
13173 \labelwidthstring 00.00.0000
13186 \labelwidthstring 00.00.0000
13199 \labelwidthstring 00.00.0000
13212 \labelwidthstring 00.00.0000
13225 \labelwidthstring 00.00.0000
13238 \labelwidthstring 00.00.0000
13250 \labelwidthstring 00.00.0000
13262 \labelwidthstring 00.00.0000
13274 \labelwidthstring 00.00.0000
13282 menu-open Documents
13286 \labelwidthstring 00.00.0000
13298 \labelwidthstring 00.00.0000
13310 \labelwidthstring 00.00.0000
13322 \labelwidthstring 00.00.0000
13334 \labelwidthstring 00.00.0000
13346 \labelwidthstring 00.00.0000
13354 buffer-toggle-read-only
13358 \labelwidthstring 00.00.0000
13370 \labelwidthstring 00.00.0000
13382 \labelwidthstring 00.00.0000
13394 \labelwidthstring 00.00.0000
13405 \labelwidthstring 00.00.0000
13416 \labelwidthstring 00.00.0000
13427 \labelwidthstring 00.00.0000
13438 \labelwidthstring 00.00.0000
13449 \labelwidthstring 00.00.0000
13460 \labelwidthstring 00.00.0000
13471 \labelwidthstring 00.00.0000
13482 \labelwidthstring 00.00.0000
13493 \labelwidthstring 00.00.0000
13504 \labelwidthstring 00.00.0000
13515 \labelwidthstring 00.00.0000
13526 \labelwidthstring 00.00.0000
13537 \labelwidthstring 00.00.0000
13548 \labelwidthstring 00.00.0000
13555 word-delete-forward
13559 \labelwidthstring 00.00.0000
13566 word-delete-backward
13570 \labelwidthstring 00.00.0000
13581 \labelwidthstring 00.00.0000
13588 end-of-sentence-period-insert
13592 \labelwidthstring 00.00.0000
13599 protected-space-insert
13603 \labelwidthstring 00.00.0000
13614 \labelwidthstring 00.00.0000
13625 \labelwidthstring 00.00.0000
13636 \labelwidthstring 00.00.0000
13647 \labelwidthstring 00.00.0000
13658 \labelwidthstring 00.00.0000
13669 \labelwidthstring 00.00.0000
13676 buffer-begin-select
13680 \labelwidthstring 00.00.0000
13691 \labelwidthstring 00.00.0000
13698 paragraph-up-select
13702 \labelwidthstring 00.00.0000
13709 paragraph-down-select
13713 \labelwidthstring 00.00.0000
13720 word-backward-select
13724 \labelwidthstring 00.00.0000
13731 word-forward-select
13735 \labelwidthstring 00.00.0000
13746 \labelwidthstring 00.00.0000
13753 word-delete-forward
13757 \labelwidthstring 00.00.0000
13768 \labelwidthstring 00.00.0000
13779 \labelwidthstring 00.00.0000
13790 \labelwidthstring 00.00.0000
13801 \labelwidthstring 00.00.0000
13808 break-paragraph-keep-layout
13812 \labelwidthstring 00.00.0000
13820 \begin_layout Subsection
13827 \labelwidthstring 00.00.0000
13838 \labelwidthstring 00.00.0000
13849 \labelwidthstring 00.00.0000
13860 \labelwidthstring 00.00.0000
13871 \labelwidthstring 00.00.0000
13882 \labelwidthstring 00.00.0000
13893 \labelwidthstring 00.00.0000
13904 \labelwidthstring 00.00.0000
13915 \labelwidthstring 00.00.0000
13926 \labelwidthstring 00.00.0000
13937 \labelwidthstring 00.00.0000
13948 \labelwidthstring 00.00.0000
13959 \labelwidthstring 00.00.0000
13970 \labelwidthstring 00.00.0000
13981 \labelwidthstring 00.00.0000
13992 \labelwidthstring 00.00.0000
14003 \labelwidthstring 00.00.0000
14014 \labelwidthstring 00.00.0000
14025 \labelwidthstring 00.00.0000
14036 \labelwidthstring 00.00.0000
14047 \labelwidthstring 00.00.0000
14058 \labelwidthstring 00.00.0000
14069 \labelwidthstring 00.00.0000
14076 protected-space-insert
14080 \labelwidthstring 00.00.0000
14091 \labelwidthstring 00.00.0000
14102 \labelwidthstring 00.00.0000
14113 \labelwidthstring 00.00.0000
14120 buffer-new-template
14124 \labelwidthstring 00.00.0000
14135 \labelwidthstring 00.00.0000
14146 \labelwidthstring 00.00.0000
14157 \labelwidthstring 00.00.0000
14168 \labelwidthstring 00.00.0000
14179 \labelwidthstring 00.00.0000
14190 \labelwidthstring 00.00.0000
14201 \labelwidthstring 00.00.0000
14208 end-of-sentence-period-insert
14212 \labelwidthstring 00.00.0000
14223 \labelwidthstring 00.00.0000
14234 \labelwidthstring 00.00.0000
14241 hyphenation-point-insert
14245 \labelwidthstring 00.00.0000
14256 \labelwidthstring 00.00.0000
14263 protected-space-insert
14267 \labelwidthstring 00.00.0000
14278 \labelwidthstring 00.00.0000
14289 \labelwidthstring 00.00.0000
14300 \labelwidthstring 00.00.0000
14311 \labelwidthstring 00.00.0000
14322 \labelwidthstring 00.00.0000
14333 \labelwidthstring 00.00.0000
14344 \labelwidthstring 00.00.0000
14355 \labelwidthstring 00.00.0000
14366 \labelwidthstring 00.00.0000
14377 \labelwidthstring 00.00.0000
14388 \labelwidthstring 00.00.0000
14399 \labelwidthstring 00.00.0000
14410 \labelwidthstring 00.00.0000
14421 \labelwidthstring 00.00.0000
14432 \labelwidthstring 00.00.0000
14439 word-delete-forward
14443 \labelwidthstring 00.00.0000
14450 word-delete-backward
14454 \labelwidthstring 00.00.0000
14465 \labelwidthstring 00.00.0000
14476 \labelwidthstring 00.00.0000
14487 \labelwidthstring 00.00.0000
14498 \labelwidthstring 00.00.0000
14505 paragraph-down-select
14509 \labelwidthstring 00.00.0000
14520 \labelwidthstring 00.00.0000
14527 buffer-begin-select
14531 \labelwidthstring 00.00.0000
14538 word-backward-select
14542 \labelwidthstring 00.00.0000
14549 word-forward-select
14553 \labelwidthstring 00.00.0000
14560 paragraph-up-select
14564 \labelwidthstring 00.00.0000
14575 \labelwidthstring 00.00.0000
14582 break-paragraph-keep-layout
14586 \labelwidthstring 00.00.0000
14597 \labelwidthstring 00.00.0000
14608 \labelwidthstring 00.00.0000
14619 \labelwidthstring 00.00.0000
14630 \labelwidthstring 00.00.0000
14641 \labelwidthstring 00.00.0000
14650 \labelwidthstring 00.00.0000
14661 \labelwidthstring 00.00.0000
14672 \labelwidthstring 00.00.0000
14683 \labelwidthstring 00.00.0000
14694 \labelwidthstring 00.00.0000
14704 \begin_layout Subsection
14710 \begin_layout Standard
14711 These are LyX keyboard definitions for mathematics, similar to those of
14715 \begin_layout Standard
14716 The bindings file and the present documentation were prepared by Serge Winitzki
14717 with assistance from Jean-Marc Lasgouttes.
14718 Version 1.3, for LyX 1.2.x and 1.3.x.
14721 \begin_layout Standard
14722 These definitions make it a lot easier to type equations without using the
14723 mouse, especially for people familiar with Scientific Word.
14724 The standard LyX bindings such as
14735 \begin_layout Standard
14736 Tip: to find the "LyX bind name" for a key, look at the status bar after
14737 typing some non-existent key combination.
14739 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
14740 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
14744 \labelwidthstring 00.00.0000
14753 -- Copy, cut, paste is as in Sciword,
14769 \labelwidthstring 00.00.0000
14778 -- Display equation toggle: type
14782 to insert a displayed formula (
14787 \begin_inset Quotes eld
14791 \begin_inset Quotes erd
14799 in a displayed formula to convert it back to an inline formula.
14803 \labelwidthstring 00.00.0000
14818 to insert a fraction (
14823 \begin_inset Quotes eld
14827 \begin_inset Quotes erd
14831 You can also select an expression and type
14835 to convert it to the numerator of a fraction.
14844 end of the denominator will delete the numerator and convert the denominator
14849 \labelwidthstring 00.00.0000
14861 \begin_inset Formula $\int$
14869 \begin_inset Quotes eld
14873 \begin_inset Quotes erd
14880 \labelwidthstring 00.00.0000
14887 line-delete-forward
14889 -- Emacs-like binding: delete forward of cursor to end of line.
14893 \labelwidthstring 00.00.0000
14902 -- A text/math toggle (
14907 \begin_inset Quotes eld
14911 \begin_inset Quotes erd
14914 ): switches to math in text mode, and also inserts roman text in math mode.
14924 \begin_inset Quotes eld
14928 \begin_inset Quotes erd
14935 \labelwidthstring 00.00.0000
14944 -- Add/remove numbering in a single equation.
14948 \labelwidthstring 00.00.0000
14957 -- Add/remove numbering at a line in equation arrays.
14960 \begin_layout Standard
14961 The above commands are toggles that control the numbering of equations (
14966 \begin_inset Quotes eld
14970 \begin_inset Quotes erd
14974 Note: when deleting a number in a labeled eqnarray, the label is not really
14975 removed (the TeX code becomes
14976 \begin_inset Quotes eld
14988 \begin_inset Quotes erd
14991 ) and this generates a (harmless) LaTeX warning.
14995 \labelwidthstring 00.00.0000
15004 -- Open a new document.
15009 \labelwidthstring 00.00.0000
15018 -- Insert a quote character " (
15023 \begin_inset Quotes eld
15027 \begin_inset Quotes erd
15032 \begin_inset Quotes eld
15036 \begin_inset Quotes erd
15039 double quote character that you get by default.
15043 \labelwidthstring 00.00.0000
15054 -- Square root sign
15055 \begin_inset Formula $\sqrt{x}$
15063 \begin_inset Quotes eld
15067 \begin_inset Quotes erd
15074 \labelwidthstring 00.00.0000
15086 \begin_inset Formula $\sqrt[n]{x}$
15093 \labelwidthstring 00.00.0000
15102 -- Another binding for a switch between the text and the math mode (
15107 \begin_inset Quotes eld
15111 \begin_inset Quotes erd
15115 Note that the roman text inserted in math mode is special.
15119 \labelwidthstring 00.00.0000
15132 the selected text (text mode only, use things like
15148 \labelwidthstring 00.00.0000
15157 -- W*ndows heritage.
15161 \labelwidthstring 00.00.0000
15170 -- Close the current document (again, a W*ndows heritage).
15174 \labelwidthstring 00.00.0000
15185 \labelwidthstring 00.00.0000
15196 \labelwidthstring 00.00.0000
15206 \begin_inset Quotes eld
15210 \begin_inset Quotes erd
15214 \begin_inset Quotes eld
15218 \begin_inset Quotes erd
15224 \begin_layout Standard
15225 Bracket delimiters: press
15229 -<bracket key> to insert a matching pair of delimiters.
15234 inserts a pair of parentheses
15235 \begin_inset Formula $\left[\right]$
15243 does the same thing.) It will switch to math mode if needed.
15244 The supported characters are ( [ { < |.
15245 It is the same to press the right or the left bracket.
15246 The corresponding delimiters are
15247 \begin_inset Formula $\left(\right)$
15251 \begin_inset Formula $\left[\right]$
15255 \begin_inset Formula $\left\{ \right\} $
15259 \begin_inset Formula $\left\langle \right\rangle $
15263 \begin_inset Formula $\left|\right|$
15268 \begin_inset Quotes eld
15272 \begin_inset Quotes erd
15275 and resize with their contents.
15276 Use Math Panel to get other or non-matching delimiters.
15277 Press backspace on the
15281 delimiter to remove both
15282 \begin_inset Quotes eld
15286 \begin_inset Quotes erd
15289 delimiters without removing their contents.
15293 \labelwidthstring 00.00.0000
15302 -- for convenience, pressing
15316 \labelwidthstring 00.00.0000
15327 \labelwidthstring 00.00.0000
15338 \labelwidthstring 00.00.0000
15349 \labelwidthstring 00.00.0000
15360 \labelwidthstring 00.00.0000
15371 \labelwidthstring 00.00.0000
15378 math-delim langle rangle
15380 -- angular delimiters
15381 \begin_inset Formula $\left\langle \right\rangle $
15384 , not to confuse with ordinary < > signs.
15388 \labelwidthstring 00.00.0000
15395 math-delim langle rangle
15398 \begin_layout Standard
15399 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15400 some British ones), the bar character
15405 -something and on some wayward Unices to "brokenbar".
15406 So we define all of these keys as well.
15410 \labelwidthstring 00.00.0000
15421 \labelwidthstring 00.00.0000
15432 \labelwidthstring 00.00.0000
15443 \labelwidthstring 00.00.0000
15454 \labelwidthstring 00.00.0000
15464 \begin_layout Standard
15465 Accents are in most cases
15469 -<accent key>, e.g.\InsetSpace ~
15483 for tilde (you also need to press
15489 \begin_inset Quotes eld
15501 \begin_inset Quotes erd
15505 Some accents work only in math mode and others only in text mode.
15509 \labelwidthstring 00.00.0000
15518 -- overdot accent, \i \.{a}
15523 \labelwidthstring 00.00.0000
15535 \begin_inset Formula $\dot{a}$
15538 (math mode only -- in physics this denotes a first derivative).
15542 \labelwidthstring 00.00.0000
15553 -- Vector accent over math
15554 \begin_inset Formula $\overrightarrow{x}$
15561 \labelwidthstring 00.00.0000
15570 -- umlaut accent, ä (text mode only)
15574 \labelwidthstring 00.00.0000
15585 -- double dot accent,
15586 \begin_inset Formula $\ddot{a}$
15589 (math mode only -- in physics this denotes a second derivative).
15590 To get a triple dot in math mode, use
15598 \labelwidthstring 00.00.0000
15607 -- grave accent à (text mode only, use
15617 \labelwidthstring 00.00.0000
15626 -- tilde accent ã (text mode only, use
15636 \labelwidthstring 00.00.0000
15645 -- acute accent á (text mode only, use
15655 \labelwidthstring 00.00.0000
15664 -- circumflex (caret) accent â (text mode only, use
15673 \begin_layout Standard
15675 The new key S-F2 for creating a LaTeX file seems handy.
15679 \labelwidthstring 00.00.0000
15688 -- Save current document.
15692 \labelwidthstring 00.00.0000
15699 buffer-export latex
15701 -- Write a LaTeX file for the current document.
15705 \labelwidthstring 00.00.0000
15714 -- Find and replace dialog.
15718 \labelwidthstring 00.00.0000
15735 \labelwidthstring 00.00.0000
15748 to quit LyX is the W*ndows w*ndow manager's mnemonic.
15751 \begin_layout Standard
15760 are used to switch fonts.
15765 to switch back to the normal font.
15766 The non-default font switches
15774 all work as toggles.
15775 They also work on the whole word if you put the cursor in the middle of
15776 the word, or if you select some text.
15780 \labelwidthstring 00.00.0000
15789 -- stop using any special font
15793 \labelwidthstring 00.00.0000
15810 \labelwidthstring 00.00.0000
15827 \labelwidthstring 00.00.0000
15844 \labelwidthstring 00.00.0000
15858 (Used sometimes for people's names.)
15861 \begin_layout Standard
15867 \begin_inset Quotes eld
15871 \begin_inset Quotes erd
15878 key (useful e.g.\InsetSpace ~
15879 if the keyboard has no working
15886 \begin_layout Standard
15887 Here are some Sciword-inspired mnemonics for frequently used math symbols.
15888 Many symbols start with a
15897 cannot be itself bound to anything.
15901 \labelwidthstring 00.00.0000
15913 \begin_inset Quotes eld
15917 \begin_inset Quotes erd
15921 \begin_inset Formula $\prime$
15925 This is frequently unnecessary: in most cases the normal apostrophe works
15928 \begin_inset Formula $x'+2x=0$
15931 , but in some cases this would generate a double superscript error in LaTeX.
15933 \begin_inset Formula $x^{\prime2}$
15937 \begin_inset Formula $x$
15940 prime squared) must be entered with the prime character.
15944 \labelwidthstring 00.00.0000
15952 command-sequence math-superscript; math-insert
15956 -- Insert a prime as a superscript (see example above).
15960 \labelwidthstring 00.00.0000
15969 -- Insert an upper index.
15976 \labelwidthstring 00.00.0000
15985 -- Insert a lower index.
15992 \labelwidthstring 00.00.0000
16004 -- Partial derivative symbol
16005 \begin_inset Formula $\partial$
16012 \labelwidthstring 00.00.0000
16024 -- Summation symbol
16025 \begin_inset Formula $\sum$
16028 (not the same as the Greek letter uppercase Sigma
16029 \begin_inset Formula $\Sigma$
16032 because it can resize and allows smart upper/lower limits).
16036 \labelwidthstring 00.00.0000
16049 \begin_inset Formula $\prod$
16052 (not the same as the Greek letter uppercase Pi,
16053 \begin_inset Formula $\Pi$
16060 \labelwidthstring 00.00.0000
16073 \begin_inset Formula $\infty$
16080 \labelwidthstring 00.00.0000
16093 \begin_inset Formula $\times$
16100 \labelwidthstring 00.00.0000
16110 -- Insert a stacked array
16111 \begin_inset Formula $\begin{array}{c}
16113 \end{array}\end{array}$
16117 (Frequently useful in formulae.)
16121 \labelwidthstring 00.00.0000
16132 \begin_inset Formula $\times$
16136 \begin_inset Formula $\begin{array}{ccc}
16141 (Then you can modify its size using the
16143 Edit\SpecialChar \menuseparator
16150 \labelwidthstring 00.00.0000
16163 \begin_inset Quotes eld
16167 \begin_inset Quotes erd
16171 \begin_inset Formula $\dagger$
16178 \labelwidthstring 00.00.0000
16191 \begin_inset Quotes eld
16195 \begin_inset Quotes erd
16199 \begin_inset Formula $\equiv$
16206 \labelwidthstring 00.00.0000
16218 \begin_inset Quotes eld
16221 Approximate equality
16222 \begin_inset Quotes erd
16226 \begin_inset Formula $\approx$
16233 \labelwidthstring 00.00.0000
16245 \begin_inset Quotes eld
16249 \begin_inset Quotes erd
16253 \begin_inset Formula $\sim$
16260 \labelwidthstring 00.00.0000
16272 \begin_inset Formula $\rightarrow$
16276 \begin_inset Formula $\lim_{x\rightarrow0}$
16283 \labelwidthstring 00.00.0000
16295 \begin_inset Formula $\leq$
16302 \labelwidthstring 00.00.0000
16313 -- Greater-or-equal
16314 \begin_inset Formula $\geq$
16321 \labelwidthstring 00.00.0000
16334 \begin_inset Quotes eld
16338 \begin_inset Quotes erd
16342 \begin_inset Formula $\ll$
16345 (useful in physics)
16349 \labelwidthstring 00.00.0000
16362 \begin_inset Quotes eld
16366 \begin_inset Quotes erd
16370 \begin_inset Formula $\gg$
16376 \begin_layout Subsection
16377 Standard math bindings
16381 \labelwidthstring 00.00.0000
16395 \labelwidthstring 00.00.0000
16407 \labelwidthstring 00.00.0000
16419 \labelwidthstring 00.00.0000
16433 \labelwidthstring 00.00.0000
16445 \labelwidthstring 00.00.0000
16457 \labelwidthstring 00.00.0000
16471 \labelwidthstring 00.00.0000
16483 \labelwidthstring 00.00.0000
16495 \labelwidthstring 00.00.0000
16507 \labelwidthstring 00.00.0000
16521 \labelwidthstring 00.00.0000
16535 \labelwidthstring 00.00.0000
16549 \labelwidthstring 00.00.0000
16563 \labelwidthstring 00.00.0000
16577 \labelwidthstring 00.00.0000
16591 \labelwidthstring 00.00.0000
16603 \labelwidthstring 00.00.0000
16617 \labelwidthstring 00.00.0000
16629 \labelwidthstring 00.00.0000
16641 \labelwidthstring 00.00.0000
16653 \labelwidthstring 00.00.0000
16665 \labelwidthstring 00.00.0000
16679 \labelwidthstring 00.00.0000
16691 \labelwidthstring 00.00.0000
16703 \labelwidthstring 00.00.0000
16715 \labelwidthstring 00.00.0000
16723 math-delim langle rangle
16727 \labelwidthstring 00.00.0000
16735 math-delim rangle langle
16739 \labelwidthstring 00.00.0000
16751 \labelwidthstring 00.00.0000
16765 \labelwidthstring 00.00.0000
16778 \begin_layout Subsection
16783 \labelwidthstring 00.00.0000
16793 \labelwidthstring 00.00.0000
16803 \labelwidthstring 00.00.0000
16813 \labelwidthstring 00.00.0000
16823 \labelwidthstring 00.00.0000