1 #LyX 1.4.3svn 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 some files that demonstrate the capabilities of the
392 External\InsetSpace ~
399 \labelwidthstring 00.00.0000
404 contains the standard LyX template files described in Chapter\InsetSpace ~
406 \begin_inset LatexCommand \ref{sec:templates}
414 \labelwidthstring 00.00.0000
419 contains some LaTeX cls files distributed with LyX.
423 \labelwidthstring 00.00.0000
428 contains files with the extension
432 that define the user interface to LyX.
433 That is, the files define which items appear in which menus and the items
434 appearing on the toolbar.
435 See Chapter\InsetSpace ~
437 \begin_inset LatexCommand \ref{sec:ui}
444 \begin_layout Subsection
445 Files you don't want to modify
448 \begin_layout Standard
449 These files are used internally by LyX and you generally do not need to
450 modify them unless you are a developer.
454 \labelwidthstring 00.00.0000
461 this file contains the list of LyX developers.
462 The contents are displayed with the menu entry
467 elp\SpecialChar \menuseparator
475 \labelwidthstring 00.00.0000
482 this is a LaTeX script used during the configuration process.
487 \labelwidthstring 00.00.0000
494 this is the script that is used to re-configure LyX.
495 It creates configuration files in the directory it was run from.
498 \begin_layout Subsection
499 Other files needing a line or two...
503 \labelwidthstring 00.00.0000
508 this contains tables describing how different character encodings can be
513 \labelwidthstring 00.00.0000
518 this file contains the templates available to the new
520 External\InsetSpace ~
527 \labelwidthstring 00.00.0000
532 this file contains a list of all the languages currently supported by LyX.
536 \labelwidthstring 00.00.0000
541 Deprecated and definitely obfuscated.
542 This is the old style preferences file.
543 It will probably disappear in the near future.
546 \begin_layout Section
547 Your local configuration directory
550 \begin_layout Standard
551 Even if you are using LyX as an unprivileged user, you might want to change
552 LyX configuration for your own use.
557 directory contains all your personal configuration files.
558 This is the directory described as
559 \begin_inset Quotes eld
563 \begin_inset Quotes erd
571 elp\SpecialChar \menuseparator
576 This directory is used as a mirror of
580 , which means that every file in
584 is a replacement for the corresponding file in
589 Any configuration file described in the above sections can be placed either
590 in the system-wide directory, in which case it will affect all users, or
591 in your local directory for your own use.
594 \begin_layout Standard
595 To make things clearer, let's provide a few examples:
598 \begin_layout Itemize
599 The preferences set in the
604 ools\SpecialChar \menuseparator
611 dialog are saved to a file
622 \begin_layout Itemize
623 When you reconfigure using
628 ools\SpecialChar \menuseparator
639 and the resulting files are written in your local configuration directory
640 (see section\InsetSpace ~
642 \begin_inset LatexCommand \ref{sec:autodetected}
646 to have a list of the
650 settings affected by this section).
651 This means that any additional text class file that you might have added
656 will be added to the list of classes in the
661 ayout\SpecialChar \menuseparator
671 \begin_layout Itemize
672 Similarly, if you have installed some LaTeX document classes in your home
673 directory, that LaTeX can find with your
677 path, they will show up in your list of text classes.
681 \begin_layout Standard
682 as long as LyX or yourself have a
686 file for it, of course.
694 \begin_layout Itemize
695 If you get some updated documentation from LyX ftp site and cannot install
696 it because you do not have sysadmin rights on your system, you can just
711 \begin_layout Section
712 Running LyX with multiple configurations
715 \begin_layout Standard
716 The configuration freedom of the local configuration directory may not suffice
717 if you want to have more than one configuration at your disposal.
718 For example, you may want to be use different key bindings or printer settings
720 You can achieve this by having several such directories.
721 You then specify which directory to use at run-time.
724 \begin_layout Standard
725 Invoking LyX with the command line switch
732 instructs the program to read the configuration from that directory, and
733 not from the default directory (you can determine the default directory
734 by running LyX without this switch as described above).
735 If this directory does not exist, LyX offers to create it for you, just
736 like it does for the default directory on the first time you run the program.
737 You can modify the configuration options in this additional
741 exactly as you would for the default directory.
742 These directories are completely independent (but read on).
743 Note that setting the environment variable
747 to some value has exactly the same effect
752 \begin_layout Standard
753 Having several configurations also requires more maintenance: if you want
754 to add a new layout to
758 which you want available from all your configurations, you must add it
759 to each directory separately.
760 You can avoid this with the following trick: after LyX creates the additional
761 directory, most of the subdirectories (see above) are empty.
762 If you want the new configuration to mirror an existing one, replace the
763 empty subdirectory with a symbolic link to the matching subdirectory in
764 the existing configuration.
771 subirectory, however, since it contains a file written by the configuration
772 script (also accessible through
777 ools\SpecialChar \menuseparator
783 \begin_inset LatexCommand \ref{sec:autodetected}
789 which is configuration-specific.
792 \begin_layout Chapter
803 \begin_layout Section
804 Using the dialog for the first time
807 \begin_layout Standard
812 file will contain only changes that you have made to the default behaviour,
813 some of which is hard-coded into LyX and some of which is contained in
816 LyXDir/lyxrc.defaults
819 Note that in both files lines beginning with a
820 \begin_inset Quotes eld
828 \begin_inset Quotes erd
831 are just comments and not interpreted.
832 However, only system administrators should edit
843 ools\SpecialChar \menuseparator
850 dialog to create and modify their own
857 \begin_layout Standard
863 ools\SpecialChar \menuseparator
870 dialog will be largely self-explanatory.
871 Almost all the commands have an associated comment, so you shouldn't have
872 too much trouble modifying it to taste.
873 Before we highlight a few of the more important commands below, however,
878 ing some of your changes (e.g., screen fonts) will have an instant effect.
880 changing the bind file) will not.
881 If nothing appears to have changed, just
885 the changes and restart LyX.
888 \begin_layout Section
892 \begin_layout Standard
893 The font used to display your documents on the LyX screen is very important,
894 since you'll be reading all your documents with this font.
895 Therefore it is important that the font is as readable and good-looking
897 The LyX team tried to provide the best possible default font for you, but
898 since practically all X11 systems are different, it's likely that the default
899 fonts will be sub-optimal on your system.
900 Fortunately, you can do something about this.
901 Before we explain how to do this, you should learn a bit more about fonts
902 so that you are better prepared for choosing your fonts, because it is
903 a trade-off that is specific to your preferences and the capabilities of
907 \begin_layout Standard
908 Notice that this section only deals with the fonts on the
912 inside the LyX window.
913 The fonts that appear on the
921 are independent from these fonts, and are determined by the document class.
926 to learn how to change the font of the printed version of your document.
929 \begin_layout Standard
930 Basically, screen fonts come in two different kinds: scalable outline fonts
931 and non-scalable bitmap fonts.
932 This distinction seems a bit arbitrary, since non-scalable fonts are actually
933 scalable in most modern font renderers.
934 The difference lies in the
938 of the scaling, and the
943 The most important decision is thus whether you should use non-scalable
944 bitmap fonts or scalable outline fonts.
947 \begin_layout Standard
948 The scalable fonts are built from
952 of the single glyphs (i.e.
953 characters) in the font.
954 This means that each glyph is defined using mathematical curves that are
955 well suited for scaling to any requested size.
956 This mathematical definition is interpreted by the font renderer and turned
957 into a small picture composed of pixels according to which size and glyph,
958 the programmer requests.
959 This means that scalable fonts will look pretty good in all sizes.
960 Well, almost all sizes.
961 Since scalable fonts are defined in an abstract way, it can be hard to
962 provide a good rendering at small sizes, where each pixel has to be very
963 carefully computed to provide a good image.
964 Technically it is possible to do this from the mathematical definition,
965 but in order to keep the rendering reasonably fast, tradeoffs have to be
966 made, and the result is that scalable fonts can be difficult to read at
970 \begin_layout Standard
971 Bitmap fonts on the other hand, are defined by bitmap graphics from the
972 start, so they will look good at all the sizes they are meant for.
973 However, they don't scale well, because in order to scale a glyph, each
974 pixel is enlarged into several pixels.
975 It is the same effect that happens if you try to enlarge a picture in
979 or any other picture manipulation program.
980 In order to relieve this effect, bitmap fonts are typically provided in
981 several fixed sizes typically from around 8 pixels high up to 34 pixels
982 or so high in steps according to what is believed to be useful.
983 The advantage of bitmap fonts is that no complicated computations are necessary
984 to display each glyph, so bitmap fonts are thus faster displayed than scalable
986 The disadvantage is that sizes that don't exists as fixed versions have
987 to be scaled by doubling pixels, and thus look bad.
990 \begin_layout Standard
991 The net result of all this, is that bitmap fonts are generally best for
992 the small sizes, where they are available, while scalable fonts are generally
993 best for large sizes.
994 The logical conclusion would thus be to use bitmap fonts for the small
995 sizes, and scalable fonts for the large sizes.
996 Unfortunately, this is not a good idea, since bitmap fonts and scalable
997 fonts are not designed to be used together, so the overall look of such
998 a scheme would be bad.
999 The best you can do is thus to try both schemes and decide for yourself
1003 \begin_layout Standard
1004 By default, LyX uses non-scalable bitmap fonts (when using the XForms frontend).
1009 is used, for sans serif fonts,
1017 is used as the monospaced/typewriter font.
1020 \begin_layout Standard
1021 In the following, we will describe what to do if the text does not look
1023 We'll start with the most important parameters: DPI and font zoom.
1026 \begin_layout Subsection
1027 DPI setting and Font Zoom
1030 \begin_layout Standard
1031 LyX automatically tries to scale the fonts to look as close as the paper
1032 output size as possible, except for the so-called font zoom factor.
1035 \begin_layout Standard
1036 In order for this to work on all systems, it relies on the screen DPI (dots
1037 per inch) setting to be correct.
1038 The DPI setting for your system is autodetected by LyX using the information
1039 the X server can provide.
1040 You can check what LyX autodetects the DPI setting to, by running LyX as
1048 \begin_layout Standard
1049 On many systems, X is not set up correctly, so you should check that it
1052 \begin_inset Quotes eld
1060 \begin_inset Quotes erd
1063 and write down what the DPI is for the resolution you use (this will be
1064 close to the value LyX detects).
1065 It is the number mentioned as
1066 \begin_inset Quotes eld
1070 \begin_inset Quotes erd
1074 Also write down the number of pixels you have in the width (the first number
1076 \begin_inset Quotes eld
1080 \begin_inset Quotes erd
1086 \begin_layout Standard
1087 Then get the good old ruler out of the closet, and measure the width of
1088 the visible screen-image on your monitor.
1089 Convert this measurement to inches if you used a centimeter ruler by dividing
1091 Now you can determine the correct DPI setting for your screen by dividing
1092 the number of pixels in the width by the width of the screen-image on the
1094 If this number is more than, say, 5 DPI from the detected value, you should
1095 either fix the X setup, or at least tell LyX that the DPI is different
1096 than the detected value.
1099 \begin_layout Standard
1100 If you can't fix the X setup (which of course is best since other programs
1101 than LyX will benefit from this as well), you can tell LyX the correct
1109 \begin_layout Standard
1110 If the text is too small or too big for your taste, you should fiddle with
1111 the font zoom setting.
1112 This setting is used to scale the point size of the text.
1113 If your DPI setting is correct, and the font zoom setting is set to 100,
1114 this means that LyX will try to display the text exactly the same size
1115 as it will appear on the paper-output.
1116 If you set the zoom factor to 200, the text will try to be 2 times as big
1118 Of course, this will only happen if LyX can find a font that has the appropriat
1119 e size, which you can't count on.
1120 Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
1124 \begin_layout Standard
1125 The default font zoom setting is 150, since a monitor is typically wider
1126 than a piece of paper, but you should try to fiddle with it through the
1140 dialog to find a size that you like.
1141 When you've found a setting that seems to work nicely for you (tip: use
1149 button to keep the dialog open while you experiment), you can make this
1150 setting the default by using the
1160 \begin_layout Standard
1161 While it is often possible to find a suitable size for the text on the screen,
1162 this doesn't necessarily mean that the fonts are the best ones available
1164 In order to help you get the most out of your system, you can use the font
1165 definition commands to fine-tune the look of the text in greater detail
1169 \begin_layout Subsection
1170 Font definition commands
1173 \begin_layout Standard
1174 As mentioned, LyX uses non-scalable bitmap fonts by default with the XForms
1180 is used, for sans serif fonts,
1188 is used as the monospaced/typewriter font.
1191 \begin_layout Standard
1192 You can change all of these from within the
1197 The number of fonts that are available on different systems vary, but the
1202 should be available everywhere.
1203 Use that program to find candidate fonts.
1204 When you've found a font that you like, try to insert the first two elements
1206 \begin_inset Quotes eld
1210 \begin_inset Quotes erd
1214 \begin_inset Quotes eld
1218 \begin_inset Quotes erd
1225 ) in the appropriate field in the
1237 LyX will then reformat your document using the new font, and if you like
1238 the font, you should
1246 One place to start for a new font is to see if the scalable font
1247 \begin_inset Quotes eld
1251 \begin_inset Quotes erd
1255 Tip: You can see whether a font is a bitmap font or a scalable font by
1257 \begin_inset Quotes eld
1261 \begin_inset Quotes erd
1265 \begin_inset Quotes eld
1269 \begin_inset Quotes erd
1277 If the value 0 is available, the font is scalable.
1278 If the value 0 isn't available, the font is a bitmap font.
1281 \begin_layout Standard
1282 Before you go about scrapping a bitmap font because the larger sizes look
1284 \begin_inset Quotes eld
1288 \begin_inset Quotes erd
1291 , you should toggle the
1292 \begin_inset Quotes eld
1296 \begin_inset Quotes erd
1300 This is only useful if you use bitmap fonts, because only these don't scale
1302 If you define this flag, LyX will only use the fixed font sizes that are
1303 available, and this guarantees that all bitmap fonts look well.
1304 (You can see which individual font sizes are available with the
1313 .) However, the prize is that the difference between the size of the fonts
1314 on screen and the size of fonts on paper will be larger because LyX will
1315 have to be satisfied with the closest available size, and not try to scale
1317 Also, you can risk that some logically different sizes, such as
1325 , will be mapped to the same screen font, making it hard for you to see
1326 the difference on screen.
1327 We've decided not to use scalable fonts by default because of these artifacts,
1328 but since LyX is a WYSIWYM system, many people like to use the flag anyways,
1329 well-knowing that the font size on the screen can't be trusted.
1330 But remember that this flag only makes a difference when you use bitmap
1332 Scalable fonts won't be affected for reasons you should understand by now.
1335 \begin_layout Standard
1336 One final note regarding this flag: you should know that there is nothing
1337 wrong with using bitmap and scalable fonts at the same time for different
1339 For instance, it's common to use the scalable
1340 \begin_inset Quotes eld
1344 \begin_inset Quotes erd
1347 for the serif text together with a bitmap version of
1348 \begin_inset Quotes eld
1352 \begin_inset Quotes erd
1356 And you can safely select the
1357 \begin_inset Quotes eld
1361 \begin_inset Quotes erd
1364 button without worries: It will only apply to the Helvetica font.
1367 \begin_layout Standard
1368 Sometimes the artifacts introduced by use of the flag can be relieved by
1369 using the fine-detail screen font sizes which defines which point sizes
1370 the different logical font sizes correspond to.
1375 to see exactly what concrete fonts the logical sizes map to, and try adjusting
1376 the corresponding entries in the
1380 dialog until you've managed to hit the nail and get the fonts you want.
1381 This can be hard to do, because LyX uses the DPI setting and the font zoom
1382 settings to calculate which exact screen font size to ask the X server
1383 for, thus obfuscating the mapping.
1384 If you can't make it by trial-and-error, you can make the process more
1385 transparent if you set both the DPI setting and font zoom settings to 100---eve
1386 n when this is known to be wrong.
1387 This will of course make your scalable fonts look weird, so use with care.
1390 \begin_layout Subsection
1394 \begin_layout Standard
1395 By default, LyX will use fonts meant to write Western European text, including
1396 all kinds of English.
1397 This is defined through the so-called
1406 If you want to use LyX to write for instance Eastern European text, Cyrillic
1407 or any other language not covered by the ISO-8859-1 font encoding, you
1408 can define a different one with the encoding setting.
1409 This requires you to have special fonts installed.
1414 to see whether this is the case: check the
1415 \begin_inset Quotes eld
1419 \begin_inset Quotes erd
1423 \begin_inset Quotes eld
1427 \begin_inset Quotes erd
1430 fields for ISO-8859-X values different from ISO-8859-1, and search for
1431 one that contains the national characters of your language.
1432 If you find any, enter this encoding in the dialog.
1433 If not, go searching the Web for appropriate fonts.
1434 For the Qt frontend, it's recommended you use an iso646 font set.
1437 \begin_layout Standard
1438 When you've set LyX up to use a different font encoding, you should also
1439 consider changing the font used by dialog windows in LyX.
1446 dialog will not be understandable unless you tell LyX to use a different
1448 By default the menu font is set to
1450 -*-helvetica-medium-r
1452 , but often Helvetica is not available in the font encoding you need, so
1453 the dialog allows this to be changed.
1456 \begin_layout Standard
1457 As you can see, there are quite a few options that can be used to fine tune
1458 the look of your fonts.
1459 This should not scare you from fiddling with the settings, because after
1460 all, you will hopefully be using LyX for many hours in the future.
1461 And contrary to real WYSIWYG word processors where you are tied to using
1462 fonts that have to look good both on paper and on screen, LyX gives you
1463 the possibility of using fonts that are designed to look good on the screen
1464 while using a different set of fonts to look good on paper.
1467 \begin_layout Section
1469 \begin_inset LatexCommand \label{sec:bindings}
1476 \begin_layout Standard
1477 Bindings are used to, well, bind a function to a key.
1478 Several prepackaged binding files are available: a CUA set of bindings
1479 (familiar as the typical set of PC and CDE set of keyboard shortcuts),
1480 an Emacs set of bindings, for those of us who follow the One True Way and
1481 refuse to lower our standards,
1485 \begin_layout Standard
1486 I'm kidding here, of course!
1491 as well as specialty bindings (broadway and hollywood) and other languages
1492 (French, German, etc.).
1495 \begin_layout Standard
1496 If, however, you'd like to customise the keybindings to your own exacting
1497 tastes, then copy the best-fit file in
1506 Don't forget to load this new file into LyX using the
1511 (For the moment you'll have to restart LyX for these changes to take effect.)
1514 \begin_layout Standard
1515 LyX supports internationalization of the user interface (see Chapter\InsetSpace ~
1517 \begin_inset LatexCommand \ref{chap:i18n}
1526 is set, with the environment variable
1530 , LyX will try to use bindfiles by prepending
1535 For example, you can put a translated copy of some standard bind file in
1540 directory, and LyX will use it automatically.
1543 \begin_layout Standard
1548 files is straightforward:
1551 \begin_layout Standard
1556 bind <key combination> <lyx-function>
1559 \begin_layout Standard
1560 Both key combination and lyx-function (including any arguments) must be
1561 enclosed in "double quotes".
1562 All the LyX functions are listed in the
1569 \begin_layout Section
1571 \begin_inset LatexCommand \label{sec:ui}
1578 \begin_layout Standard
1579 The appearance of both the menu and toolbar may both be changed using the
1594 For the moment, only one file exists,
1598 , but feel free to experiment.
1599 Just copy the file to the
1603 directory and play! Note that, for the moment, you'll have to restart LyX
1604 for these changes to take effect.
1607 \begin_layout Standard
1612 files is straightforward: have a look at
1625 entries must be ended with an explicit
1650 s and in the case of the
1651 \begin_inset Quotes eld
1655 \begin_inset Quotes erd
1663 One small word of warning.
1668 s may be inserted in a
1676 , but they are defined as
1687 \begin_layout Section
1688 Converters, Formats, Viewers, Editors and Copiers
1691 \begin_layout Standard
1692 LyX has a powerful mechanism to convert to and from any file format using
1694 Define a pair of formats, e.g.
1704 Now define a converter from one format to the other.
1705 In our example, two possible mechanisms exist.
1708 \begin_layout Enumerate
1709 A direct conversion, from LaTeX to PDF using pdflatex
1712 \begin_layout Enumerate
1713 A more convoluted route using intermediate formats and converters: LaTeX
1714 to DVI (using latex) to PostScript® (using dvips) to PDF (using ps2pdf).
1717 \begin_layout Standard
1718 LyX will always choose the shortest possible route, so you must specify
1719 two different Format names for
1723 files to be able to use either.
1724 Both are included by default in the
1729 Have a look and then invent your own!
1732 \begin_layout Standard
1733 Moreover, each Format can have a Viewer associated with it.
1734 For example, you might want to use
1738 to examine PostScript® files, or
1742 to preview the LaTeX output.
1743 You can alter the viewer to use (and what options to pass to it) via the
1749 ools\SpecialChar \menuseparator
1754 references:Conversion
1757 For example, to change the
1765 format in the dialog, change the viewer to be
1769 (or whatever), and hit
1779 \begin_layout Standard
1780 If the operating system has a default viewer associated to a format it is
1781 used instead of the one you can define via the
1786 ools\SpecialChar \menuseparator
1791 references:Conversion
1794 This does currently only work in the Windows® port of LyX, but it is planned
1795 to implement this feature on all other ports that can support it, too.
1798 \begin_layout Standard
1799 Editors are like viewers: Each Format can have an Editor associated to it,
1800 and they can be altered via the
1805 ools\SpecialChar \menuseparator
1810 references:Conversion
1813 LyX uses them whenever an included file
1817 \begin_layout Standard
1818 This can be an included
1822 file, a verbatim included text file, external material or an included graphics
1831 \begin_layout Standard
1832 Finally, each Format can have a Copier associated to it.
1833 Since all conversions from one Format to another take place in a temporary
1834 directory, it is sometimes necessary to modify a file before copying it
1835 to the temporary directory
1839 \begin_layout Standard
1840 For example, the file may reference other files with relative filenames,
1841 which will become invalid in the temporary directory
1847 This is done by the Copier: It copies a file to (or from) the temporary
1848 directory and may modify it in the process.
1851 \begin_layout Section
1852 BibTeX and makeindex
1855 \begin_layout Standard
1856 Both the bibliography generating command (default
1860 ) and the index generating command (default
1873 As an alternative for
1885 \begin_layout Standard
1886 The command to enter is
1892 makeindex.sh -m $$lang
1895 \begin_layout Standard
1896 where the placeholder
1900 will be replaced by the chosen document (babel) language.
1904 \begin_layout Standard
1905 have installed the packages
1922 at a shell prompt for a help page.
1925 \begin_layout Section
1926 ASCII export options
1929 \begin_layout Standard
1930 \begin_inset VSpace bigskip
1936 \begin_layout Standard
1938 There are a couple of commands that can be used to
1939 \begin_inset Quotes eld
1943 \begin_inset Quotes erd
1946 exported ASCII text files.
1947 Note that LyX automatically detects and uses the best settings for your
1948 system at installation time, but you can modify them if you disagree with
1952 \begin_layout Description
1961 This option defines the command used to produce better ASCII tables with
1966 UNIX-commands (refer to their manpages for more information about them).
1967 Setting this as empty tells LyX to use the internal (inferior) formatter.
1970 \begin_layout Description
1980 With this command you can set the default line length of the ASCII output
1982 Setting it to 0 means endless lines.
1985 \begin_layout Section
1989 \begin_layout Standard
1990 There are a bunch of configuration options that are used for interaction
1991 with the external print command from LyX.
1992 Normally the defaults are fine: if, however, your print command takes different
1993 option names, you can modify them here.
1996 \begin_layout Subsection
2000 \begin_layout Standard
2001 You can change the colors used by LyX on-screen using the new
2006 Alternatively, if you're feeling particularly perverse you could use the
2011 bindable function (see the
2016 Input would have the format:
2019 \begin_layout Standard
2022 set-color LyXName X11Color
2025 \begin_layout Standard
2026 Here is a (partial) list of the functions and default colors:
2029 \begin_layout Standard
2031 \begin_inset Tabular
2032 <lyxtabular version="3" rows="10" columns="3">
2034 <column alignment="left" valignment="top" leftline="true" width="0pt">
2035 <column alignment="left" valignment="top" leftline="true" width="0pt">
2036 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2037 <row topline="true" bottomline="true">
2038 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2041 \begin_layout Standard
2056 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2059 \begin_layout Standard
2074 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2077 \begin_layout Standard
2093 <row topline="true">
2094 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2097 \begin_layout Standard
2112 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2115 \begin_layout Standard
2130 <cell alignment="left" 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
2349 fraction Lines, brackets, etc.
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
2401 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2404 \begin_layout Standard
2420 <row topline="true">
2421 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2424 \begin_layout Standard
2439 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2442 \begin_layout Standard
2448 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2451 \begin_layout Standard
2467 <row topline="true">
2468 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2471 \begin_layout Standard
2486 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2489 \begin_layout Standard
2495 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2498 \begin_layout Standard
2514 <row topline="true" bottomline="true">
2515 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2518 \begin_layout Standard
2533 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2536 \begin_layout Standard
2546 selection background
2551 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2554 \begin_layout Standard
2577 \begin_layout Section
2578 The autodetected settings
2581 \begin_layout Standard
2582 \begin_inset LatexCommand \label{sec:autodetected}
2586 There are several items that are detected for you when you run
2593 \SpecialChar \menuseparator
2599 In this section, we list those which pertain to the user preferences.
2602 \begin_layout Description
2623 , depending on what is available.
2626 \begin_layout Description
2639 plus a bunch of options.
2642 \begin_layout Description
2655 on systems (so-called System V) who have this command, and
2659 otherwise (BSD systems).
2662 \begin_layout Description
2668 print_spool_printerprefix
2679 , depending on whether
2690 \begin_layout Description
2707 fonts are found and LaTeX has support for these fonts built-in.
2708 You can set it manually if you only have the so-called
2715 \begin_layout Section
2719 \begin_layout Standard
2720 There are many other configuration options that can be used to customize
2722 We still need to document them here, but again, most should be fairly obvious.
2723 Please ask on the mailing lists if you need some more information; it may
2724 even prompt us to expand this section.
2727 \begin_layout Chapter
2728 Internationalizing LyX
2729 \begin_inset LatexCommand \label{chap:i18n}
2736 \begin_layout Standard
2737 LyX supports using a translated interface.
2738 Last time we checked, LyX provided text in 14 languages together with the
2739 default English text.
2740 The language of choice is called your
2745 (For further reading on locale settings, see also the documentation for
2746 locale that comes with your operating system.
2747 For Linux, the manual page for locale(5) could be a good place to start).
2750 \begin_layout Standard
2751 Notice that these translations will work, but do contain a few flaws.
2752 In particular, all dialogs have been designed with the English text in
2753 mind, which means that some of the translated text will be too large to
2754 fit within the space allocated.
2755 This is only a display problem and will not cause any harm.
2756 Also, you will find that some of the translations do not define short-cut
2757 keys for everything.
2758 Sometimes, there are simply not enough free letters to do it.
2759 Other times, the translator just hasn't got around to doing it yet.
2760 Our localization team -- which you may wish to join -- will try to fix
2761 these shortcomings in future versions of LyX.
2764 \begin_layout Section
2765 Selecting an alternative language for the user interface
2768 \begin_layout Standard
2769 This feature is disabled by default, meaning that system default language
2771 To enable an alternative language, you have to set an appropriate environment
2779 for csh class shells
2794 with the two letter code (or four letter code, like
2798 for British English) for the language you want.
2804 Besides the user interface texts being translated, also the appropriate
2805 manuals will be presented under the Help menu -- if available.
2808 \begin_layout Standard
2809 On some systems, you may have to redefine
2821 , to override the system settings; their preference is in this order
2825 \begin_layout Standard
2826 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
2832 , which corresponds to the way GNU
2837 Consult your system documentation.
2838 Normally, you'll want to put the appropriate line in a shell script run
2839 on start-up, so that the translation is on by default.
2840 Remember that this affects
2844 localized packages, not only LyX!
2847 \begin_layout Standard
2848 If LyX is configured and compiled with
2849 \begin_inset Quotes eld
2857 \begin_inset Quotes erd
2860 , this mechanism will not work.
2863 \begin_layout Section
2867 \begin_layout Subsection
2868 Translating the graphical user interface (text messages).
2871 \begin_layout Standard
2876 library to handle the internationalization of the interface.
2877 To have LyX speak your favorite language in all menus and dialogs, you
2882 -file for that language.
2883 When this is available, you'll have to generate a mo-file from it and install
2889 The process of doing all of this is explained in the documentation for
2894 , but in short, this is what you do (
2898 denotes the language code):
2901 \begin_layout Standard
2905 \begin_layout Standard
2917 \begin_layout Itemize
2920 LYX-SOURCE-DIR/po/lyx.pot
2933 doesn't exist, it can be remade with
2937 in that directory, or you can use an existing po-file for some other language
2941 \begin_layout Itemize
2948 \begin_layout Standard
2949 We recommend that you use Emacs to do this, since the
2953 distribution includes a nice mode that supports you in doing this.
2961 For some menu- and widget-labels, there are also shortcut keys that should
2963 Those keys are marked after a `|', and should be translated according to
2964 the words and phrases of the
2969 There is a tool named
2973 written in Prolog in
2975 LYX-SOURCE-DIR/development/tools/
2977 that may be useful to help determine short-cut keys.
2978 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
2979 characters as shortcut keys.
2980 You should also fill also out the information at the beginning of the new
2985 -file with your email-address, etc., so people know where to reach you with
2986 suggestions and entertaining flames.
2989 \begin_layout Itemize
2998 This can be done with
3017 \begin_layout Itemize
3022 -file to your locale-tree, at the correct directory for application messages
3027 , and under the name
3036 /usr/local/share/locale/
3047 \begin_layout Standard
3051 \begin_layout Standard
3063 \begin_layout Standard
3064 Adding a new po-file to the
3068 of LyX involves altering the configure scripts and more, but the way
3072 works, you don't actually need the source-code of LyX to translate it---having
3088 \begin_layout Standard
3089 If you've written a translation file for a language that LyX does not currently
3090 support, feel free to submit it for inclusion by sending a patch.
3091 In this case, we recommend that you read the
3099 directory for more instructions.
3102 \begin_layout Subsubsection
3106 \begin_layout Standard
3107 Sometimes it turns out that one english message needs to be translated into
3108 different messages in the target language.
3109 One example is the message
3113 which has the german translation
3130 does not handle such ambigous translations.
3131 Therefore you have to add some context information to the message: Instead
3138 To[[as in 'From format x to format y']]
3142 To[[as in 'From page x to page y']].
3145 Now the two occurences of
3153 and can be translated correctly to
3168 \begin_layout Standard
3169 Of course the context information needs to be stripped off the original
3170 message when no translation is used.
3171 Therefore you have to put it in double square brackets at the end of the
3172 message (see the example above).
3173 The translation mechanism of LyX ensures that everything in double square
3174 brackets at the end of messages is removed before displaying the message.
3177 \begin_layout Subsection
3178 Translating the documentation.
3181 \begin_layout Standard
3182 The online documentation (in the
3189 -menu) can (and should!) be translated.
3190 If there are translated versions of the documentation available
3194 \begin_layout Standard
3195 As of February 2003, almost all of the docs have been translated into German
3201 has been translated into at least 12 other languages, with other translations
3203 The library of translated documents is growing rapidly.
3208 , and the locale is set accordingly, these will be used automagically by
3210 LyX looks for translated versions as
3224 denotes the language as set by the environmental variable
3229 If there are none, the default English versions will be displayed.
3230 Note that the translated versions must have the same filenames (
3234 above) as the original.
3235 If you feel up to translating the documentation (an excellent way to proof-read
3236 the original documentation BTW!), there are a few things you should do
3240 \begin_layout Itemize
3245 , the guide to writing LyX documentation.
3246 Pay special attention to the translator's section.
3249 \begin_layout Itemize
3250 Check out the documentation translation web page at
3251 \begin_inset LatexCommand \url[The LyX Developer's Web Site]{http://www.devel.lyx.org}
3256 That way, you can find out which (if any) documents have already been translate
3257 d into your language.
3258 You can also find out who (if anyone) is organizing the effort to translate
3259 the documentation into your language.
3260 If no one is organizing the effort, please let us know that you're interested.
3263 \begin_layout Standard
3264 Once you get to actually translating, here's a few hints for you that may
3268 \begin_layout Itemize
3269 Join the documentation team! There is information on how to do that in
3278 elp\SpecialChar \menuseparator
3285 ), which by the way is the first document you should translate.
3288 \begin_layout Itemize
3289 Learn the typographic conventions for the language you are translating to.
3290 Typography is an ancient art and over the centuries, a great variety of
3291 conventions have developed throughout different parts of the world.
3292 Also study the professional terminology amongst typographers in your country.
3293 Inventing your own terminology will only confuse the users.
3296 (Warning! Typography is addictive!)
3299 \begin_layout Itemize
3300 Make a copy of the document.
3301 This will be your working copy.
3302 You can use this as your personal translated help-file by placing it in
3310 \begin_layout Itemize
3311 Sometimes the original document (from the LyX-team) will be updated.
3312 Use the ViewCVS tool available at
3313 \begin_inset LatexCommand \htmlurl{http://www.lyx.org/viewcvs.cgi/lyxdoc/}
3317 to see what has been changed
3321 \begin_layout Standard
3322 Alternatively, you can keep a copy of the latest version of the English
3323 document which you've translated.
3329 That way you can easily see which parts of the translated document need
3333 \begin_layout Itemize
3334 If you ever find an error in the original document, fix it and notify the
3335 rest of the documentation team of the changes! (You didn't forget to join
3336 the documentation team did you?)
3339 \begin_layout Section
3340 International Keyboard Support
3343 \begin_layout Standard
3346 [Editor's Note: The following section is by
3351 It needs to be fixed to conform to the new Documentation Style sheet and
3352 to make use of the new v1.0 features.
3353 The whole thing also needs to be merged with the section following it.-jw]
3356 \begin_layout Subsection
3357 Defining Own Keymaps: Keymap File Format
3360 \begin_layout Standard
3361 Let's look at a keyboard definition file a little closer.
3362 It is a plain ASCII file defining
3365 \begin_layout Itemize
3366 key-to-key or key-to-string translations
3369 \begin_layout Itemize
3373 \begin_layout Itemize
3374 dead keys exceptions
3377 \begin_layout Standard
3378 To define key-to-key or key-to-string translation, use this command:
3381 \begin_layout Quotation
3397 \begin_layout Standard
3402 is the key to be translated and
3406 is the string to be inserted into the document.
3407 To define dead keys, use:
3410 \begin_layout Quotation
3426 \begin_layout Standard
3436 The following dead keys are supported (shortcut name is in parentheses):
3439 \begin_layout Quotation
3447 \begin_layout Quotation
3453 \begin_layout Quotation
3459 \begin_layout Quotation
3466 \begin_layout Quotation
3472 \begin_layout Quotation
3479 \begin_layout Standard
3491 \begin_layout Quotation
3497 \begin_layout Quotation
3504 \begin_layout Standard
3516 \begin_layout Quotation
3522 \begin_layout Quotation
3530 \begin_layout Quotation
3537 \begin_layout Standard
3549 \begin_layout Quotation
3557 \begin_layout Standard
3569 \begin_layout Quotation
3578 \begin_layout Quotation
3579 hungarian umlaut (hug)
3586 \begin_layout Quotation
3592 \begin_layout Quotation
3600 \begin_layout Standard
3612 \begin_layout Standard
3613 Since in many international keyboards there are exceptions to what some
3614 dead keys should do, you can define them using
3617 \begin_layout Quotation
3626 deadkey key outstring
3629 \begin_layout Standard
3630 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3634 \begin_layout Quotation
3648 \begin_layout Standard
3649 to make it work correctly.
3650 Also, you have to define as exceptions dead keys over i and j, to remove
3651 the dot from them before inserting an accent mark.
3652 I will change this when the time comes, but so far I haven't had time.
3655 \begin_layout Standard
3656 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3662 have different meaning.
3667 marks comments, quotes start and end LaTeX-style commands.
3668 To enter quote, you'll need to use
3687 \begin_layout Standard
3688 If you make a keyboard description file that works for your language, please
3689 mail it to me, so I can include it in the next keymap distribution.
3692 \begin_layout Standard
3693 More keywords will be supported in keymap configuration file in future,
3697 \begin_layout Itemize
3715 \begin_layout Itemize
3730 an external keymap translation program
3733 \begin_layout Standard
3734 Also, it should look into
3738 file for defaults, too (for example, a
3744 option to include default keyboard).
3747 \begin_layout Section
3748 International Keymap Stuff
3749 \begin_inset LatexCommand \label{sec:keymap}
3756 \begin_layout Standard
3757 The next two sections describe the
3769 file syntax in detail.
3770 These sections should help you design your own key map if the ones provided
3771 do not meet your needs.
3774 \begin_layout Subsection
3778 \begin_layout Standard
3787 file maps keystrokes to characters or strings.
3788 As the name suggests it sets a keyboard mapping.
3813 are described in this section.
3817 \labelwidthstring 00.00.0000
3824 Map a character to a string
3827 \begin_layout LyX-Code
3840 \begin_layout Standard
3858 the double-quote (")
3866 must be escaped with a preceding backslash (
3877 \begin_layout Standard
3884 statement to cause the symbol
3890 to be output for the keystroke
3899 \begin_layout LyX-Code
3906 \labelwidthstring 00.00.0000
3913 Specify an accent character
3916 \begin_layout LyX-Code
3926 \begin_layout Standard
3927 This will make the cha
3942 This is the dead key
3946 \begin_layout Standard
3953 refers to a key that does not produce a character by itself, but when followed
3954 with another key, produces the desired accent character.
3955 For example, a German characte
3957 r with an umlaut like
3961 can be produced in this manner.
3970 \begin_layout Standard
3977 and then another key not in
3985 followed by the other, unallowed key, as output.
3994 cancels a dead key, so if
4005 , the cursor will not go one position backwards but will instead cancel
4012 might have had on the next keystroke.
4016 \begin_layout Standard
4017 The following example specifies that the character ' is to be an acute accent,
4018 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4021 \begin_layout LyX-Code
4024 kmod ' acute aeiouAEIOU
4028 \labelwidthstring 00.00.0000
4033 Specify an exception to the accent character
4036 \begin_layout LyX-Code
4047 \begin_layout Standard
4048 This defines an exce
4067 have been assigned a keystroke with a previous
4081 must not belong in the
4101 If such a declaration does not exist in
4138 \begin_layout Standard
4139 The following command produces causes äi to be produced when you enter acute-i
4143 \begin_layout LyX-Code
4158 \labelwidthstring 00.00.0000
4163 Combine two accent characters
4166 \begin_layout LyX-Code
4172 accent1 accent2 allowed
4175 \begin_layout Standard
4176 This one is getting pretty esoteric.
4177 It allows you to combine the effect
4222 \begin_layout Standard
4223 Consider this example from the
4232 \begin_layout LyX-Code
4235 kmod ; acute aeioyvhAEIOYVH
4239 kcomb acute umlaut iyIY
4242 \begin_layout Standard
4243 This allows you to press
4249 and get the effect of
4266 in this case cancels the last dead key, so if you press
4283 \begin_layout Subsection
4287 \begin_layout Standard
4296 mapping is performed, a
4303 file maps the strings that the symbols generate to characters in the current
4305 The LyX distribution currently includes at least the
4320 \begin_layout Standard
4329 file is a sequence of declarations of the form
4332 \begin_layout LyX-Code
4343 \begin_layout Standard
4344 For example, in order to map
4352 to the corresponding character in the iso-8859-1 set (233), the following
4356 \begin_layout LyX-Code
4364 \begin_layout Standard
4384 the same character can apply to more than one string.
4397 \begin_layout LyX-Code
4423 \begin_layout Standard
4424 If LyX cannot find a mapping for the string produced by the keystroke or
4425 a deadkey sequence, it will check if it looks like an accented char and
4426 try to draw an accent over the character on screen.
4429 \begin_layout Subsection
4433 \begin_layout Standard
4434 There is a second way to add support for international characters through
4435 so-called dead-keys.
4436 A dead-key works in combination with a letter to produce an accented character.
4437 Here, we'll explain how to create a really simple dead-key to illustrate
4441 \begin_layout Standard
4442 Suppose you happen to need the circumflex character,
4443 \begin_inset Quotes eld
4448 \begin_inset Quotes erd
4456 -key [a.k.a.\InsetSpace ~
4461 ] to the LyX command
4470 Now, whenever you type the
4474 -key followed by a letter, that letter will have a circumflex accent on
4476 For example, the sequence
4477 \begin_inset Quotes eld
4485 \begin_inset Quotes erd
4488 produces the letter:
4489 \begin_inset Quotes eld
4493 \begin_inset Quotes erd
4497 If you tried to type
4498 \begin_inset Quotes eld
4506 \begin_inset Quotes erd
4509 , however, LyX will complain with a beep, since a
4510 \begin_inset Quotes eld
4518 \begin_inset Quotes erd
4521 never takes a circumflex accent.
4526 after a dead-key produces the bare-accent.
4527 Please note this last point! If you bind a key to a dead-key, you'll need
4528 to rebind the character on that key to yet another key.
4533 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4536 \begin_layout Standard
4537 One common way to bind dead-keys is to use
4549 in combination with an accent, like
4550 \begin_inset Quotes eld
4558 \begin_inset Quotes erd
4562 \begin_inset Quotes eld
4570 \begin_inset Quotes erd
4574 \begin_inset Quotes eld
4582 \begin_inset Quotes erd
4586 Another way involves using
4594 [remember them from section?] to set up the special
4603 acts in some ways just like
4607 and permits you to bind keys to accented characters.
4608 You can also turn keys into dead-keys by binding them to something like
4613 and then binding this symbolic key to the corresponding LyX command.
4617 \begin_layout Standard
4622 : This is exactly what I do in my
4640 and a bunch of these
4641 \begin_inset Quotes eld
4649 \begin_inset Quotes erd
4652 symbolic keys bound such things as
4663 This is how I produce my accented characters.
4668 You can make just about anything into the
4676 keys, a spare function key, etc.
4677 As for the LyX commands that produce accents, check the entry for
4686 You'll find the complete list there.
4689 \begin_layout Subsection
4690 Saving your Language Configuration
4693 \begin_layout Standard
4694 \begin_inset LatexCommand \label{sec:savlang}
4698 You can edit your preferences so that your desired language environment
4699 is automatically configured when LyX starts up, via the
4704 dit\SpecialChar \menuseparator
4714 \begin_layout Chapter
4715 Installing New Document Classes, Layouts, and Templates
4716 \begin_inset LatexCommand \label{chap:textclass}
4724 \begin_layout Standard
4725 Installing New Document Classes
4733 \begin_layout Standard
4734 In this chapter, we describe the procedures for creating and installing
4735 new LyX layout and template files, as well as offer a refresher on correctly
4736 installing new LaTeX document classes.
4737 Some definitions: a document class is a LaTeX file (usually ending in
4745 ) which describes the format of a document such as an article, report, journal
4747 and all the commands needed to realize that format.
4748 A layout file is a LyX file which corresponds to a LaTeX document class
4749 and which tells LyX how to
4750 \begin_inset Quotes eld
4754 \begin_inset Quotes erd
4757 things on the screen to make the display look something like the final
4759 More precisely, a layout file describes a
4760 \begin_inset Quotes eld
4764 \begin_inset Quotes erd
4767 which is the internal construct LyX uses to render the screen display.
4769 \begin_inset Quotes eld
4773 \begin_inset Quotes erd
4777 \begin_inset Quotes eld
4781 \begin_inset Quotes erd
4784 can be used somewhat interchangeably, but it is better to refer to the
4785 file as the layout, and the thing living in LyX's memory as the text class.
4786 A template file is simply a LyX document which contains a set of predefined
4787 entries for a given document class which are generally required for that
4789 Templates are especially useful for things like journal manuscripts which
4790 are to be submitted electronically.
4793 \begin_layout Section
4794 Installing a new LaTeX package
4797 \begin_layout Standard
4798 Some installations may not include a LaTeX package that you would like to
4800 For example, you might need FoilTeX, a common (and very powerful) package
4801 for preparing slides or viewgraphs for overhead projectors.
4802 Here are the formal steps involved in getting the package up and running
4803 if you are using teTeX or some other web2c based distribution.
4807 \begin_layout Enumerate
4808 Get the package from CTAN or wherever.
4812 \begin_layout Standard
4815 Inventory of your LaTeX configuration
4817 manual for details of what CTAN is and where supported document classes
4826 \begin_layout Enumerate
4831 (this usually lives in the directory
4835 , though you can run
4840 It describes how to add a local
4844 directory; follow the instructions.
4845 You need to insert the name of your local
4858 is a logical place to install software that did not come with your distribution
4864 Usually, you will have to modify only two things:
4868 \begin_layout Enumerate
4873 to the directory you chose; e.g.
4878 TEXMFLOCAL = /usr/local/texmf
4881 \begin_layout Enumerate
4895 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
4899 \begin_layout Enumerate
4910 You must follow the directory structure of your existing
4914 directory (for example, latex packages should go under
4916 /usr/local/texmf/tex/latex/
4921 \begin_layout Enumerate
4922 Install the package.
4923 For example, you would unpack the FoilTeX tarball and create
4925 /usr/local/texmf/tex/latex/foiltex
4932 directory contains various files.
4935 \begin_layout Enumerate
4943 /usr/local/texmf/ls-R
4948 \begin_layout Enumerate
4949 From within LyX, do:
4954 ools\SpecialChar \menuseparator
4965 \begin_layout Standard
4966 Now you should see your new package---for example
4975 ayout\SpecialChar \menuseparator
4990 Note that there are simpler ways of installing packages: you can add a
4991 link to the new package directory in the system LaTeX directory (
4995 , don't forget to then run
4999 ), or sometimes simply set the
5003 environment variable to include the new package.
5004 However, the formal procedure described in
5008 is guaranteed to work, so you should follow it unless circumstances absolutely
5009 prevent it: such as, when you don't have superuser access.
5012 \begin_layout Section
5016 \begin_layout Standard
5017 This section describes how to write and install your own LyX layout files
5018 (also known as text classes) and walks through the
5022 text class format as an example.
5027 files describe what paragraph styles are available for a given document
5028 class and how LyX should display them.
5029 We try to provide a thorough description of the process here; however,
5030 there are so many different types of documents supported by LaTeX classes
5031 we can't hope to cover every different possibility or problem you might
5036 \begin_layout Standard
5037 When you plan to write a new layout, it is extremely helpful to look at
5038 the example layouts distributed with LyX.
5039 If you use a nice LaTeX document class that might be of interest for others,
5040 too, and have a nice corresponding LyX layout, feel free to contribute
5041 the stuff to us, so we may put it into the distribution.
5044 \begin_layout Standard
5045 All the tags described in this chapter are case-insensitive; this means
5058 are really the same command.
5059 The possible values are printed in brackets after the feature's name.
5060 The default value if a feature isn't specified inside a text class-description
5068 If the argument has a datatype like
5069 \begin_inset Quotes eld
5073 \begin_inset Quotes erd
5077 \begin_inset Quotes eld
5081 \begin_inset Quotes erd
5084 , the default is shown like this:
5094 \begin_layout Subsection
5095 Supporting new document classes
5098 \begin_layout Standard
5099 There are two situations you are likely to encounter when wanting to support
5100 a new LaTeX document class, involving LaTeX2e class (
5111 \begin_layout Subsection
5119 \begin_layout Standard
5120 If your new document class is provided as a style file that is used in conjuncti
5121 on with an existing, supported document class, start by copying the existing
5122 class's layout file into your local directory.
5123 For the sake of example we'll assume that the style file is called
5127 and it is meant to be used with
5131 which is a standard class.
5134 \begin_layout LyX-Code
5135 cp report.layout ~/.lyx/layouts/myclass.layout
5138 \begin_layout Standard
5143 and change the line:
5146 \begin_layout LyX-Code
5149 DeclareLaTeXClass{report}
5152 \begin_layout Standard
5156 \begin_layout LyX-Code
5159 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5162 \begin_layout Standard
5166 \begin_layout LyX-Code
5176 \begin_layout Standard
5177 near the top of the file.
5180 \begin_layout Standard
5181 Start LyX and select
5186 ools\SpecialChar \menuseparator
5194 Restart LyX and try creating a new document.
5199 " as a document class option in the
5204 ocument\SpecialChar \menuseparator
5212 It is likely that some of the sectioning commands and such will differ
5213 from how the base class
5217 \begin_layout Standard
5227 works, so you can fiddle around with the settings for the different sections
5229 See below for more discussion on this.
5232 \begin_layout Subsection
5240 \begin_layout Standard
5241 In this case, you will probably have to
5242 \begin_inset Quotes eld
5246 \begin_inset Quotes erd
5250 We strongly suggest copying an existing layout file which uses a similar
5251 LaTeX class and modifying it if at all possible.
5252 At least use an existing file as a starting point so you can find out what
5253 items you need to worry about.
5254 Again, the specifics are covered below.
5257 \begin_layout Section
5258 Declaring a new text class
5261 \begin_layout Standard
5262 When it's finally time to get your hands dirty and create or edit your own
5263 layout file, the following sections describe what you're up against.
5264 Our advice is to go slowly, save and test often, listen to soothing music,
5265 and enjoy one or two of your favorite adult beverages; more if you are
5266 getting particularly stuck.
5267 It's really not that hard, except that the multitude of options can become
5268 overwhelming if you try to do to much in one sitting.
5269 Go have another adult beverage, just for good measure.
5272 \begin_layout Standard
5276 \begin_layout Standard
5277 Lines in a layout file which begin with a
5282 There is one exception to this rule: all layouts should begin with lines
5286 \begin_layout LyX-Code
5289 #% Do not delete the line below; configure depends on this
5292 \begin_layout LyX-Code
5297 DeclareLaTeXClass{article}
5300 \begin_layout Standard
5301 The second line is used when you configure LyX.
5302 The layout file is read by the LaTeX script
5306 , in a special mode where
5311 The first line is just a LaTeX comment, and the second one contains the
5312 declaration of the text class.
5313 If these lines appear in a file named
5317 , then they define a text class of name
5321 (the name of the layout file) which uses the LaTeX document class
5325 (the default is to use the same name as the layout).
5327 \begin_inset Quotes eld
5331 \begin_inset Quotes erd
5334 that appears above is used as a description of the text class in the
5339 ocument\SpecialChar \menuseparator
5349 \begin_layout Standard
5350 Let's assume that you wrote your own text class that uses the
5354 documentclass, but where you changed the appearance of the section headings.
5355 If you put it in a file
5359 , the header of this file should be:
5362 \begin_layout LyX-Code
5365 #% Do not delete the line below; configure depends on this
5368 \begin_layout LyX-Code
5373 DeclareLaTeXClass[article]{article (with my own headings)}
5376 \begin_layout Standard
5377 This declares a text class
5381 , associated with the LaTeX document class
5386 \begin_inset Quotes eld
5389 article (with my own headings)
5390 \begin_inset Quotes erd
5394 If your text class depends on several packages, you can declare it as:
5397 \begin_layout LyX-Code
5400 #% Do not delete the line below; configure depends on this
5403 \begin_layout LyX-Code
5408 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5411 \begin_layout Standard
5412 This indicates that your text class uses the foo.sty package.
5413 Finally, it is also possible to declare classes for SGML and DocBook code.
5414 Typical declarations will look like
5417 \begin_layout LyX-Code
5420 #% Do not delete the line below; configure depends on this
5423 \begin_layout LyX-Code
5428 DeclareSGMLClass{SGML (LinuxDoc)}
5431 \begin_layout Standard
5435 \begin_layout LyX-Code
5436 #% Do not delete the line below; configure depends on this
5439 \begin_layout LyX-Code
5442 DeclareDocBookClass[article]{SGML (DocBook article)}
5445 \begin_layout Standard
5446 Note that these declarations can also be given an optional parameter declaring
5447 the name of the document class (but not a list).
5450 \begin_layout Standard
5451 When the text class has been modified to your taste, all you have to do
5452 is to copy it either in
5465 ools\SpecialChar \menuseparator
5473 Exit LyX and restart it; then your new text class should be available along
5477 \begin_layout Subsection
5481 \begin_layout Standard
5482 The first non-comment line must contain the file format number:
5485 \begin_layout Description
5496 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
5497 don't have an explicit file format).
5498 The file format that is documented here is
5505 \begin_layout Subsection
5506 General text class parameters
5509 \begin_layout Standard
5510 These are the general parameters which describe the form of the entire document:
5513 \begin_layout Standard
5517 \begin_layout Standard
5529 \begin_layout Description
5543 ] Whether the class-default should have one or two columns.
5544 Can be changed in the
5549 ocument\SpecialChar \menuseparator
5560 This setting (same goes for
5564 , too) is important: if your text class has two columns by default but you
5565 forget to set it correctly, the
5573 be output when you select
5582 ocument\SpecialChar \menuseparator
5590 \begin_layout Description
5604 ] Whether the class-default should be printing on one or both sides of the
5606 Can be changed in the
5614 ocument\SpecialChar \menuseparator
5624 \begin_layout Description
5639 ] The class default pagestyle.
5640 Can be changed in the
5645 ocument\SpecialChar \menuseparator
5658 \begin_layout Description
5662 ClassOptions\SpecialChar \ldots{}
5666 This section describes various global options supported by the document
5668 See Section\InsetSpace ~
5670 \begin_inset LatexCommand \ref{sec:classoptions}
5677 \begin_layout Description
5691 ] Whether the class already loads the
5696 This is the case of the
5707 \begin_layout Description
5721 ] Whether the class already provides the functionality of the
5726 This is the case of the
5737 \begin_layout Description
5751 ] Whether the class already provides the functionality of the
5756 This is the case of the
5763 \begin_layout Description
5770 This is used to describe the default font of the document.
5771 See Section\InsetSpace ~
5773 \begin_inset LatexCommand \ref{sec:fonts}
5780 \begin_layout Description
5791 ] This is the style that will be assigned to new paragraphs, usually
5796 This will default to the first defined style if not given, but you are
5797 highly encouraged to use this directive.
5800 \begin_layout Description
5817 ] Indicates what kind of markup is used to define the title of a document.
5822 means that the macro with name
5826 will be inserted after the last layout which has
5827 \begin_inset Quotes eld
5835 \begin_inset Quotes erd
5843 corresponds to the case where the block of paragraphs which have
5844 \begin_inset Quotes eld
5852 \begin_inset Quotes erd
5855 should be enclosed into the
5864 \begin_layout Description
5875 ] The name of the command/environment mentionned above.
5878 \begin_layout Description
5882 Preamble\SpecialChar \ldots{}
5886 A set of macro definitions that will be output at the beginning of the
5888 Use this for global definitions.
5891 \begin_layout Description
5898 As its name implies, this command allows you to include another layout
5899 definition file within yours to avoid duplicating commands.
5900 Common examples are the standard layout files, for example,
5904 , which contains most of the basic layouts.
5907 \begin_layout Description
5911 Style\SpecialChar \ldots{}
5915 This sequence defines a new style.
5916 If the style already exists, it will redefine some of its parameters instead.
5917 See Section\InsetSpace ~
5919 \begin_inset LatexCommand \ref{sec:style}
5926 \begin_layout Description
5933 This command deletes an existing style.
5934 This is particularly useful when you want to suppress a style that has
5935 be defined in an input file.
5938 \begin_layout Description
5942 Float\SpecialChar \ldots{}
5946 This sequence defines a new float.
5947 See Section\InsetSpace ~
5949 \begin_inset LatexCommand \ref{sec:floats}
5956 \begin_layout Description
5963 This command deletes an existing float.
5964 This is particularly useful when you want to suppress a float that has
5965 be defined in an input file.
5968 \begin_layout Description
5972 CharStyle\SpecialChar \ldots{}
5977 This section defines a new character style.
5978 See Section\InsetSpace ~
5980 \begin_inset LatexCommand \ref{sec:charstyle}
5987 \begin_layout Description
5991 Counter\SpecialChar \ldots{}
5995 This sequence defines a new counter.
5996 See Section\InsetSpace ~
5998 \begin_inset LatexCommand \ref{sec:counter}
6005 \begin_layout Standard
6009 \begin_layout Standard
6021 \begin_layout Subsection
6029 \begin_layout Standard
6030 \begin_inset LatexCommand \label{sec:classoptions}
6038 section can contain the following entries:
6041 \begin_layout Description
6052 ] The list of available font sizes for the document's main font, separated
6054 \begin_inset Quotes eld
6062 \begin_inset Quotes erd
6068 \begin_layout Description
6077 string="empty|plain|headings|fancy"
6079 ] The list of available page styles, separated by
6080 \begin_inset Quotes eld
6088 \begin_inset Quotes erd
6094 \begin_layout Description
6105 ] Some document class options, separated by a comma, that will be added
6106 to the optional part of the
6115 \begin_layout Subsection
6116 Specific Paragraph Layouts
6119 \begin_layout Standard
6120 \begin_inset LatexCommand \label{sec:style}
6124 A paragraph layout description looks like this
6128 \begin_layout Standard
6129 Note that this will either define a new layout or modify an existing one.
6137 \begin_layout LyX-Code
6144 \begin_layout LyX-Code
6148 \begin_layout LyX-Code
6152 \begin_layout Standard
6153 where the following commands are allowed:
6156 \begin_layout Standard
6160 \begin_layout Standard
6172 \begin_layout Description
6183 This is used to copy all the features of an existing layout into the current
6188 \begin_layout Description
6200 , Command, Environment, Item_Environment,
6206 ] How the layout should be translated into LaTeX.
6211 means nothing special.
6224 {\SpecialChar \ldots{}
6239 }\SpecialChar \ldots{}
6263 is generated for each paragraph of this environment.
6276 is passed as an argument to the environment.
6281 can be defined in the
6286 ayout\SpecialChar \menuseparator
6300 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6301 Visit the SGML class files for specific examples.
6304 \begin_layout Description
6312 If 1, marks the layout as being part of a title block (see also the
6323 \begin_layout Description
6330 The name of the corresponding LaTeX stuff.
6331 Either the environment or command name.
6334 \begin_layout Description
6341 The optional parameter for the corresponding
6348 This parameter cannot be changed from within LyX.
6351 \begin_layout Description
6362 ] The number of optional arguments that can be used with this layout.
6363 This is useful for things like section headings, and only makes sense with
6367 \begin_layout Description
6379 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6383 The kind of margin that the layout has on the left side.
6388 just means a fixed margin.
6393 means that the left margin depends on the string entered in the
6398 dit\SpecialChar \menuseparator
6403 aragraph\InsetSpace ~
6407 This is used to typeset nice lists without tabulators.
6412 means that the margin depends on the size of the label.
6413 This is used for automatic enumerated headlines.
6414 It is obvious that the headline
6415 \begin_inset Quotes eld
6418 5.4.3.2.1 Very long headline
6419 \begin_inset Quotes erd
6422 must have a wider left margin (as wide as
6423 \begin_inset Quotes eld
6427 \begin_inset Quotes erd
6430 plus the space) than
6431 \begin_inset Quotes eld
6434 3.2 Very long headline
6435 \begin_inset Quotes erd
6438 , even if other word processors are not able to do this.
6443 is similar, but only the very first row of the paragraph is dynamic, while
6444 the others are static; this is used, for example, for descriptions.
6449 means the margin is chosen in a way that the longest row of this paragraph
6450 fits to the right margin.
6451 This is used to typeset an address on the right edge of the page.
6454 \begin_layout Description
6468 ] Whether the following Paragraph is allowed to indent its very first row.
6473 means that it is not allowed to do so,
6477 means it could do so if it wants to.
6480 \begin_layout Description
6491 ] The indent of the very first line of a paragraph.
6492 The argument is passed as a string.
6497 means that the paragraph is indented with the width of
6506 You can get a negative width by prefixing the string with
6511 This way was chosen so that the look is the same with each used screen
6517 will be fixed for a certain layout.
6518 The exception is Standard layout, since the indentation of a Standard layout
6519 paragraph can be prohibited with
6524 Also, Standard layout paragraphs inside environments use the
6528 of the environment, not their native one.
6529 For example, Standard paragraphs inside an enumeration are not indented.
6532 \begin_layout Description
6543 ] LyX allows to choose either
6544 \begin_inset Quotes eld
6548 \begin_inset Quotes erd
6552 \begin_inset Quotes eld
6556 \begin_inset Quotes erd
6559 to typeset a document.
6561 \begin_inset Quotes eld
6565 \begin_inset Quotes erd
6568 is chosen, this value is completely ignored.
6570 \begin_inset Quotes eld
6574 \begin_inset Quotes erd
6577 is chosen, the parindent of a LaTeXtype
6578 \begin_inset Quotes eld
6582 \begin_inset Quotes erd
6585 layout is ignored and all paragraphs are additionally separated by this
6587 The vertical space is calculated with
6589 value*DefaultHeight()
6595 is the height of a row with the normal font.
6596 This way, the look stays the same with different screen fonts.
6599 \begin_layout Description
6610 ] The vertical space with which the very first of a chain of paragraphs
6611 with this layout is separated from the previous paragraph.
6612 If the previous paragraph has another layout, the separations are not simply
6613 added, but the maximum is taken.
6616 \begin_layout Description
6631 for the very last paragraph.
6634 \begin_layout Description
6645 ] The vertical space between two paragraphs of this layout.
6648 \begin_layout Description
6659 ] This is an extra space between the paragraphs of an environment layout.
6660 If you put other layouts into an environment, each is separated with the
6666 But the whole items of the environment are additionally separated with
6675 \begin_layout Description
6686 ] If you put layouts into environments, the leftmargins are not simply added,
6687 but added with a factor
6688 \begin_inset Formula $\frac{4}{depth+4}$
6692 Note that this parameter is also used when the border is defined as
6701 Then it is added to the manual or dynamic border.
6702 This string has the same meaning as for
6709 \begin_layout Description
6727 \begin_layout Description
6739 , Manual, Static, Top_Environment,
6741 Centered_Top_Environment, Sensitive,
6750 means the label is the very first word (up to the first real blank).
6755 means it is defined in the layout (see
6766 Centered_Top_Environment
6768 are special cases of
6773 The label will be printed above the paragraph, but only at the top of an
6774 environment or the top of a chain of paragraphs with this layout.
6775 Usage is for example the
6784 This is also the case for
6788 labels with latex type
6792 , in order to make layouts for theorems work correctly.
6797 is a special case for the caption-labels
6798 \begin_inset Quotes eld
6802 \begin_inset Quotes erd
6806 \begin_inset Quotes eld
6810 \begin_inset Quotes erd
6818 means the (hardcoded) label string depends on the kind of float.
6823 label type defines automatically numbered labels.
6826 \begin_layout Description
6835 Chapter, Section, Subsection, Subsubsection,
6837 Paragraph, Subparagraph, EnumI,
6838 EnumII, EnumIII, EnumIV
6842 The name of the counter for automatic numbering.
6843 This must be given if
6856 \begin_layout Description
6867 ] The horizontal space between the label and the text body.
6868 Only used for labels that are not above the text body.
6871 \begin_layout Description
6878 [float=0] The vertical space between the label and the text body.
6879 Only used for labels that are above the text body (
6885 Centered_Top_Environment
6890 \begin_layout Description
6901 ] The string used for a label with a
6910 this string is also used as a suggestion for the
6914 that can be set in the
6919 dit\SpecialChar \menuseparator
6924 aragraph\InsetSpace ~
6934 is set, this string can be contain special formatting commands as explained
6935 in Section\InsetSpace ~
6937 \begin_inset LatexCommand \ref{sec:counter}
6944 \begin_layout Description
6955 ] If non-empty, this is used inside the appendix instead of
6963 \begin_layout Description
6970 The level of the style in the table of contents.
6971 This is used for automatic numbering of section headings.
6974 \begin_layout Description
6986 , Box, Filled_Box, Static
6988 ] The type of label that stands at the end of the paragraph (or sequence
7011 \begin_inset Quotes eld
7015 \begin_inset Quotes erd
7027 ) is a white (resp.\InsetSpace ~
7028 black) square suitable for end of proof markers,
7032 is an explicit text string.
7035 \begin_layout Description
7046 ] The string used for a label with a
7058 \begin_layout Description
7070 , left, right, center
7072 ] Paragraph alignment.
7075 \begin_layout Description
7087 , left, right, center
7094 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7096 For example a right-aligned or centered enumeration isn't possible.
7099 \begin_layout Description
7113 ] With this parameter the
7118 \begin_inset Quotes eld
7121 Vertical space above
7122 \begin_inset Quotes erd
7130 dit\SpecialChar \menuseparator
7135 aragraph\InsetSpace ~
7138 dialog can be set when initializing a paragraph with this layout
7142 \begin_layout Standard
7145 Note from Jean-Marc:
7147 I'm not sure that this setting has much use, and it should probably be removed
7157 \begin_layout Description
7178 \begin_layout Description
7192 ] Whether fragile commands in this layout should be
7201 \begin_layout Description
7215 ] Whether newlines are translated into LaTeX newlines (
7224 The translation can be switched off to allow more comfortable LaTeX editing
7228 \begin_layout Description
7242 ] Whether the contents of this paragraph should be output in raw form, meaning
7243 without special translations that LaTeX would require.
7244 This somehow replaces the older
7251 \begin_layout Description
7265 ] Usually LyX doesn't allow you to insert more than one space between words,
7266 since a space is considered as the separation between two words, not a
7267 character or symbol of its own.
7268 This is a very fine thing but sometimes annoying, for example when typing
7269 program code or plain LaTeX code.
7275 Note that LyX will create protected blanks for the additional blanks when
7276 in another mode than LaTeX-mode.
7279 \begin_layout Description
7293 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7294 lead to empty LaTeX output.
7295 There are some cases where this could be desirable however: in a letter
7296 template, the required fields can be provided as empty fields, so that
7297 people do not forget them; in some special classes, a layout can be used
7298 as some kind of break, which does not contain actual text.
7301 \begin_layout Description
7313 , onehalf, double, other
7318 ] This defines what the default spacing should be in the layout.
7331 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7332 If you specify the argument
7336 , then you should also provide a numerical argument which will be the actual
7338 Note that, contrary to other parameters,
7342 implies the generation of specific LaTeX code, using the package
7349 \begin_layout Description
7356 The font used for both the text body
7361 See section\InsetSpace ~
7363 \begin_inset LatexCommand \ref{sec:fonts}
7368 Note that defining this font automatically defines the
7375 \begin_layout Description
7382 The font used for the text body .
7383 See section\InsetSpace ~
7385 \begin_inset LatexCommand \ref{sec:fonts}
7392 \begin_layout Description
7399 The font used for the label.
7400 See section\InsetSpace ~
7402 \begin_inset LatexCommand \ref{sec:fonts}
7409 \begin_layout Description
7413 Preamble\SpecialChar \ldots{}
7417 A set of macro definitions that will be output at the beginning of the
7418 LaTeX files when the layout is used.
7419 Use this to define the macros needed by this particular layout.
7422 \begin_layout Description
7429 the name of a style which preamble should be output
7433 the one mentionned above.
7434 This allows to ensure some ordering of the preamble snippets when macros
7435 definitions depend on one another
7439 \begin_layout Standard
7440 Note that, besides that functionality, there is no way to ensure any ordering
7442 The ordering that you see in a given version of LyX may change without
7443 warning in later versions.
7451 \begin_layout Standard
7455 \begin_layout Standard
7467 \begin_layout Subsection
7471 \begin_layout Standard
7472 \begin_inset LatexCommand \label{sec:floats}
7476 Since version 1.3.0 of LyX, it is necessary to define the floats (
7484 , \SpecialChar \ldots{}
7485 ) in the text class itself.
7486 If you are looking here to learn how to upgrade an existing text class,
7487 it will probably turn out that all you have to do is to add
7490 \begin_layout LyX-Code
7494 \begin_layout Standard
7495 at a reasonable location of the text class.
7499 \begin_layout Standard
7500 Don't forget to also have a look at counters in next section.
7505 If you want to implement a text class that proposes some other float types
7506 (like the AGU class bundled with LyX), the information below will hopefully
7510 \begin_layout Description
7522 \begin_inset Quotes erd
7526 \begin_inset Quotes erd
7530 \begin_inset Quotes eld
7534 \begin_inset Quotes erd
7537 of the new class of floats, like program or algorithm.
7538 After the appropriate
7559 \begin_layout Description
7571 \begin_inset Quotes erd
7575 \begin_inset Quotes erd
7578 ] The string that will be used in the menus and also for the caption.
7581 \begin_layout Description
7602 if the float is already defined by the documentclass.
7607 , the float will be defined using the LaTeX package
7614 \begin_layout Description
7626 \begin_inset Quotes erd
7630 \begin_inset Quotes erd
7633 ] This (optional) argument determines whether floats of this class will
7634 be numbered within some sectional unit of the document.
7635 For example, if within is equal to
7639 , the floats will be numbered within chapters.
7643 \begin_layout Description
7655 \begin_inset Quotes erd
7659 \begin_inset Quotes erd
7662 ] The style used when defining the float using
7671 \begin_layout Description
7683 \begin_inset Quotes erd
7687 \begin_inset Quotes erd
7690 ] The default placement for the given class of floats.
7691 They are like in standard LaTeX:
7707 for top, bottom, page, and here, respectively.
7711 \begin_layout Standard
7712 Note that the order of these letters in the string is irrelevant, like in
7718 On top of that there is a new type,
7722 , which does not really correspond to a float, since it means: put it
7723 \begin_inset Quotes eld
7727 \begin_inset Quotes erd
7731 Note, however that the
7735 specifier is special and, because of implementation details cannot be used
7736 in non-builtin float types.
7737 If you do not understand what this means, just use
7744 \begin_layout Description
7756 \begin_inset Quotes erd
7760 \begin_inset Quotes erd
7763 ] The file name extension of an auxiliary file for the list of figures (or
7765 LaTeX writes the captions to this file.
7768 \begin_layout Description
7780 \begin_inset Quotes erd
7784 \begin_inset Quotes erd
7787 ] The heading used for the list of floats.
7790 \begin_layout Subsection
7794 \begin_layout Standard
7795 \begin_inset LatexCommand \label{sec:charstyle}
7799 You can define character styles since version 1.4.0 of LyX.
7804 section can contain the following entries:
7807 \begin_layout Description
7814 The font used for both the text body
7819 See section\InsetSpace ~
7821 \begin_inset LatexCommand \ref{sec:fonts}
7826 Note that defining this font automatically defines the
7833 \begin_layout Description
7840 The font used for the label.
7841 See section\InsetSpace ~
7843 \begin_inset LatexCommand \ref{sec:fonts}
7850 \begin_layout Description
7857 The name of the corresponding LaTeX stuff.
7858 Either the environment or command name.
7861 \begin_layout Description
7868 The optional parameter for the corresponding
7875 This parameter cannot be changed from within LyX.
7878 \begin_layout Description
7885 See section\InsetSpace ~
7887 \begin_inset LatexCommand \ref{sec:style}
7894 \begin_layout Description
7898 Preamble\SpecialChar \ldots{}
7902 See section\InsetSpace ~
7904 \begin_inset LatexCommand \ref{sec:style}
7911 \begin_layout Subsection
7915 \begin_layout Standard
7916 \begin_inset LatexCommand \label{sec:counter}
7920 Since version 1.3.0 of LyX, it is necessary to define the counters (
7928 , \SpecialChar \ldots{}
7929 ) in the text class itself.
7930 If you are looking here to learn how to upgrade an existing text class,
7931 it will probably turn out that all you have to do is to add
7934 \begin_layout LyX-Code
7935 Input stdcounters.inc
7938 \begin_layout Standard
7939 The definition of counters is presently a bit primitive in LyX, since many
7940 things are still hardcoded.
7941 The following two parameters can be used:
7944 \begin_layout Description
7956 \begin_inset Quotes erd
7960 \begin_inset Quotes erd
7963 ] The name of the counter
7966 \begin_layout Description
7978 \begin_inset Quotes erd
7982 \begin_inset Quotes erd
7985 ] If this is set to the name of another counter, the present counter will
7986 be reset everytime the other one is increased (is that unclear enough?).
7989 \begin_layout Standard
7990 When a counter has been associated to a style, it is possible to use some
7991 special constructs in
8006 \begin_layout Itemize
8015 will be replaced the expanded
8026 This is used for example to define the label of a subsection in terms of
8027 the label of a section.
8030 \begin_layout Itemize
8031 counter values can be expressed using LaTeX-like macros
8055 \begin_layout Description
8066 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8071 \begin_layout Standard
8081 Actually, the situation is a bit more complicated than that: any
8097 other than those descibed below will produce arabic numerals.
8098 It would not be surprising to see this change in the future.
8106 \begin_layout Description
8113 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8117 \begin_layout Description
8124 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8128 \begin_layout Description
8135 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8139 \begin_layout Description
8146 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8150 \begin_layout Description
8157 for hebrew numerals.
8161 \begin_layout Subsection
8165 \begin_layout Standard
8166 \begin_inset LatexCommand \label{sec:fonts}
8170 A font description looks like that:
8173 \begin_layout LyX-Code
8183 \begin_layout LyX-Code
8187 \begin_layout LyX-Code
8191 \begin_layout Standard
8192 and the following commands are available:
8195 \begin_layout Description
8212 \begin_layout Description
8229 \begin_layout Description
8241 , Italic, SmallCaps, Slanted
8246 \begin_layout Description
8259 , large, larger, largest, huge, giant
8264 \begin_layout Description
8277 , black, white, red, green, blue, cyan, magenta, yellow
8282 \begin_layout Subsection
8283 Upgrading old layout files
8286 \begin_layout Standard
8287 The file format of layout files changes from time to time, so old layout
8288 files need to be converted.
8289 This process has been automated in LyX 1.4.0: If LyX reads an old format
8290 layout file it will call the conversion tool
8292 $LyXDir/scripts/layout2layout.py
8294 and convert it to a temporary file in current format.
8295 The original file is left untouched, so that you can still use it with
8297 If you want to convert the layout file permanently, just call the converter
8301 \begin_layout LyX-Code
8302 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8305 \begin_layout Standard
8317 \begin_layout Standard
8318 The automatic conversion does only handle syntax changes.
8319 It cannot handle the case where the contents of included files was changed.
8320 For example, layout files based on
8333 If you get error messages about undefined counters, try to convert your
8353 \begin_layout Section
8355 \begin_inset LatexCommand \label{sec:templates}
8362 \begin_layout Standard
8363 Templates are created just like usual documents.
8364 The only difference is that usual documents contain all possible settings,
8365 including the fontscheme and the papersize.
8366 Usually a user doesn't want a template to overwrite his defaults in these
8368 For that reason, the designer of a template should remove the corresponding
8381 from the template LyX file.
8382 This can be done with any simple text-editor, for example
8394 \begin_layout Standard
8395 Put the edited template files you create in
8399 , copy the ones you use from the global template directory in
8403 to the same place, and redefine the template path in the
8408 dit\SpecialChar \menuseparator
8427 \begin_layout Standard
8428 Note that there is a template which has a particular meaning:
8433 This template is loaded everytime you create a new document with
8440 \SpecialChar \menuseparator
8448 in order to provide useful defaults.
8449 To create this template from inside LyX, all you have to do is to open
8450 a document with the correct settings, and use the
8456 e as Document Defaults
8461 \begin_layout Chapter
8462 Including External Material
8465 \begin_layout Section
8469 \begin_layout Standard
8470 \begin_inset Note Note
8473 \begin_layout Standard
8474 This section is completely outdated.
8479 One often requested feature from LyX users is to be able to interface LyX
8480 with XFig, Dia, or other similar applications that specialize in producing
8481 a certain kind of diagram, figure, schematic or whatever material might
8482 be relevant to include in your document.
8483 Previously, it was only possible to include boring, static, fixed images
8484 in LyX documents with the graphics feature, but there are several limitations
8485 attached to this approach:
8488 \begin_layout Itemize
8489 If you want to change the figure, you have to invoke an external program
8493 \begin_layout Itemize
8494 LyX does not notice that the referenced files change, so the on-screen display
8495 can fast become obsolete, and this is aggravated by the lack of a means
8496 of updating the display
8499 \begin_layout Itemize
8500 The graphics stuff does not provide any mechanisms for coping with different
8501 exported formats such as DocBook, HTML or raw Ascii
8504 \begin_layout Standard
8505 The external material facility attempts to solve all of these problems
8509 \begin_layout Standard
8510 Even if the graphics facility can't solve all problems, it is still valuable
8511 because it does provide in-line preview of the graphics, and supports advanced
8512 geometric transformations with a comfortable user interface.
8518 It does this by offering a general method to interface LyX to external
8520 Instead of introducing a long list of different constructs tailored for
8521 each specific application, we chose to sacrifice the in-line displaying
8522 of the included material in order to provide a general construct to cover
8523 a wide range of applications.
8524 The result is the external material construct.
8525 External material presents itself in the document simply as a button, but
8526 don't let this fool you.
8527 When you click on it, a dialog will appear that allows you to chose exactly
8528 what material to include, and in the following sections you will learn
8529 that this is indeed a powerful mechanism that can solve all of the above
8533 \begin_layout Section
8537 \begin_layout Standard
8538 The external material feature is based on the concept of a
8543 A template is a specification of how LyX should interface with a certain
8545 As bundled, LyX comes with predefined templates for XFig figures, Dia diagrams,
8546 various raster format images, gnuplot, and more.
8547 You can check the actual list by using the
8549 Insert\SpecialChar \menuseparator
8558 Furthermore, it is possible to roll your own template to support a specific
8560 Later we'll describe in more detail what is involved, and hopefully you
8561 will submit all the templates you create so we can include them in a later
8565 \begin_layout Standard
8566 Another basic idea of the external material feature is to distinguish between
8567 the original file that serves as a base for final material and the produced
8568 file that is included in your exported or printed document.
8569 For example, consider the case of a figure produced with XFig.
8570 The XFig application itself works on an original file with the
8575 Within XFig, you create and change your figure, and when you are done,
8581 When you want to include the figure in your document, you invoke
8585 in order to create a PostScript file that can readily be included in your
8591 file is the original file, and the PostScript file is the produced file.
8594 \begin_layout Standard
8595 This distinction is important in order to allow updating of the material
8596 while you are in the process of writing the document.
8597 Furthermore, it provides us with the flexibility that is needed to support
8598 multiple export formats.
8599 For instance, in the case of an Ascii resulting file, it is not exactly
8600 an award-winning idea to include the figure as raw PostScript.
8601 Instead, you'd either prefer to just include a reference to the figure,
8602 or try to invoke some graphics to Ascii converter to make the final result
8603 look similar to the real graphics.
8604 The external material management allows you to do this, because it is parameter
8605 ized on the different export formats that LyX supports.
8608 \begin_layout Standard
8609 Besides supporting the production of different products according to the
8610 exported format, it supports tight integration with editing and viewing
8612 In the case of an XFig figure, you are able to invoke
8616 on the original file with a single click from within the external material
8617 dialog in LyX, and also preview the produced PostScript file with
8622 No more fiddling around with the command line and/or file browsers to locate
8623 and manipulate the original or produced files.
8624 In this way, you are finally able to take full advantage of the many different
8625 applications that are relevant to use when you write your documents, and
8626 ultimately be more productive.
8629 \begin_layout Standard
8630 \begin_inset Note Note
8633 \begin_layout Standard
8634 This paragraph is outdated
8639 So, all in all, LyX has information about a number of different programs
8640 to use behind the scenes in order to realize all of this machinery.
8641 This information, in fact, is exactly what is contained in the templates.
8642 To each template, there is associated a list of command lines that are
8643 used to invoke applications, convert the original file to the produced
8645 This mechanism allows the advanced user to extend the capabilities of LyX
8646 without fiddling with the source code.
8647 It requires some footwork to define all the different commands and flags,
8648 but luckily, the LyX team did all the hard work and specified these for
8652 \begin_layout Standard
8653 But before the trees grow into the skies, we have to admit that we did take
8655 Since you can produce many different kinds of files to go with each exported
8656 format, one could also expect that it would be possible to preview each
8658 The LyX team decided against this in order to keep the user interface simple.
8659 Instead of providing a button for each exported file format, we decided
8660 to introduce the concept of the primary file format and just have one button.
8670 in the external material dialog, you will get a view of the produced file
8671 in the primary file format.
8672 And the primary file format is specified by your document class.
8673 For most document classes, the primary file format is LaTeX, but for the
8674 DocBook document classes, the primary file format is DocBook.
8675 So, when you view the produced file, keep in mind that it will only be
8676 a preview of what the main result will be.
8677 If you want to see how other exported formats turn out, you have to export
8678 them and preview them by hand.
8681 \begin_layout Section
8682 The external material dialog
8685 \begin_layout Standard
8686 You insert external material from the
8694 When you do this, a button is inserted into your document, and the external
8695 material dialog is shown.
8696 This dialog allows you to describe exactly what material should be included,
8697 and also how it should be included.
8698 Furthermore, it provides access to the external applications to either
8699 view, edit or produce the material that is used in the resulting file.
8702 \begin_layout Standard
8703 \begin_inset Note Note
8706 \begin_layout Standard
8707 This paragraph is outdated
8712 At the top of this dialog, there is a drop-down list where you can chose
8713 which template should be used.
8714 Just below the template drop-down, there's a text area with a short blurb
8715 about the chosen template that should help you use it.
8716 Most often, it will provide a short description of the template, and a
8717 few hints on how to parameterize the use of it.
8718 Further down, you'll find a filename input field along with a
8719 \begin_inset Quotes eld
8723 \begin_inset Quotes erd
8726 button that allows you to chose which file should be included with the
8727 standard file browser.
8728 Thus this field specifies the original file.
8729 Since the produced file is automatically generated when needed, there is
8730 no need to give access to it in the user interface.
8733 \begin_layout Standard
8734 \begin_inset Note Note
8737 \begin_layout Standard
8738 This paragraph is outdated
8743 At the bottom of the dialog, you'll find a general input box called
8748 This box is generally used to parameterize the specific template.
8749 The specific use should be covered in the help blurb associated with the
8750 template, but it typically allows you to define variations on how the produced
8751 file should be generated.
8754 \begin_layout Standard
8755 \begin_inset Note Note
8758 \begin_layout Standard
8759 This paragraph is outdated
8764 At the right side of the dialog, you'll find three buttons:
8792 These in turn allow you to edit your original file with the appropriate
8793 editing application, view the produced file as included in the primary
8794 format document, and finally force an update of the resulting material
8795 in the primary format.
8805 button will be disabled, because most templates are configured to automatically
8806 update the produced file when needed.
8807 In those cases, there is no need to force the production of a new produced
8809 However, some templates are configured to not be automatically producing
8810 the residual product, because the cost of producing the produced file might
8811 be so large that it would be a pain to do it all the time.
8812 Those types are known as
8817 In those cases, you can use the button to force the production of the produced
8818 file exactly when you need it, and thus control the amount of work that
8824 responsibility to do this to keep the produced files current at all times:
8825 before printing, before exporting, before viewing, etc.
8826 At some time in the future, it might be possible that LyX will help you
8827 with this task.Any changes in the template, filename or parameters are actually
8828 applied whenever you press
8853 \begin_layout Section
8857 \begin_layout Standard
8858 In this section, we should include some examples of use of the external
8860 Those examples could include:
8863 \begin_layout Itemize
8864 External raster images
8867 \begin_layout Itemize
8868 External XFig figures
8871 \begin_layout Itemize
8875 \begin_layout Itemize
8879 \begin_layout Itemize
8880 The use of makefiles
8883 \begin_layout Itemize
8884 Recursive external LyX templates
8887 \begin_layout Section
8888 The external template configuration file
8891 \begin_layout Standard
8892 It is relatively easy to add custom external template definitions to LyX.
8893 However, be aware this doing this in an careless manner most probably
8897 introduce an easily exploitable security hole.
8898 So before you do this, please read the discussion about security which
8902 \begin_layout Standard
8903 Having said that, we encourage you to submit any interesting templates that
8908 \begin_layout Standard
8909 The external templates are defined in the
8911 lib/external_templates
8914 You can place your own version in
8916 .lyx/external_templates
8921 \begin_layout Standard
8922 A typical template looks like this:
8925 \begin_layout LyX-Code
8929 \begin_layout LyX-Code
8930 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
8933 \begin_layout LyX-Code
8937 \begin_layout LyX-Code
8941 \begin_layout LyX-Code
8945 \begin_layout LyX-Code
8949 \begin_layout LyX-Code
8953 \begin_layout LyX-Code
8954 AutomaticProduction true
8957 \begin_layout LyX-Code
8961 \begin_layout LyX-Code
8965 \begin_layout LyX-Code
8969 \begin_layout LyX-Code
8970 TransformCommand Rotate RotationLatexCommand
8973 \begin_layout LyX-Code
8974 TransformCommand Resize ResizeLatexCommand
8977 \begin_layout LyX-Code
8978 Product "$$RotateFront$$ResizeFront
8981 \begin_layout LyX-Code
8986 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
8989 \begin_layout LyX-Code
8990 $$ResizeBack$$RotateBack"
8993 \begin_layout LyX-Code
8997 \begin_layout LyX-Code
8998 UpdateResult "$$AbsPath$$Basename.pstex_t"
9001 \begin_layout LyX-Code
9002 Requirement "graphicx"
9005 \begin_layout LyX-Code
9006 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9009 \begin_layout LyX-Code
9010 ReferencedFile latex "$$AbsPath$$Basename.eps"
9013 \begin_layout LyX-Code
9014 ReferencedFile dvi "$$AbsPath$$Basename.eps"
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.pdftex_t}
9045 \begin_layout LyX-Code
9046 $$ResizeBack$$RotateBack"
9049 \begin_layout LyX-Code
9053 \begin_layout LyX-Code
9054 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9057 \begin_layout LyX-Code
9058 Requirement "graphicx"
9061 \begin_layout LyX-Code
9062 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9065 \begin_layout LyX-Code
9066 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9069 \begin_layout LyX-Code
9073 \begin_layout LyX-Code
9077 \begin_layout LyX-Code
9078 Product "$$Contents(
9080 "$$AbsPath$$Basename.asc
9085 \begin_layout LyX-Code
9086 UpdateFormat asciixfig
9089 \begin_layout LyX-Code
9090 UpdateResult "$$AbsPath$$Basename.asc"
9093 \begin_layout LyX-Code
9097 \begin_layout LyX-Code
9101 \begin_layout LyX-Code
9102 Product "<graphic fileref=
9104 "$$AbsOrRelPathMaster$$Basename.eps
9109 \begin_layout LyX-Code
9113 \begin_layout LyX-Code
9117 \begin_layout LyX-Code
9118 UpdateResult "$$AbsPath$$Basename.eps"
9121 \begin_layout LyX-Code
9122 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9125 \begin_layout LyX-Code
9126 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9129 \begin_layout LyX-Code
9133 \begin_layout LyX-Code
9137 \begin_layout LyX-Code
9138 Product "[XFig: $$FName]"
9141 \begin_layout LyX-Code
9145 \begin_layout LyX-Code
9149 \begin_layout Standard
9150 As you can see, the template is enclosed in
9154 \SpecialChar \ldots{}
9160 It contains a header specifying some general settings, and for each supported
9161 primary document file format a section
9165 \SpecialChar \ldots{}
9173 \begin_layout Subsection
9177 \begin_layout Description
9181 Template\InsetSpace ~
9185 A unique name for the template.
9186 It must not contain substitution macros (see below).
9189 \begin_layout Description
9193 GuiName\InsetSpace ~
9197 The text that is displayed on the button.
9198 This command must occur exactly once.
9201 \begin_layout Description
9205 HelpText\InsetSpace ~
9210 The help text that is used in the External dialog.
9211 Provide enough information to explain to the user just what the template
9212 can provide him with.
9213 This command must occur exactly once.
9216 \begin_layout Description
9220 InputFormat\InsetSpace ~
9224 The file format of the original file.
9225 This must be the name of a format that is known to LyX (see the
9230 ools\SpecialChar \menuseparator
9235 references:Conversion
9242 if the template can handle original files of more than one format.
9243 LyX will attempt to interrogate the file itself in order to deduce its
9244 format in this case.
9245 This command must occur exactly once.
9248 \begin_layout Description
9252 FileFilter\InsetSpace ~
9256 A glob pattern that is used in the file dialog to filter out the desired
9258 If there is more than one possible file extension (e.g.\InsetSpace ~
9267 ), use something like
9272 This command must occur exactly once.
9275 \begin_layout Description
9279 AutomaticProduction\InsetSpace ~
9283 Wether the file represented by the template must be generated by LyX.
9284 This command must occur exactly once.
9287 \begin_layout Description
9291 Transform\InsetSpace ~
9292 Rotate|Resize|Clip|Extra
9295 This command specifies which transformations are supported by this template.
9296 It may occur zero or more times.
9297 This command enables the corresponding tabs in the external dialog.
9302 command must have either a corresponding
9315 Otherwise the transformation will not be supported by that format.
9318 \begin_layout Subsection
9322 \begin_layout Description
9327 LaTeX|PDFLaTeX|Ascii|DocBook|LinuxDoc
9330 The primary document file format that this format definition is for.
9331 Not every template has a sensible representation in all document file formats.
9332 Please define nevertheless a
9336 section for all formats.
9337 Use a dummy text when no representation is available (see the LinuxDoc
9338 format in the example above).
9339 Then you can at least see a reference to the external material in the exported
9343 \begin_layout Description
9347 TransformCommand\InsetSpace ~
9349 RotationLatexCommand
9352 This command specifies that the built in LaTeX command should be used for
9354 This command may occur once or not at all.
9357 \begin_layout Description
9361 TransformCommand\InsetSpace ~
9366 This command specifies that the built in LaTeX command should be used for
9368 This command may occur once or not at all.
9371 \begin_layout Description
9375 TransformOption\InsetSpace ~
9380 This command specifies that rotation is done via an optional argument.
9381 This command may occur once or not at all.
9384 \begin_layout Description
9388 TransformOption\InsetSpace ~
9393 This command specifies that resizing is done via an optional argument.
9394 This command may occur once or not at all.
9397 \begin_layout Description
9401 TransformOption\InsetSpace ~
9406 This command specifies that clipping is done via an optional argument.
9407 This command may occur once or not at all.
9410 \begin_layout Description
9414 TransformOption\InsetSpace ~
9419 This command specifies that an extra optional argument is used.
9420 This command may occur once or not at all.
9423 \begin_layout Description
9427 Product\InsetSpace ~
9431 The text that is inserted in the exported document.
9432 This is actually the most important command and can be quite complex.
9433 This command must occur exactly once.
9436 \begin_layout Description
9440 UpdateFormat\InsetSpace ~
9444 The file format of the converted file.
9445 This must be the name of a format that is known to LyX (see the
9450 ools\SpecialChar \menuseparator
9455 references:Conversion
9458 This command must occur exactly once.
9461 \begin_layout Description
9465 UpdateResult\InsetSpace ~
9469 The file name of the converted file.
9470 The file name must be absolute.
9471 This command must occur exactly once.
9474 \begin_layout Description
9478 ReferencedFile\InsetSpace ~
9479 <format>\InsetSpace ~
9483 This command denotes files that are created by the conversion process and
9484 are needed for a particular export format.
9485 If the filename is relative, it is interpreted relative to the master document.
9486 This command may be given zero or more times.
9489 \begin_layout Description
9493 Requirement\InsetSpace ~
9497 The name of a required LaTeX package.
9498 The package is included via
9504 in the LaTeX preamble.
9505 This command may occur zero or more times.
9508 \begin_layout Description
9512 Preamble\InsetSpace ~
9516 This command specifies a preamble snippet that will be included in the
9518 It has to be defined using
9522 \SpecialChar \ldots{}
9528 This command may occur zero or more times.
9531 \begin_layout Description
9540 This command defines an additional macro
9553 itself may contain substitution macros.
9554 The advantage over using
9562 is that the substituted value of
9566 is sanitized so that it is a valid optional argument in the document format.
9567 This command may occur zero or more times.
9570 \begin_layout Subsection
9571 Preamble definitions
9574 \begin_layout Standard
9575 The external template configuration file may contain additional preamble
9576 definitions enclosed by
9580 \SpecialChar \ldots{}
9586 They can be used by the templates in the
9593 \begin_layout Section
9594 The substitution mechanism
9597 \begin_layout Standard
9598 When the external material facility invokes an external program, it is done
9599 on the basis of a command defined in the template configuration file.
9600 These commands can contain various macros that are expanded before execution.
9601 Execution always take place in the directory of the containing document.
9604 \begin_layout Standard
9605 Also, whenever external material is to be displayed, the name will be produced
9606 by the substitution mechanism, and most other commands in the template
9607 definition support substitution as well.
9610 \begin_layout Standard
9611 The available macros are the following:
9614 \begin_layout Description
9615 $$FName The filename of the file specified in the external material dialog.
9616 This is either an absolute name, or it is relative to the LyX document.
9619 \begin_layout Description
9620 $$Basename The filename without path and without the extension.
9623 \begin_layout Description
9624 $$Extension The file extension (including the dot).
9627 \begin_layout Description
9628 $$FPath The path part of
9632 (absolute name or relative to the LyX document).
9635 \begin_layout Description
9636 $$AbsPath The absolute file path.
9639 \begin_layout Description
9640 $$RelPathMaster The file path, relative to the master LyX document.
9643 \begin_layout Description
9644 $$RelPathParent The file path, relative to the LyX document.
9647 \begin_layout Description
9648 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9652 \begin_layout Description
9653 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9656 \begin_layout Description
9657 $$Tempname A name and full path to a temporary file which will be automatically
9658 deleted whenever the containing document is closed, or the external material
9662 \begin_layout Description
9664 \begin_inset Quotes eld
9668 \begin_inset Quotes erd
9671 ) This macro will expand to the contents of the file with the name
9678 \begin_layout Description
9679 $$Sysdir This macro will expand to the absolute path of the system directory.
9680 This is typically used to point to the various helper scripts that are
9684 \begin_layout Standard
9685 All path macros contain a trailing directory separator, so you can construct
9687 the absolute filename with
9689 $$AbsPath$$Basename$$Extension
9694 \begin_layout Standard
9695 The macros above are substituted in all commands unless otherwise noted.
9700 supports additionally the following substitutions if they are enabled by
9712 \begin_layout Description
9713 $$ResizeFront The front part of the resize command.
9716 \begin_layout Description
9717 $$ResizeBack The back part of the resize command.
9720 \begin_layout Description
9721 $$RotateFront The front part of the rotation command.
9724 \begin_layout Description
9725 $$RotateBack The back part of the rotation command.
9728 \begin_layout Standard
9729 The value string of the
9733 command supports additionally the following substitutions if they are enabled
9745 \begin_layout Description
9746 $$Clip The clip option.
9749 \begin_layout Description
9750 $$Extra The extra option.
9753 \begin_layout Description
9754 $$Resize The resize option.
9757 \begin_layout Description
9758 $$Rotate The rotation option.
9761 \begin_layout Standard
9762 You may ask why there are so many path macros.
9763 There are mainly two reasons:
9766 \begin_layout Standard
9767 First, relative and absolute file names should remain relative or absolute,
9769 Users may have reasons to prefer either form.
9770 Relative names are useful for portable documents that should work on different
9771 machines, for example.
9772 Absolute names may be required by some programs.
9775 \begin_layout Standard
9776 Second, LaTeX treats relative file names differently than LyX and other
9777 programs in nested included files.
9778 For LyX, a relative file name is always relative to the document that contains
9780 For LaTeX, it is always relative to the master document.
9781 These two definitions are identical if you have only one document, but
9782 differ if you have a master document that includes part documents.
9783 That means that relative filenames must be transformed when presented to
9785 Fortunately LyX does this automatically for you if you choose the right
9789 \begin_layout Standard
9790 So which path macro should be used in new template definitions? The rule
9794 \begin_layout Itemize
9799 if an absolute path is required.
9802 \begin_layout Itemize
9805 $$AbsOrRelPathMaster
9807 if the substituted string is some kind of LaTeX input.
9810 \begin_layout Itemize
9813 $$AbsOrRelPathParent
9815 in order to preserve the user's choice.
9818 \begin_layout Standard
9819 There are special cases where this rule does not work and e.g.\InsetSpace ~
9821 are needed, but normally it will work just fine.
9822 One example for such a case is the command
9824 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9826 in the XFig template above: We can't use the absolute name because the
9831 files needs the relative name in order to rewrite the file content.
9834 \begin_layout Section
9838 \begin_layout Standard
9839 \begin_inset Note Note
9842 \begin_layout Standard
9843 This section is outdated
9848 The external material feature interfaces with a lot of external programs
9849 and does so automatically, so we have to consider the security implications
9851 In particular, since you have the option of including your own filenames
9852 and/or parameter strings and those are expanded into a command, it seems
9853 that it would be possible to create a malicious document which executes
9854 arbitrary commands when a user views or prints the document.
9855 This is something we definately want to avoid.
9858 \begin_layout Standard
9859 However, since the external program commands are specified in the template
9860 configuration file only, there are no security issues if LyX is properly
9861 configured with safe templates only.
9862 This is so because the external programs are invoked with the
9866 -system call rather than the
9870 system-call, so it's not possible to execute arbitrary commands from the
9871 filename or parameter section via the shell.
9874 \begin_layout Standard
9875 This also implies that you are restricted in what command strings you can
9876 use in the external material templates.
9877 In particular, pipes and redirection are not readily available.
9878 This has to be so if LyX should remain safe.
9879 If you want to use some of the shell features, you should write a safe
9880 script to do this in a controlled manner, and then invoke the script from
9886 directory of the LyX installation, you can find a safe wrapper script
9888 general_command_wrapper.py
9890 that supports redirection of input and output.
9891 That can serve as an example for how to write safe template scripts.
9892 For a more advanced example that uses
9896 and friends, take a look at the
9903 \begin_layout Standard
9904 It is possible to design a template that interacts directly with the shell,
9905 but since this would allow a malicious user to execute arbitrary commands
9906 by writing clever filenames and/or parameters, we generally recommend that
9907 you only use safe scripts that work with the
9911 system call in a controlled manner.
9912 Of course, for use in a controlled environment, it can be tempting to just
9913 fall back to use ordinary shell scripts.
9914 If you do so, be aware that you
9918 provide an easily exploitable security hole in your system.
9919 Of course it stands to reason that such unsafe templates will never be
9920 included in the standard LyX distribution, although we do encourage people
9921 to submit new templates in the open source tradition.
9922 But LyX as shipped from the official distribution channels will never have
9926 \begin_layout Standard
9927 Including external material provides a lot of power, and you have to be
9928 careful not to introduce security hazards with this power.
9929 A subtle error in a single line in an innocent looking script can open
9930 the door to huge security problems.
9931 So if you do not fully understand the issues, we recommend that you consult
9932 a knowledgable security professional or the LyX development team if you
9933 have any questions about whether a given template is safe or not.
9934 And do this before you use it in an uncontrolled environment.
9937 \begin_layout Chapter
9941 \begin_layout Section
9945 \begin_layout Standard
9946 The LyX server is a method implemented in LyX that will enable other programs
9947 to talk to LyX, invoke LyX commands, and retrieve information about the
9949 This is only intended for advanced users, but they should find it useful.
9952 \begin_layout Section
9953 Starting the LyX Server
9956 \begin_layout Standard
9957 The LyX server works through the use of a pair of named pipes.
9958 These are usually located in your home directory and have the names
9959 \begin_inset Quotes eld
9967 \begin_inset Quotes erd
9971 \begin_inset Quotes eld
9979 \begin_inset Quotes erd
9983 External programs write into
9987 and read back data from
9992 The stem of the pipe names can be defined in the
9997 ools\SpecialChar \menuseparator
10004 dialog, for example
10006 "/home/myhome/.lyxpipe"
10011 \begin_layout Standard
10020 ' to create the pipes.
10021 The above setting also has the effect of activating the LyX server.
10022 If one of the pipes already exists, LyX will assume that another LyX process
10023 is already running and will not start the server.
10024 To have several LyX processes with servers at the same time, you have to
10025 change the configuration between the start of the programs.
10028 \begin_layout Standard
10029 If you are developing a client program, you might find it useful to enable
10030 debugging information from the LyX server.
10031 Do this by starting LyX as
10033 lyx -dbg lyxserver.
10036 \begin_layout Standard
10037 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10038 case you must remove them manually.
10039 If LyX starts and the pipes exist already, it will not start any server.
10042 \begin_layout Standard
10043 Other than this, there are a few points to consider:
10046 \begin_layout Itemize
10047 Both server and clients must run on UNIX or OS/2 machines.
10048 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10049 not possible right now.
10052 \begin_layout Itemize
10053 On OS/2, only one client can connect to LyXServer at a time.
10056 \begin_layout Itemize
10057 On OS/2, clients must open inpipe with
10064 \begin_layout Standard
10065 You can find a complete example client written in C in the source distribution
10068 development/server_monitor.c
10073 \begin_layout Section
10074 Normal communication
10077 \begin_layout Standard
10078 To issue a LyX call, the client writes a line of ASCII text into the input
10080 This line has the following format:
10083 \begin_layout Quote
10097 \begin_layout Standard
10102 is a name that the client can choose arbitrarily.
10103 Its only use is that LyX will echo it if it sends an answer - so a client
10104 can dispatch results from different requesters.
10107 \begin_layout Standard
10112 is the function you want LyX to perform.
10113 It is the same as the commands you'd use in the minibuffer.
10116 \begin_layout Standard
10121 is an optional argument which is meaningful only to some functions (for
10123 \begin_inset Quotes eld
10127 \begin_inset Quotes erd
10130 which will insert the argument as text at the cursor position.)
10133 \begin_layout Standard
10134 The answer from LyX will arrive in the output pipe and be of the form
10137 \begin_layout Quote
10151 \begin_layout Standard
10160 are just echoed from the command request, while
10164 is more or less useful information filled according to how the command
10165 execution worked out.
10166 Some commands will return information about the internal state of LyX,
10168 \begin_inset Quotes eld
10172 \begin_inset Quotes erd
10175 , while other will return an empty data-response.
10176 This means that the command execution went fine.
10179 \begin_layout Standard
10180 In case of errors, the response from LyX will have this form
10183 \begin_layout Quote
10197 \begin_layout Standard
10202 should contain an explanation of why the command failed.
10205 \begin_layout Standard
10209 \begin_layout LyX-Code
10210 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10213 \begin_layout LyX-Code
10214 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10216 read a <~/.lyxpipe.out
10221 \begin_layout Section
10225 \begin_layout Standard
10226 LyX can notify clients of events going on asynchronously.
10227 Currently it will only do this if the user binds a key sequence with the
10229 \begin_inset Quotes eld
10233 \begin_inset Quotes erd
10237 The format of the string LyX sends is as follows:
10240 \begin_layout Quote
10249 \begin_layout Standard
10254 is the printed representation of the key sequence that was actually typed
10258 \begin_layout Standard
10259 This mechanism can be used to extend LyX's command set and implement macros:
10260 bind some key sequence to
10261 \begin_inset Quotes eld
10265 \begin_inset Quotes erd
10268 , start a client that listens on the out pipe, dispatches the command according
10269 to the sequence and starts a function that may use LyX calls and LyX requests
10270 to issue a command or a series of commands to LyX.
10273 \begin_layout Section
10274 The simple LyX Server Protocol
10277 \begin_layout Standard
10278 LyX implements a simple protocol that can be used for session management.
10279 All messages are of the form
10282 \begin_layout Quote
10292 \begin_layout Standard
10298 \begin_inset Quotes eld
10302 \begin_inset Quotes erd
10306 \begin_inset Quotes eld
10310 \begin_inset Quotes erd
10315 \begin_inset Quotes eld
10319 \begin_inset Quotes erd
10322 is received from a client, LyX will report back to inform the client that
10323 it's listening to it's messages, while
10324 \begin_inset Quotes eld
10328 \begin_inset Quotes erd
10331 sent from LyX will inform clients that LyX is closing.
10334 \begin_layout Chapter
10339 \begin_layout Standard
10340 This appendix is a huge cross-reference to all the English language keybindings.
10341 Originally, we simply wanted to list all of the key bindings followed by
10342 the function it's bound to.
10343 That way, a user can look up a key to find out what it does.
10344 We then decided, what the hey, why not include the default toolbar and
10345 menu bindings, too.
10346 Please note this section is likely to be very out of date.
10349 \begin_layout Standard
10350 The form is really self-explanatory, but here are a few tips: all entries
10351 are arranged roughly alphabetically for a given modifier (
10360 For the general keyboard layout, simpler prefixes precede the more complex
10370 All entries were gleaned from the default user interface and binding files
10371 located in the directories
10373 \SpecialChar \ldots{}
10378 \SpecialChar \ldots{}
10381 ; they should be treated as the final word on the bindings.
10384 \begin_layout Standard
10385 As a final note, be aware that some window managers (such as FVWM) take
10386 control of some of the function keys or motion keys.
10391 is listed here as generating
10395 , but FVWM grabs it and uses it to change virtual desktops instead.
10396 Very annoying unless you instruct your window manager to stop intercepting
10400 \begin_layout Section
10404 \begin_layout LyX-Code
10408 \begin_layout LyX-Code
10412 \begin_layout LyX-Code
10416 \begin_layout LyX-Code
10417 Icon "buffer-write"
10420 \begin_layout LyX-Code
10421 Icon "buffer-print"
10424 \begin_layout LyX-Code
10428 \begin_layout LyX-Code
10432 \begin_layout LyX-Code
10436 \begin_layout LyX-Code
10440 \begin_layout LyX-Code
10444 \begin_layout LyX-Code
10448 \begin_layout LyX-Code
10452 \begin_layout LyX-Code
10456 \begin_layout LyX-Code
10460 \begin_layout LyX-Code
10464 \begin_layout LyX-Code
10468 \begin_layout LyX-Code
10472 \begin_layout LyX-Code
10473 Icon "footnote-insert"
10476 \begin_layout LyX-Code
10477 Icon "marginpar-insert"
10480 \begin_layout LyX-Code
10484 \begin_layout LyX-Code
10488 \begin_layout LyX-Code
10489 Icon "figure-insert"
10492 \begin_layout LyX-Code
10493 Icon "dialog-tabular-insert"
10496 \begin_layout LyX-Code
10500 \begin_layout Section
10504 \begin_layout Subsection
10509 \labelwidthstring 00.00.0000
10519 \labelwidthstring 00.00.0000
10531 \labelwidthstring 00.00.0000
10543 \labelwidthstring 00.00.0000
10557 \labelwidthstring 00.00.0000
10567 \labelwidthstring 00.00.0000
10581 \labelwidthstring 00.00.0000
10591 \labelwidthstring 00.00.0000
10603 \labelwidthstring 00.00.0000
10615 \labelwidthstring 00.00.0000
10627 \labelwidthstring 00.00.0000
10633 buffer-new-template
10637 \labelwidthstring 00.00.0000
10650 \labelwidthstring 00.00.0000
10659 \labelwidthstring 00.00.0000
10668 \labelwidthstring 00.00.0000
10677 \labelwidthstring 00.00.0000
10686 \labelwidthstring 00.00.0000
10695 \labelwidthstring 00.00.0000
10705 \labelwidthstring 00.00.0000
10714 \begin_layout Subsection
10719 \labelwidthstring 00.00.0000
10731 \labelwidthstring 00.00.0000
10743 \labelwidthstring 00.00.0000
10755 \labelwidthstring 00.00.0000
10767 \labelwidthstring 00.00.0000
10779 \labelwidthstring 00.00.0000
10791 \labelwidthstring 00.00.0000
10806 \labelwidthstring 00.00.0000
10813 tabular-feature append-row
10817 \labelwidthstring 00.00.0000
10824 tabular-feature toggle-line-bottom
10828 \labelwidthstring 00.00.0000
10835 tabular-feature align-center
10839 \labelwidthstring 00.00.0000
10846 tabular-feature delete-column
10850 \labelwidthstring 00.00.0000
10857 tabular-feature align-left
10861 \labelwidthstring 00.00.0000
10868 tabular-feature align-right
10872 \labelwidthstring 00.00.0000
10879 tabular-feature toggle-line-left
10883 \labelwidthstring 00.00.0000
10890 tabular-feature multicolumn
10894 \labelwidthstring 00.00.0000
10901 tabular-feature valign-center
10905 \labelwidthstring 00.00.0000
10912 tabular-feature valign-top
10916 \labelwidthstring 00.00.0000
10923 tabular-feature toggle-line-right
10927 \labelwidthstring 00.00.0000
10934 tabular-feature toggle-line-top
10938 \labelwidthstring 00.00.0000
10945 tabular-feature append-column
10949 \labelwidthstring 00.00.0000
10956 tabular-feature valign-bottom
10960 \labelwidthstring 00.00.0000
10967 tabular-feature delete-row
10972 \labelwidthstring 00.00.0000
10985 \labelwidthstring 00.00.0000
10990 floats-operate openfoot
10994 \labelwidthstring 00.00.0000
10999 floats-operate closefoot
11003 \labelwidthstring 00.00.0000
11008 floats-operate openfig
11012 \labelwidthstring 00.00.0000
11021 \labelwidthstring 00.00.0000
11030 \labelwidthstring 00.00.0000
11035 floats-operate closefig
11040 \labelwidthstring 00.00.0000
11052 \labelwidthstring 00.00.0000
11066 \labelwidthstring 00.00.0000
11078 \labelwidthstring 00.00.0000
11090 \labelwidthstring 00.00.0000
11104 \labelwidthstring 00.00.0000
11114 \labelwidthstring 00.00.0000
11127 \labelwidthstring 00.00.0000
11134 primary-selection-paste
11138 \labelwidthstring 00.00.0000
11145 primary-selection-paste paragraph
11149 \begin_layout Subsection
11154 \labelwidthstring 00.00.0000
11169 \labelwidthstring 00.00.0000
11176 buffer-float-insert algorithm
11180 \labelwidthstring 00.00.0000
11187 buffer-float-insert wide-tab
11191 \labelwidthstring 00.00.0000
11198 buffer-float-insert figure
11202 \labelwidthstring 00.00.0000
11209 buffer-float-insert table
11213 \labelwidthstring 00.00.0000
11220 buffer-float-insert wide-fig
11225 \labelwidthstring 00.00.0000
11233 dialog-tabular-insert
11237 \labelwidthstring 00.00.0000
11249 \labelwidthstring 00.00.0000
11261 \labelwidthstring 00.00.0000
11269 buffer-child-insert
11273 \labelwidthstring 00.00.0000
11285 \labelwidthstring 00.00.0000
11297 \labelwidthstring 00.00.0000
11309 \labelwidthstring 00.00.0000
11321 \labelwidthstring 00.00.0000
11333 \labelwidthstring 00.00.0000
11345 \labelwidthstring 00.00.0000
11357 \labelwidthstring 00.00.0000
11372 \labelwidthstring 00.00.0000
11383 \labelwidthstring 00.00.0000
11394 \labelwidthstring 00.00.0000
11405 \labelwidthstring 00.00.0000
11416 \labelwidthstring 00.00.0000
11427 \labelwidthstring 00.00.0000
11439 \labelwidthstring 00.00.0000
11451 \labelwidthstring 00.00.0000
11466 \labelwidthstring 00.00.0000
11473 protected-space-insert
11477 \labelwidthstring 00.00.0000
11484 end-of-sentence-period-insert
11488 \labelwidthstring 00.00.0000
11499 \labelwidthstring 00.00.0000
11510 \labelwidthstring 00.00.0000
11521 \labelwidthstring 00.00.0000
11528 menu-separator-insert
11532 \labelwidthstring 00.00.0000
11539 hyphenation-point-insert
11543 \labelwidthstring 00.00.0000
11554 \labelwidthstring 00.00.0000
11561 command-sequence math-insert ^;math-mode;
11565 \labelwidthstring 00.00.0000
11572 command-sequence math-insert _;math-mode;
11577 \labelwidthstring 00.00.0000
11592 \labelwidthstring 00.00.0000
11599 file-insert-ascii lines
11603 \labelwidthstring 00.00.0000
11610 file-insert-ascii paragraphs
11614 \labelwidthstring 00.00.0000
11626 \labelwidthstring 00.00.0000
11638 \labelwidthstring 00.00.0000
11650 \labelwidthstring 00.00.0000
11661 \begin_layout Subsection
11666 \labelwidthstring 00.00.0000
11678 \labelwidthstring 00.00.0000
11690 \labelwidthstring 00.00.0000
11702 \labelwidthstring 00.00.0000
11714 \labelwidthstring 00.00.0000
11726 \labelwidthstring 00.00.0000
11738 \labelwidthstring 00.00.0000
11750 \labelwidthstring 00.00.0000
11762 \labelwidthstring 00.00.0000
11770 layout-save-default
11774 \labelwidthstring 00.00.0000
11786 \labelwidthstring 00.00.0000
11798 \labelwidthstring 00.00.0000
11809 \begin_layout Subsubsection
11812 Layout\SpecialChar \menuseparator
11819 \labelwidthstring 00.00.0000
11829 \labelwidthstring 00.00.0000
11839 \labelwidthstring 00.00.0000
11849 \labelwidthstring 00.00.0000
11859 \labelwidthstring 00.00.0000
11871 \labelwidthstring 00.00.0000
11881 \labelwidthstring 00.00.0000
11891 \labelwidthstring 00.00.0000
11901 \labelwidthstring 00.00.0000
11911 \labelwidthstring 00.00.0000
11921 \labelwidthstring 00.00.0000
11931 \labelwidthstring 00.00.0000
11941 \labelwidthstring 00.00.0000
11951 \labelwidthstring 00.00.0000
11963 \labelwidthstring 00.00.0000
11975 \labelwidthstring 00.00.0000
11987 \labelwidthstring 00.00.0000
11999 \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
12079 \labelwidthstring 00.00.0000
12091 \labelwidthstring 00.00.0000
12101 \labelwidthstring 00.00.0000
12111 \labelwidthstring 00.00.0000
12123 \labelwidthstring 00.00.0000
12135 \labelwidthstring 00.00.0000
12147 \labelwidthstring 00.00.0000
12157 \labelwidthstring 00.00.0000
12166 \begin_layout Subsection
12170 \begin_layout Subsection
12174 \begin_layout Subsection
12178 \begin_layout Subsection
12183 \labelwidthstring 00.00.0000
12195 \labelwidthstring 00.00.0000
12207 \labelwidthstring 00.00.0000
12219 \labelwidthstring 00.00.0000
12231 \labelwidthstring 00.00.0000
12243 \labelwidthstring 00.00.0000
12251 layout ShortFoilhead
12255 \labelwidthstring 00.00.0000
12267 \labelwidthstring 00.00.0000
12279 \labelwidthstring 00.00.0000
12291 \labelwidthstring 00.00.0000
12303 \labelwidthstring 00.00.0000
12311 layout ShortRotatefoilhead
12315 \labelwidthstring 00.00.0000
12327 \labelwidthstring 00.00.0000
12339 \labelwidthstring 00.00.0000
12351 \labelwidthstring 00.00.0000
12359 drop-layouts-choice
12363 \labelwidthstring 00.00.0000
12378 \labelwidthstring 00.00.0000
12393 \labelwidthstring 00.00.0000
12405 \labelwidthstring 00.00.0000
12417 \labelwidthstring 00.00.0000
12425 layout Subsubsection
12429 \labelwidthstring 00.00.0000
12441 \labelwidthstring 00.00.0000
12449 layout Subparagraph
12453 \labelwidthstring 00.00.0000
12457 asterisk\InsetSpace ~
12466 \labelwidthstring 00.00.0000
12470 asterisk\InsetSpace ~
12479 \labelwidthstring 00.00.0000
12483 asterisk\InsetSpace ~
12492 \labelwidthstring 00.00.0000
12496 asterisk\InsetSpace ~
12505 \labelwidthstring 00.00.0000
12509 asterisk\InsetSpace ~
12514 layout Subsubsection*
12518 \labelwidthstring 00.00.0000
12522 asterisk\InsetSpace ~
12531 \labelwidthstring 00.00.0000
12535 asterisk\InsetSpace ~
12540 layout Subparagraph*
12544 \labelwidthstring 00.00.0000
12556 \labelwidthstring 00.00.0000
12564 layout Bibliography
12568 \labelwidthstring 00.00.0000
12580 \labelwidthstring 00.00.0000
12592 \labelwidthstring 00.00.0000
12604 \labelwidthstring 00.00.0000
12616 \labelwidthstring 00.00.0000
12628 \labelwidthstring 00.00.0000
12636 layout Rotatefoilhead
12640 \labelwidthstring 00.00.0000
12648 layout RightAddress
12652 \labelwidthstring 00.00.0000
12664 \labelwidthstring 00.00.0000
12676 \labelwidthstring 00.00.0000
12688 \labelwidthstring 00.00.0000
12699 \begin_layout Standard
12700 These ones are kept for backwards compatibility, but only make sense on
12705 \labelwidthstring 00.00.0000
12717 \labelwidthstring 00.00.0000
12725 layout Subsubsection*
12729 \labelwidthstring 00.00.0000
12740 \begin_layout Section
12744 \begin_layout Subsection
12751 \labelwidthstring 00.00.0000
12762 \labelwidthstring 00.00.0000
12773 \labelwidthstring 00.00.0000
12784 \labelwidthstring 00.00.0000
12795 \labelwidthstring 00.00.0000
12806 \labelwidthstring 00.00.0000
12817 \labelwidthstring 00.00.0000
12824 hyphenation-point-insert
12828 \labelwidthstring 00.00.0000
12839 \labelwidthstring 00.00.0000
12846 line-delete-forward
12850 \labelwidthstring 00.00.0000
12861 \labelwidthstring 00.00.0000
12872 \labelwidthstring 00.00.0000
12883 \labelwidthstring 00.00.0000
12894 \labelwidthstring 00.00.0000
12905 \labelwidthstring 00.00.0000
12914 \labelwidthstring 00.00.0000
12925 \labelwidthstring 00.00.0000
12936 \labelwidthstring 00.00.0000
12947 \labelwidthstring 00.00.0000
12958 \labelwidthstring 00.00.0000
12969 \labelwidthstring 00.00.0000
12980 \labelwidthstring 00.00.0000
12992 \labelwidthstring 00.00.0000
13004 \labelwidthstring 00.00.0000
13016 \labelwidthstring 00.00.0000
13028 \labelwidthstring 00.00.0000
13041 \labelwidthstring 00.00.0000
13053 \labelwidthstring 00.00.0000
13065 \labelwidthstring 00.00.0000
13077 \labelwidthstring 00.00.0000
13089 \labelwidthstring 00.00.0000
13102 \labelwidthstring 00.00.0000
13114 \labelwidthstring 00.00.0000
13126 \labelwidthstring 00.00.0000
13139 \labelwidthstring 00.00.0000
13152 \labelwidthstring 00.00.0000
13165 \labelwidthstring 00.00.0000
13178 \labelwidthstring 00.00.0000
13191 \labelwidthstring 00.00.0000
13204 \labelwidthstring 00.00.0000
13216 \labelwidthstring 00.00.0000
13228 \labelwidthstring 00.00.0000
13240 \labelwidthstring 00.00.0000
13248 menu-open Documents
13252 \labelwidthstring 00.00.0000
13264 \labelwidthstring 00.00.0000
13276 \labelwidthstring 00.00.0000
13288 \labelwidthstring 00.00.0000
13300 \labelwidthstring 00.00.0000
13312 \labelwidthstring 00.00.0000
13320 buffer-toggle-read-only
13324 \labelwidthstring 00.00.0000
13336 \labelwidthstring 00.00.0000
13348 \labelwidthstring 00.00.0000
13360 \labelwidthstring 00.00.0000
13371 \labelwidthstring 00.00.0000
13382 \labelwidthstring 00.00.0000
13393 \labelwidthstring 00.00.0000
13404 \labelwidthstring 00.00.0000
13415 \labelwidthstring 00.00.0000
13426 \labelwidthstring 00.00.0000
13437 \labelwidthstring 00.00.0000
13448 \labelwidthstring 00.00.0000
13459 \labelwidthstring 00.00.0000
13470 \labelwidthstring 00.00.0000
13481 \labelwidthstring 00.00.0000
13492 \labelwidthstring 00.00.0000
13503 \labelwidthstring 00.00.0000
13514 \labelwidthstring 00.00.0000
13521 word-delete-forward
13525 \labelwidthstring 00.00.0000
13532 word-delete-backward
13536 \labelwidthstring 00.00.0000
13547 \labelwidthstring 00.00.0000
13554 end-of-sentence-period-insert
13558 \labelwidthstring 00.00.0000
13565 protected-space-insert
13569 \labelwidthstring 00.00.0000
13580 \labelwidthstring 00.00.0000
13591 \labelwidthstring 00.00.0000
13602 \labelwidthstring 00.00.0000
13613 \labelwidthstring 00.00.0000
13624 \labelwidthstring 00.00.0000
13635 \labelwidthstring 00.00.0000
13642 buffer-begin-select
13646 \labelwidthstring 00.00.0000
13657 \labelwidthstring 00.00.0000
13664 paragraph-up-select
13668 \labelwidthstring 00.00.0000
13675 paragraph-down-select
13679 \labelwidthstring 00.00.0000
13686 word-backward-select
13690 \labelwidthstring 00.00.0000
13697 word-forward-select
13701 \labelwidthstring 00.00.0000
13712 \labelwidthstring 00.00.0000
13719 word-delete-forward
13723 \labelwidthstring 00.00.0000
13734 \labelwidthstring 00.00.0000
13745 \labelwidthstring 00.00.0000
13756 \labelwidthstring 00.00.0000
13767 \labelwidthstring 00.00.0000
13774 break-paragraph-keep-layout
13778 \labelwidthstring 00.00.0000
13786 \begin_layout Subsection
13793 \labelwidthstring 00.00.0000
13804 \labelwidthstring 00.00.0000
13815 \labelwidthstring 00.00.0000
13826 \labelwidthstring 00.00.0000
13837 \labelwidthstring 00.00.0000
13848 \labelwidthstring 00.00.0000
13859 \labelwidthstring 00.00.0000
13870 \labelwidthstring 00.00.0000
13881 \labelwidthstring 00.00.0000
13892 \labelwidthstring 00.00.0000
13903 \labelwidthstring 00.00.0000
13914 \labelwidthstring 00.00.0000
13925 \labelwidthstring 00.00.0000
13936 \labelwidthstring 00.00.0000
13947 \labelwidthstring 00.00.0000
13958 \labelwidthstring 00.00.0000
13969 \labelwidthstring 00.00.0000
13980 \labelwidthstring 00.00.0000
13991 \labelwidthstring 00.00.0000
14002 \labelwidthstring 00.00.0000
14013 \labelwidthstring 00.00.0000
14024 \labelwidthstring 00.00.0000
14035 \labelwidthstring 00.00.0000
14042 protected-space-insert
14046 \labelwidthstring 00.00.0000
14057 \labelwidthstring 00.00.0000
14068 \labelwidthstring 00.00.0000
14079 \labelwidthstring 00.00.0000
14086 buffer-new-template
14090 \labelwidthstring 00.00.0000
14101 \labelwidthstring 00.00.0000
14112 \labelwidthstring 00.00.0000
14123 \labelwidthstring 00.00.0000
14134 \labelwidthstring 00.00.0000
14145 \labelwidthstring 00.00.0000
14156 \labelwidthstring 00.00.0000
14167 \labelwidthstring 00.00.0000
14174 end-of-sentence-period-insert
14178 \labelwidthstring 00.00.0000
14189 \labelwidthstring 00.00.0000
14200 \labelwidthstring 00.00.0000
14207 hyphenation-point-insert
14211 \labelwidthstring 00.00.0000
14222 \labelwidthstring 00.00.0000
14229 protected-space-insert
14233 \labelwidthstring 00.00.0000
14244 \labelwidthstring 00.00.0000
14255 \labelwidthstring 00.00.0000
14266 \labelwidthstring 00.00.0000
14277 \labelwidthstring 00.00.0000
14288 \labelwidthstring 00.00.0000
14299 \labelwidthstring 00.00.0000
14310 \labelwidthstring 00.00.0000
14321 \labelwidthstring 00.00.0000
14332 \labelwidthstring 00.00.0000
14343 \labelwidthstring 00.00.0000
14354 \labelwidthstring 00.00.0000
14365 \labelwidthstring 00.00.0000
14376 \labelwidthstring 00.00.0000
14387 \labelwidthstring 00.00.0000
14398 \labelwidthstring 00.00.0000
14405 word-delete-forward
14409 \labelwidthstring 00.00.0000
14416 word-delete-backward
14420 \labelwidthstring 00.00.0000
14431 \labelwidthstring 00.00.0000
14442 \labelwidthstring 00.00.0000
14453 \labelwidthstring 00.00.0000
14464 \labelwidthstring 00.00.0000
14471 paragraph-down-select
14475 \labelwidthstring 00.00.0000
14486 \labelwidthstring 00.00.0000
14493 buffer-begin-select
14497 \labelwidthstring 00.00.0000
14504 word-backward-select
14508 \labelwidthstring 00.00.0000
14515 word-forward-select
14519 \labelwidthstring 00.00.0000
14526 paragraph-up-select
14530 \labelwidthstring 00.00.0000
14541 \labelwidthstring 00.00.0000
14548 break-paragraph-keep-layout
14552 \labelwidthstring 00.00.0000
14563 \labelwidthstring 00.00.0000
14574 \labelwidthstring 00.00.0000
14585 \labelwidthstring 00.00.0000
14596 \labelwidthstring 00.00.0000
14607 \labelwidthstring 00.00.0000
14616 \labelwidthstring 00.00.0000
14627 \labelwidthstring 00.00.0000
14638 \labelwidthstring 00.00.0000
14649 \labelwidthstring 00.00.0000
14660 \labelwidthstring 00.00.0000
14670 \begin_layout Subsection
14676 \begin_layout Standard
14677 These are LyX keyboard definitions for mathematics, similar to those of
14681 \begin_layout Standard
14682 The bindings file and the present documentation were prepared by Serge Winitzki
14683 with assistance from Jean-Marc Lasgouttes.
14684 Version 1.3, for LyX 1.2.x and 1.3.x.
14687 \begin_layout Standard
14688 These definitions make it a lot easier to type equations without using the
14689 mouse, especially for people familiar with Scientific Word.
14690 The standard LyX bindings such as
14701 \begin_layout Standard
14702 Tip: to find the "LyX bind name" for a key, look at the status bar after
14703 typing some non-existent key combination.
14705 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
14706 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
14710 \labelwidthstring 00.00.0000
14719 -- Copy, cut, paste is as in Sciword,
14735 \labelwidthstring 00.00.0000
14744 -- Display equation toggle: type
14748 to insert a displayed formula (
14753 \begin_inset Quotes eld
14757 \begin_inset Quotes erd
14765 in a displayed formula to convert it back to an inline formula.
14769 \labelwidthstring 00.00.0000
14784 to insert a fraction (
14789 \begin_inset Quotes eld
14793 \begin_inset Quotes erd
14797 You can also select an expression and type
14801 to convert it to the numerator of a fraction.
14810 end of the denominator will delete the numerator and convert the denominator
14815 \labelwidthstring 00.00.0000
14827 \begin_inset Formula $\int$
14835 \begin_inset Quotes eld
14839 \begin_inset Quotes erd
14846 \labelwidthstring 00.00.0000
14853 line-delete-forward
14855 -- Emacs-like binding: delete forward of cursor to end of line.
14859 \labelwidthstring 00.00.0000
14868 -- A text/math toggle (
14873 \begin_inset Quotes eld
14877 \begin_inset Quotes erd
14880 ): switches to math in text mode, and also inserts roman text in math mode.
14890 \begin_inset Quotes eld
14894 \begin_inset Quotes erd
14901 \labelwidthstring 00.00.0000
14910 -- Add/remove numbering in a single equation.
14914 \labelwidthstring 00.00.0000
14923 -- Add/remove numbering at a line in equation arrays.
14926 \begin_layout Standard
14927 The above commands are toggles that control the numbering of equations (
14932 \begin_inset Quotes eld
14936 \begin_inset Quotes erd
14940 Note: when deleting a number in a labeled eqnarray, the label is not really
14941 removed (the TeX code becomes
14942 \begin_inset Quotes eld
14954 \begin_inset Quotes erd
14957 ) and this generates a (harmless) LaTeX warning.
14961 \labelwidthstring 00.00.0000
14970 -- Open a new document.
14975 \labelwidthstring 00.00.0000
14984 -- Insert a quote character " (
14989 \begin_inset Quotes eld
14993 \begin_inset Quotes erd
14998 \begin_inset Quotes eld
15002 \begin_inset Quotes erd
15005 double quote character that you get by default.
15009 \labelwidthstring 00.00.0000
15020 -- Square root sign
15021 \begin_inset Formula $\sqrt{x}$
15029 \begin_inset Quotes eld
15033 \begin_inset Quotes erd
15040 \labelwidthstring 00.00.0000
15052 \begin_inset Formula $\sqrt[n]{x}$
15059 \labelwidthstring 00.00.0000
15068 -- Another binding for a switch between the text and the math mode (
15073 \begin_inset Quotes eld
15077 \begin_inset Quotes erd
15081 Note that the roman text inserted in math mode is special.
15085 \labelwidthstring 00.00.0000
15098 the selected text (text mode only, use things like
15114 \labelwidthstring 00.00.0000
15123 -- W*ndows heritage.
15127 \labelwidthstring 00.00.0000
15136 -- Close the current document (again, a W*ndows heritage).
15140 \labelwidthstring 00.00.0000
15151 \labelwidthstring 00.00.0000
15162 \labelwidthstring 00.00.0000
15172 \begin_inset Quotes eld
15176 \begin_inset Quotes erd
15180 \begin_inset Quotes eld
15184 \begin_inset Quotes erd
15190 \begin_layout Standard
15191 Bracket delimiters: press
15195 -<bracket key> to insert a matching pair of delimiters.
15200 inserts a pair of parentheses
15201 \begin_inset Formula $\left[\right]$
15209 does the same thing.) It will switch to math mode if needed.
15210 The supported characters are ( [ { < |.
15211 It is the same to press the right or the left bracket.
15212 The corresponding delimiters are
15213 \begin_inset Formula $\left(\right)$
15217 \begin_inset Formula $\left[\right]$
15221 \begin_inset Formula $\left\{ \right\} $
15225 \begin_inset Formula $\left\langle \right\rangle $
15229 \begin_inset Formula $\left|\right|$
15234 \begin_inset Quotes eld
15238 \begin_inset Quotes erd
15241 and resize with their contents.
15242 Use Math Panel to get other or non-matching delimiters.
15243 Press backspace on the
15247 delimiter to remove both
15248 \begin_inset Quotes eld
15252 \begin_inset Quotes erd
15255 delimiters without removing their contents.
15259 \labelwidthstring 00.00.0000
15268 -- for convenience, pressing
15282 \labelwidthstring 00.00.0000
15293 \labelwidthstring 00.00.0000
15304 \labelwidthstring 00.00.0000
15315 \labelwidthstring 00.00.0000
15326 \labelwidthstring 00.00.0000
15337 \labelwidthstring 00.00.0000
15344 math-delim langle rangle
15346 -- angular delimiters
15347 \begin_inset Formula $\left\langle \right\rangle $
15350 , not to confuse with ordinary < > signs.
15354 \labelwidthstring 00.00.0000
15361 math-delim langle rangle
15364 \begin_layout Standard
15365 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15366 some British ones), the bar character
15371 -something and on some wayward Unices to "brokenbar".
15372 So we define all of these keys as well.
15376 \labelwidthstring 00.00.0000
15387 \labelwidthstring 00.00.0000
15398 \labelwidthstring 00.00.0000
15409 \labelwidthstring 00.00.0000
15420 \labelwidthstring 00.00.0000
15430 \begin_layout Standard
15431 Accents are in most cases
15435 -<accent key>, e.g.\InsetSpace ~
15449 for tilde (you also need to press
15455 \begin_inset Quotes eld
15467 \begin_inset Quotes erd
15471 Some accents work only in math mode and others only in text mode.
15475 \labelwidthstring 00.00.0000
15484 -- overdot accent, \i \.{a}
15489 \labelwidthstring 00.00.0000
15501 \begin_inset Formula $\dot{a}$
15504 (math mode only -- in physics this denotes a first derivative).
15508 \labelwidthstring 00.00.0000
15519 -- Vector accent over math
15520 \begin_inset Formula $\overrightarrow{x}$
15527 \labelwidthstring 00.00.0000
15536 -- umlaut accent, ä (text mode only)
15540 \labelwidthstring 00.00.0000
15551 -- double dot accent,
15552 \begin_inset Formula $\ddot{a}$
15555 (math mode only -- in physics this denotes a second derivative).
15556 To get a triple dot in math mode, use
15564 \labelwidthstring 00.00.0000
15573 -- grave accent à (text mode only, use
15583 \labelwidthstring 00.00.0000
15592 -- tilde accent ã (text mode only, use
15602 \labelwidthstring 00.00.0000
15611 -- acute accent á (text mode only, use
15621 \labelwidthstring 00.00.0000
15630 -- circumflex (caret) accent â (text mode only, use
15639 \begin_layout Standard
15641 The new key S-F2 for creating a LaTeX file seems handy.
15645 \labelwidthstring 00.00.0000
15654 -- Save current document.
15658 \labelwidthstring 00.00.0000
15665 buffer-export latex
15667 -- Write a LaTeX file for the current document.
15671 \labelwidthstring 00.00.0000
15680 -- Find and replace dialog.
15684 \labelwidthstring 00.00.0000
15701 \labelwidthstring 00.00.0000
15714 to quit LyX is the W*ndows w*ndow manager's mnemonic.
15717 \begin_layout Standard
15726 are used to switch fonts.
15731 to switch back to the normal font.
15732 The non-default font switches
15740 all work as toggles.
15741 They also work on the whole word if you put the cursor in the middle of
15742 the word, or if you select some text.
15746 \labelwidthstring 00.00.0000
15755 -- stop using any special font
15759 \labelwidthstring 00.00.0000
15776 \labelwidthstring 00.00.0000
15793 \labelwidthstring 00.00.0000
15810 \labelwidthstring 00.00.0000
15824 (Used sometimes for people's names.)
15827 \begin_layout Standard
15833 \begin_inset Quotes eld
15837 \begin_inset Quotes erd
15844 key (useful e.g.\InsetSpace ~
15845 if the keyboard has no working
15852 \begin_layout Standard
15853 Here are some Sciword-inspired mnemonics for frequently used math symbols.
15854 Many symbols start with a
15863 cannot be itself bound to anything.
15867 \labelwidthstring 00.00.0000
15879 \begin_inset Quotes eld
15883 \begin_inset Quotes erd
15887 \begin_inset Formula $\prime$
15891 This is frequently unnecessary: in most cases the normal apostrophe works
15894 \begin_inset Formula $x'+2x=0$
15897 , but in some cases this would generate a double superscript error in LaTeX.
15899 \begin_inset Formula $x^{\prime2}$
15903 \begin_inset Formula $x$
15906 prime squared) must be entered with the prime character.
15910 \labelwidthstring 00.00.0000
15918 command-sequence math-superscript; math-insert
15922 -- Insert a prime as a superscript (see example above).
15926 \labelwidthstring 00.00.0000
15935 -- Insert an upper index.
15942 \labelwidthstring 00.00.0000
15951 -- Insert a lower index.
15958 \labelwidthstring 00.00.0000
15970 -- Partial derivative symbol
15971 \begin_inset Formula $\partial$
15978 \labelwidthstring 00.00.0000
15990 -- Summation symbol
15991 \begin_inset Formula $\sum$
15994 (not the same as the Greek letter uppercase Sigma
15995 \begin_inset Formula $\Sigma$
15998 because it can resize and allows smart upper/lower limits).
16002 \labelwidthstring 00.00.0000
16015 \begin_inset Formula $\prod$
16018 (not the same as the Greek letter uppercase Pi,
16019 \begin_inset Formula $\Pi$
16026 \labelwidthstring 00.00.0000
16039 \begin_inset Formula $\infty$
16046 \labelwidthstring 00.00.0000
16059 \begin_inset Formula $\times$
16066 \labelwidthstring 00.00.0000
16076 -- Insert a stacked array
16077 \begin_inset Formula $\begin{array}{c}
16079 \end{array}\end{array}$
16083 (Frequently useful in formulae.)
16087 \labelwidthstring 00.00.0000
16098 \begin_inset Formula $\times$
16102 \begin_inset Formula $\begin{array}{ccc}
16107 (Then you can modify its size using the
16109 Edit\SpecialChar \menuseparator
16116 \labelwidthstring 00.00.0000
16129 \begin_inset Quotes eld
16133 \begin_inset Quotes erd
16137 \begin_inset Formula $\dagger$
16144 \labelwidthstring 00.00.0000
16157 \begin_inset Quotes eld
16161 \begin_inset Quotes erd
16165 \begin_inset Formula $\equiv$
16172 \labelwidthstring 00.00.0000
16184 \begin_inset Quotes eld
16187 Approximate equality
16188 \begin_inset Quotes erd
16192 \begin_inset Formula $\approx$
16199 \labelwidthstring 00.00.0000
16211 \begin_inset Quotes eld
16215 \begin_inset Quotes erd
16219 \begin_inset Formula $\sim$
16226 \labelwidthstring 00.00.0000
16238 \begin_inset Formula $\rightarrow$
16242 \begin_inset Formula $\lim_{x\rightarrow0}$
16249 \labelwidthstring 00.00.0000
16261 \begin_inset Formula $\leq$
16268 \labelwidthstring 00.00.0000
16279 -- Greater-or-equal
16280 \begin_inset Formula $\geq$
16287 \labelwidthstring 00.00.0000
16300 \begin_inset Quotes eld
16304 \begin_inset Quotes erd
16308 \begin_inset Formula $\ll$
16311 (useful in physics)
16315 \labelwidthstring 00.00.0000
16328 \begin_inset Quotes eld
16332 \begin_inset Quotes erd
16336 \begin_inset Formula $\gg$
16342 \begin_layout Subsection
16343 Standard math bindings
16347 \labelwidthstring 00.00.0000
16361 \labelwidthstring 00.00.0000
16373 \labelwidthstring 00.00.0000
16385 \labelwidthstring 00.00.0000
16399 \labelwidthstring 00.00.0000
16411 \labelwidthstring 00.00.0000
16423 \labelwidthstring 00.00.0000
16437 \labelwidthstring 00.00.0000
16449 \labelwidthstring 00.00.0000
16461 \labelwidthstring 00.00.0000
16473 \labelwidthstring 00.00.0000
16487 \labelwidthstring 00.00.0000
16501 \labelwidthstring 00.00.0000
16515 \labelwidthstring 00.00.0000
16529 \labelwidthstring 00.00.0000
16543 \labelwidthstring 00.00.0000
16557 \labelwidthstring 00.00.0000
16569 \labelwidthstring 00.00.0000
16583 \labelwidthstring 00.00.0000
16595 \labelwidthstring 00.00.0000
16607 \labelwidthstring 00.00.0000
16619 \labelwidthstring 00.00.0000
16631 \labelwidthstring 00.00.0000
16645 \labelwidthstring 00.00.0000
16657 \labelwidthstring 00.00.0000
16669 \labelwidthstring 00.00.0000
16681 \labelwidthstring 00.00.0000
16689 math-delim langle rangle
16693 \labelwidthstring 00.00.0000
16701 math-delim rangle langle
16705 \labelwidthstring 00.00.0000
16717 \labelwidthstring 00.00.0000
16731 \labelwidthstring 00.00.0000
16744 \begin_layout Subsection
16749 \labelwidthstring 00.00.0000
16759 \labelwidthstring 00.00.0000
16769 \labelwidthstring 00.00.0000
16779 \labelwidthstring 00.00.0000
16789 \labelwidthstring 00.00.0000