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® and Mac OS X ports of LyX,
1795 but it is planned to implement this feature on all other ports that can
1799 \begin_layout Standard
1800 Editors are like viewers: Each Format can have an Editor associated to it,
1801 and they can be altered via the
1806 ools\SpecialChar \menuseparator
1811 references:Conversion
1814 LyX uses them whenever an included file
1818 \begin_layout Standard
1819 This can be an included
1823 file, a verbatim included text file, external material or an included graphics
1832 \begin_layout Standard
1833 Finally, each Format can have a Copier associated to it.
1834 Since all conversions from one Format to another take place in a temporary
1835 directory, it is sometimes necessary to modify a file before copying it
1836 to the temporary directory
1840 \begin_layout Standard
1841 For example, the file may reference other files with relative filenames,
1842 which will become invalid in the temporary directory
1848 This is done by the Copier: It copies a file to (or from) the temporary
1849 directory and may modify it in the process.
1852 \begin_layout Standard
1853 Sometimes LyX needs to know a bit more about the properties of a format.
1854 These bits can be specified with flags.
1855 Currently there are two of them:
1858 \begin_layout Standard
1863 flag tells LyX that a format is suitable for document export.
1864 If this flag is set for a format, and if a suitable conversion route exists,
1865 then the format will appear in the
1870 ile\SpecialChar \menuseparator
1878 The format will also appear in the
1885 menu if it has a viewer associated to it.
1886 Pure image formats (e.g.\InsetSpace ~
1891 ) do not have this flag set, formats that can both represent images and
1892 documents (e.g.\InsetSpace ~
1900 \begin_layout Standard
1905 flag tells LyX whether a format can contain vector graphics.
1906 This information is used to determine the target format of included graphics
1912 Included graphics may need to be converted to either
1928 can not handle other image formats.
1929 If an included graphic is not already in
1941 format it is converted to
1949 flag of the format is set, and otherwise to
1956 \begin_layout Section
1957 BibTeX and makeindex
1960 \begin_layout Standard
1961 Both the bibliography generating command (default
1965 ) and the index generating command (default
1978 As an alternative for
1990 \begin_layout Standard
1991 The command to enter is
1997 makeindex.sh -m $$lang
2000 \begin_layout Standard
2001 where the placeholder
2005 will be replaced by the chosen document (babel) language.
2009 \begin_layout Standard
2010 have installed the packages
2027 at a shell prompt for a help page.
2030 \begin_layout Section
2031 ASCII export options
2034 \begin_layout Standard
2035 \begin_inset VSpace bigskip
2041 \begin_layout Standard
2043 There are a couple of commands that can be used to
2044 \begin_inset Quotes eld
2048 \begin_inset Quotes erd
2051 exported ASCII text files.
2052 Note that LyX automatically detects and uses the best settings for your
2053 system at installation time, but you can modify them if you disagree with
2057 \begin_layout Description
2066 This option defines the command used to produce better ASCII tables with
2071 UNIX-commands (refer to their manpages for more information about them).
2072 Setting this as empty tells LyX to use the internal (inferior) formatter.
2075 \begin_layout Description
2085 With this command you can set the default line length of the ASCII output
2087 Setting it to 0 means endless lines.
2090 \begin_layout Section
2094 \begin_layout Standard
2095 There are a bunch of configuration options that are used for interaction
2096 with the external print command from LyX.
2097 Normally the defaults are fine: if, however, your print command takes different
2098 option names, you can modify them here.
2101 \begin_layout Subsection
2105 \begin_layout Standard
2106 You can change the colors used by LyX on-screen using the new
2111 Alternatively, if you're feeling particularly perverse you could use the
2116 bindable function (see the
2121 Input would have the format:
2124 \begin_layout Standard
2127 set-color LyXName X11Color
2130 \begin_layout Standard
2131 Here is a (partial) list of the functions and default colors:
2134 \begin_layout Standard
2136 \begin_inset Tabular
2137 <lyxtabular version="3" rows="10" columns="3">
2139 <column alignment="left" valignment="top" leftline="true" width="0pt">
2140 <column alignment="left" valignment="top" leftline="true" width="0pt">
2141 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2142 <row topline="true" bottomline="true">
2143 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2146 \begin_layout Standard
2161 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2164 \begin_layout Standard
2179 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2182 \begin_layout Standard
2198 <row topline="true">
2199 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2202 \begin_layout Standard
2217 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2220 \begin_layout Standard
2235 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2238 \begin_layout Standard
2254 <row topline="true">
2255 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2258 \begin_layout Standard
2273 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2276 \begin_layout Standard
2291 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2294 \begin_layout Standard
2310 <row topline="true">
2311 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2314 \begin_layout Standard
2329 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2332 \begin_layout Standard
2347 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2350 \begin_layout Standard
2366 <row topline="true">
2367 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2370 \begin_layout Standard
2385 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2388 \begin_layout Standard
2403 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2406 \begin_layout Standard
2422 <row topline="true">
2423 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2426 \begin_layout Standard
2441 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2444 \begin_layout Standard
2454 fraction Lines, brackets, etc.
2459 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2462 \begin_layout Standard
2478 <row topline="true">
2479 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2482 \begin_layout Standard
2497 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2500 \begin_layout Standard
2506 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2509 \begin_layout Standard
2525 <row topline="true">
2526 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2529 \begin_layout Standard
2544 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2547 \begin_layout Standard
2553 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2556 \begin_layout Standard
2572 <row topline="true">
2573 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2576 \begin_layout Standard
2591 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2594 \begin_layout Standard
2600 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2603 \begin_layout Standard
2619 <row topline="true" bottomline="true">
2620 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2623 \begin_layout Standard
2638 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2641 \begin_layout Standard
2651 selection background
2656 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2659 \begin_layout Standard
2682 \begin_layout Section
2683 The autodetected settings
2686 \begin_layout Standard
2687 \begin_inset LatexCommand \label{sec:autodetected}
2691 There are several items that are detected for you when you run
2698 \SpecialChar \menuseparator
2704 In this section, we list those which pertain to the user preferences.
2707 \begin_layout Description
2728 , depending on what is available.
2731 \begin_layout Description
2744 plus a bunch of options.
2747 \begin_layout Description
2760 on systems (so-called System V) who have this command, and
2764 otherwise (BSD systems).
2767 \begin_layout Description
2773 print_spool_printerprefix
2784 , depending on whether
2795 \begin_layout Description
2812 fonts are found and LaTeX has support for these fonts built-in.
2813 You can set it manually if you only have the so-called
2820 \begin_layout Section
2824 \begin_layout Standard
2825 There are many other configuration options that can be used to customize
2827 We still need to document them here, but again, most should be fairly obvious.
2828 Please ask on the mailing lists if you need some more information; it may
2829 even prompt us to expand this section.
2832 \begin_layout Chapter
2833 Internationalizing LyX
2834 \begin_inset LatexCommand \label{chap:i18n}
2841 \begin_layout Standard
2842 LyX supports using a translated interface.
2843 Last time we checked, LyX provided text in 14 languages together with the
2844 default English text.
2845 The language of choice is called your
2850 (For further reading on locale settings, see also the documentation for
2851 locale that comes with your operating system.
2852 For Linux, the manual page for locale(5) could be a good place to start).
2855 \begin_layout Standard
2856 Notice that these translations will work, but do contain a few flaws.
2857 In particular, all dialogs have been designed with the English text in
2858 mind, which means that some of the translated text will be too large to
2859 fit within the space allocated.
2860 This is only a display problem and will not cause any harm.
2861 Also, you will find that some of the translations do not define short-cut
2862 keys for everything.
2863 Sometimes, there are simply not enough free letters to do it.
2864 Other times, the translator just hasn't got around to doing it yet.
2865 Our localization team -- which you may wish to join -- will try to fix
2866 these shortcomings in future versions of LyX.
2869 \begin_layout Section
2870 Selecting an alternative language for the user interface
2873 \begin_layout Standard
2874 This feature is disabled by default, meaning that system default language
2876 To enable an alternative language, you have to set an appropriate environment
2884 for csh class shells
2899 with the two letter code (or four letter code, like
2903 for British English) for the language you want.
2909 Besides the user interface texts being translated, also the appropriate
2910 manuals will be presented under the Help menu -- if available.
2913 \begin_layout Standard
2914 On some systems, you may have to redefine
2926 , to override the system settings; their preference is in this order
2930 \begin_layout Standard
2931 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
2937 , which corresponds to the way GNU
2942 Consult your system documentation.
2943 Normally, you'll want to put the appropriate line in a shell script run
2944 on start-up, so that the translation is on by default.
2945 Remember that this affects
2949 localized packages, not only LyX!
2952 \begin_layout Standard
2953 If LyX is configured and compiled with
2954 \begin_inset Quotes eld
2962 \begin_inset Quotes erd
2965 , this mechanism will not work.
2968 \begin_layout Section
2972 \begin_layout Subsection
2973 Translating the graphical user interface (text messages).
2976 \begin_layout Standard
2981 library to handle the internationalization of the interface.
2982 To have LyX speak your favorite language in all menus and dialogs, you
2987 -file for that language.
2988 When this is available, you'll have to generate a mo-file from it and install
2994 The process of doing all of this is explained in the documentation for
2999 , but in short, this is what you do (
3003 denotes the language code):
3006 \begin_layout Standard
3010 \begin_layout Standard
3022 \begin_layout Itemize
3025 LYX-SOURCE-DIR/po/lyx.pot
3038 doesn't exist, it can be remade with
3042 in that directory, or you can use an existing po-file for some other language
3046 \begin_layout Itemize
3053 \begin_layout Standard
3054 We recommend that you use Emacs to do this, since the
3058 distribution includes a nice mode that supports you in doing this.
3066 For some menu- and widget-labels, there are also shortcut keys that should
3068 Those keys are marked after a `|', and should be translated according to
3069 the words and phrases of the
3074 There is a tool named
3078 written in Prolog in
3080 LYX-SOURCE-DIR/development/tools/
3082 that may be useful to help determine short-cut keys.
3083 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
3084 characters as shortcut keys.
3085 You should also fill also out the information at the beginning of the new
3090 -file with your email-address, etc., so people know where to reach you with
3091 suggestions and entertaining flames.
3094 \begin_layout Itemize
3103 This can be done with
3122 \begin_layout Itemize
3127 -file to your locale-tree, at the correct directory for application messages
3132 , and under the name
3141 /usr/local/share/locale/
3152 \begin_layout Standard
3156 \begin_layout Standard
3168 \begin_layout Standard
3169 Adding a new po-file to the
3173 of LyX involves altering the configure scripts and more, but the way
3177 works, you don't actually need the source-code of LyX to translate it---having
3193 \begin_layout Standard
3194 If you've written a translation file for a language that LyX does not currently
3195 support, feel free to submit it for inclusion by sending a patch.
3196 In this case, we recommend that you read the
3204 directory for more instructions.
3207 \begin_layout Subsubsection
3211 \begin_layout Standard
3212 Sometimes it turns out that one english message needs to be translated into
3213 different messages in the target language.
3214 One example is the message
3218 which has the german translation
3235 does not handle such ambigous translations.
3236 Therefore you have to add some context information to the message: Instead
3243 To[[as in 'From format x to format y']]
3247 To[[as in 'From page x to page y']].
3250 Now the two occurences of
3258 and can be translated correctly to
3273 \begin_layout Standard
3274 Of course the context information needs to be stripped off the original
3275 message when no translation is used.
3276 Therefore you have to put it in double square brackets at the end of the
3277 message (see the example above).
3278 The translation mechanism of LyX ensures that everything in double square
3279 brackets at the end of messages is removed before displaying the message.
3282 \begin_layout Subsection
3283 Translating the documentation.
3286 \begin_layout Standard
3287 The online documentation (in the
3294 -menu) can (and should!) be translated.
3295 If there are translated versions of the documentation available
3299 \begin_layout Standard
3300 As of February 2003, almost all of the docs have been translated into German
3306 has been translated into at least 12 other languages, with other translations
3308 The library of translated documents is growing rapidly.
3313 , and the locale is set accordingly, these will be used automagically by
3315 LyX looks for translated versions as
3329 denotes the language as set by the environmental variable
3334 If there are none, the default English versions will be displayed.
3335 Note that the translated versions must have the same filenames (
3339 above) as the original.
3340 If you feel up to translating the documentation (an excellent way to proof-read
3341 the original documentation BTW!), there are a few things you should do
3345 \begin_layout Itemize
3350 , the guide to writing LyX documentation.
3351 Pay special attention to the translator's section.
3354 \begin_layout Itemize
3355 Check out the documentation translation web page at
3356 \begin_inset LatexCommand \url[The LyX Developer's Web Site]{http://www.devel.lyx.org}
3361 That way, you can find out which (if any) documents have already been translate
3362 d into your language.
3363 You can also find out who (if anyone) is organizing the effort to translate
3364 the documentation into your language.
3365 If no one is organizing the effort, please let us know that you're interested.
3368 \begin_layout Standard
3369 Once you get to actually translating, here's a few hints for you that may
3373 \begin_layout Itemize
3374 Join the documentation team! There is information on how to do that in
3383 elp\SpecialChar \menuseparator
3390 ), which by the way is the first document you should translate.
3393 \begin_layout Itemize
3394 Learn the typographic conventions for the language you are translating to.
3395 Typography is an ancient art and over the centuries, a great variety of
3396 conventions have developed throughout different parts of the world.
3397 Also study the professional terminology amongst typographers in your country.
3398 Inventing your own terminology will only confuse the users.
3401 (Warning! Typography is addictive!)
3404 \begin_layout Itemize
3405 Make a copy of the document.
3406 This will be your working copy.
3407 You can use this as your personal translated help-file by placing it in
3415 \begin_layout Itemize
3416 Sometimes the original document (from the LyX-team) will be updated.
3417 Use the ViewCVS tool available at
3418 \begin_inset LatexCommand \htmlurl{http://www.lyx.org/viewcvs.cgi/lyxdoc/}
3422 to see what has been changed
3426 \begin_layout Standard
3427 Alternatively, you can keep a copy of the latest version of the English
3428 document which you've translated.
3434 That way you can easily see which parts of the translated document need
3438 \begin_layout Itemize
3439 If you ever find an error in the original document, fix it and notify the
3440 rest of the documentation team of the changes! (You didn't forget to join
3441 the documentation team did you?)
3444 \begin_layout Section
3445 International Keyboard Support
3448 \begin_layout Standard
3451 [Editor's Note: The following section is by
3456 It needs to be fixed to conform to the new Documentation Style sheet and
3457 to make use of the new v1.0 features.
3458 The whole thing also needs to be merged with the section following it.-jw]
3461 \begin_layout Subsection
3462 Defining Own Keymaps: Keymap File Format
3465 \begin_layout Standard
3466 Let's look at a keyboard definition file a little closer.
3467 It is a plain ASCII file defining
3470 \begin_layout Itemize
3471 key-to-key or key-to-string translations
3474 \begin_layout Itemize
3478 \begin_layout Itemize
3479 dead keys exceptions
3482 \begin_layout Standard
3483 To define key-to-key or key-to-string translation, use this command:
3486 \begin_layout Quotation
3502 \begin_layout Standard
3507 is the key to be translated and
3511 is the string to be inserted into the document.
3512 To define dead keys, use:
3515 \begin_layout Quotation
3531 \begin_layout Standard
3541 The following dead keys are supported (shortcut name is in parentheses):
3544 \begin_layout Quotation
3552 \begin_layout Quotation
3558 \begin_layout Quotation
3564 \begin_layout Quotation
3571 \begin_layout Quotation
3577 \begin_layout Quotation
3584 \begin_layout Standard
3596 \begin_layout Quotation
3602 \begin_layout Quotation
3609 \begin_layout Standard
3621 \begin_layout Quotation
3627 \begin_layout Quotation
3635 \begin_layout Quotation
3642 \begin_layout Standard
3654 \begin_layout Quotation
3662 \begin_layout Standard
3674 \begin_layout Quotation
3683 \begin_layout Quotation
3684 hungarian umlaut (hug)
3691 \begin_layout Quotation
3697 \begin_layout Quotation
3705 \begin_layout Standard
3717 \begin_layout Standard
3718 Since in many international keyboards there are exceptions to what some
3719 dead keys should do, you can define them using
3722 \begin_layout Quotation
3731 deadkey key outstring
3734 \begin_layout Standard
3735 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3739 \begin_layout Quotation
3753 \begin_layout Standard
3754 to make it work correctly.
3755 Also, you have to define as exceptions dead keys over i and j, to remove
3756 the dot from them before inserting an accent mark.
3757 I will change this when the time comes, but so far I haven't had time.
3760 \begin_layout Standard
3761 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3767 have different meaning.
3772 marks comments, quotes start and end LaTeX-style commands.
3773 To enter quote, you'll need to use
3792 \begin_layout Standard
3793 If you make a keyboard description file that works for your language, please
3794 mail it to me, so I can include it in the next keymap distribution.
3797 \begin_layout Standard
3798 More keywords will be supported in keymap configuration file in future,
3802 \begin_layout Itemize
3820 \begin_layout Itemize
3835 an external keymap translation program
3838 \begin_layout Standard
3839 Also, it should look into
3843 file for defaults, too (for example, a
3849 option to include default keyboard).
3852 \begin_layout Section
3853 International Keymap Stuff
3854 \begin_inset LatexCommand \label{sec:keymap}
3861 \begin_layout Standard
3862 The next two sections describe the
3874 file syntax in detail.
3875 These sections should help you design your own key map if the ones provided
3876 do not meet your needs.
3879 \begin_layout Subsection
3883 \begin_layout Standard
3892 file maps keystrokes to characters or strings.
3893 As the name suggests it sets a keyboard mapping.
3918 are described in this section.
3922 \labelwidthstring 00.00.0000
3929 Map a character to a string
3932 \begin_layout LyX-Code
3945 \begin_layout Standard
3963 the double-quote (")
3971 must be escaped with a preceding backslash (
3982 \begin_layout Standard
3989 statement to cause the symbol
3995 to be output for the keystroke
4004 \begin_layout LyX-Code
4011 \labelwidthstring 00.00.0000
4018 Specify an accent character
4021 \begin_layout LyX-Code
4031 \begin_layout Standard
4032 This will make the cha
4047 This is the dead key
4051 \begin_layout Standard
4058 refers to a key that does not produce a character by itself, but when followed
4059 with another key, produces the desired accent character.
4060 For example, a German characte
4062 r with an umlaut like
4066 can be produced in this manner.
4075 \begin_layout Standard
4082 and then another key not in
4090 followed by the other, unallowed key, as output.
4099 cancels a dead key, so if
4110 , the cursor will not go one position backwards but will instead cancel
4117 might have had on the next keystroke.
4121 \begin_layout Standard
4122 The following example specifies that the character ' is to be an acute accent,
4123 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4126 \begin_layout LyX-Code
4129 kmod ' acute aeiouAEIOU
4133 \labelwidthstring 00.00.0000
4138 Specify an exception to the accent character
4141 \begin_layout LyX-Code
4152 \begin_layout Standard
4153 This defines an exce
4172 have been assigned a keystroke with a previous
4186 must not belong in the
4206 If such a declaration does not exist in
4243 \begin_layout Standard
4244 The following command produces causes äi to be produced when you enter acute-i
4248 \begin_layout LyX-Code
4263 \labelwidthstring 00.00.0000
4268 Combine two accent characters
4271 \begin_layout LyX-Code
4277 accent1 accent2 allowed
4280 \begin_layout Standard
4281 This one is getting pretty esoteric.
4282 It allows you to combine the effect
4327 \begin_layout Standard
4328 Consider this example from the
4337 \begin_layout LyX-Code
4340 kmod ; acute aeioyvhAEIOYVH
4344 kcomb acute umlaut iyIY
4347 \begin_layout Standard
4348 This allows you to press
4354 and get the effect of
4371 in this case cancels the last dead key, so if you press
4388 \begin_layout Subsection
4392 \begin_layout Standard
4401 mapping is performed, a
4408 file maps the strings that the symbols generate to characters in the current
4410 The LyX distribution currently includes at least the
4425 \begin_layout Standard
4434 file is a sequence of declarations of the form
4437 \begin_layout LyX-Code
4448 \begin_layout Standard
4449 For example, in order to map
4457 to the corresponding character in the iso-8859-1 set (233), the following
4461 \begin_layout LyX-Code
4469 \begin_layout Standard
4489 the same character can apply to more than one string.
4502 \begin_layout LyX-Code
4528 \begin_layout Standard
4529 If LyX cannot find a mapping for the string produced by the keystroke or
4530 a deadkey sequence, it will check if it looks like an accented char and
4531 try to draw an accent over the character on screen.
4534 \begin_layout Subsection
4538 \begin_layout Standard
4539 There is a second way to add support for international characters through
4540 so-called dead-keys.
4541 A dead-key works in combination with a letter to produce an accented character.
4542 Here, we'll explain how to create a really simple dead-key to illustrate
4546 \begin_layout Standard
4547 Suppose you happen to need the circumflex character,
4548 \begin_inset Quotes eld
4553 \begin_inset Quotes erd
4561 -key [a.k.a.\InsetSpace ~
4566 ] to the LyX command
4575 Now, whenever you type the
4579 -key followed by a letter, that letter will have a circumflex accent on
4581 For example, the sequence
4582 \begin_inset Quotes eld
4590 \begin_inset Quotes erd
4593 produces the letter:
4594 \begin_inset Quotes eld
4598 \begin_inset Quotes erd
4602 If you tried to type
4603 \begin_inset Quotes eld
4611 \begin_inset Quotes erd
4614 , however, LyX will complain with a beep, since a
4615 \begin_inset Quotes eld
4623 \begin_inset Quotes erd
4626 never takes a circumflex accent.
4631 after a dead-key produces the bare-accent.
4632 Please note this last point! If you bind a key to a dead-key, you'll need
4633 to rebind the character on that key to yet another key.
4638 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4641 \begin_layout Standard
4642 One common way to bind dead-keys is to use
4654 in combination with an accent, like
4655 \begin_inset Quotes eld
4663 \begin_inset Quotes erd
4667 \begin_inset Quotes eld
4675 \begin_inset Quotes erd
4679 \begin_inset Quotes eld
4687 \begin_inset Quotes erd
4691 Another way involves using
4699 [remember them from section?] to set up the special
4708 acts in some ways just like
4712 and permits you to bind keys to accented characters.
4713 You can also turn keys into dead-keys by binding them to something like
4718 and then binding this symbolic key to the corresponding LyX command.
4722 \begin_layout Standard
4727 : This is exactly what I do in my
4745 and a bunch of these
4746 \begin_inset Quotes eld
4754 \begin_inset Quotes erd
4757 symbolic keys bound such things as
4768 This is how I produce my accented characters.
4773 You can make just about anything into the
4781 keys, a spare function key, etc.
4782 As for the LyX commands that produce accents, check the entry for
4791 You'll find the complete list there.
4794 \begin_layout Subsection
4795 Saving your Language Configuration
4798 \begin_layout Standard
4799 \begin_inset LatexCommand \label{sec:savlang}
4803 You can edit your preferences so that your desired language environment
4804 is automatically configured when LyX starts up, via the
4809 dit\SpecialChar \menuseparator
4819 \begin_layout Chapter
4820 Installing New Document Classes, Layouts, and Templates
4821 \begin_inset LatexCommand \label{chap:textclass}
4829 \begin_layout Standard
4830 Installing New Document Classes
4838 \begin_layout Standard
4839 In this chapter, we describe the procedures for creating and installing
4840 new LyX layout and template files, as well as offer a refresher on correctly
4841 installing new LaTeX document classes.
4842 Some definitions: a document class is a LaTeX file (usually ending in
4850 ) which describes the format of a document such as an article, report, journal
4852 and all the commands needed to realize that format.
4853 A layout file is a LyX file which corresponds to a LaTeX document class
4854 and which tells LyX how to
4855 \begin_inset Quotes eld
4859 \begin_inset Quotes erd
4862 things on the screen to make the display look something like the final
4864 More precisely, a layout file describes a
4865 \begin_inset Quotes eld
4869 \begin_inset Quotes erd
4872 which is the internal construct LyX uses to render the screen display.
4874 \begin_inset Quotes eld
4878 \begin_inset Quotes erd
4882 \begin_inset Quotes eld
4886 \begin_inset Quotes erd
4889 can be used somewhat interchangeably, but it is better to refer to the
4890 file as the layout, and the thing living in LyX's memory as the text class.
4891 A template file is simply a LyX document which contains a set of predefined
4892 entries for a given document class which are generally required for that
4894 Templates are especially useful for things like journal manuscripts which
4895 are to be submitted electronically.
4898 \begin_layout Section
4899 Installing a new LaTeX package
4902 \begin_layout Standard
4903 Some installations may not include a LaTeX package that you would like to
4905 For example, you might need FoilTeX, a common (and very powerful) package
4906 for preparing slides or viewgraphs for overhead projectors.
4907 Here are the formal steps involved in getting the package up and running
4908 if you are using teTeX or some other web2c based distribution.
4912 \begin_layout Enumerate
4913 Get the package from CTAN or wherever.
4917 \begin_layout Standard
4920 Inventory of your LaTeX configuration
4922 manual for details of what CTAN is and where supported document classes
4931 \begin_layout Enumerate
4936 (this usually lives in the directory
4940 , though you can run
4945 It describes how to add a local
4949 directory; follow the instructions.
4950 You need to insert the name of your local
4963 is a logical place to install software that did not come with your distribution
4969 Usually, you will have to modify only two things:
4973 \begin_layout Enumerate
4978 to the directory you chose; e.g.
4983 TEXMFLOCAL = /usr/local/texmf
4986 \begin_layout Enumerate
5000 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
5004 \begin_layout Enumerate
5015 You must follow the directory structure of your existing
5019 directory (for example, latex packages should go under
5021 /usr/local/texmf/tex/latex/
5026 \begin_layout Enumerate
5027 Install the package.
5028 For example, you would unpack the FoilTeX tarball and create
5030 /usr/local/texmf/tex/latex/foiltex
5037 directory contains various files.
5040 \begin_layout Enumerate
5048 /usr/local/texmf/ls-R
5053 \begin_layout Enumerate
5054 From within LyX, do:
5059 ools\SpecialChar \menuseparator
5070 \begin_layout Standard
5071 Now you should see your new package---for example
5080 ayout\SpecialChar \menuseparator
5095 Note that there are simpler ways of installing packages: you can add a
5096 link to the new package directory in the system LaTeX directory (
5100 , don't forget to then run
5104 ), or sometimes simply set the
5108 environment variable to include the new package.
5109 However, the formal procedure described in
5113 is guaranteed to work, so you should follow it unless circumstances absolutely
5114 prevent it: such as, when you don't have superuser access.
5117 \begin_layout Section
5121 \begin_layout Standard
5122 This section describes how to write and install your own LyX layout files
5123 (also known as text classes) and walks through the
5127 text class format as an example.
5132 files describe what paragraph styles are available for a given document
5133 class and how LyX should display them.
5134 We try to provide a thorough description of the process here; however,
5135 there are so many different types of documents supported by LaTeX classes
5136 we can't hope to cover every different possibility or problem you might
5141 \begin_layout Standard
5142 When you plan to write a new layout, it is extremely helpful to look at
5143 the example layouts distributed with LyX.
5144 If you use a nice LaTeX document class that might be of interest for others,
5145 too, and have a nice corresponding LyX layout, feel free to contribute
5146 the stuff to us, so we may put it into the distribution.
5149 \begin_layout Standard
5150 All the tags described in this chapter are case-insensitive; this means
5163 are really the same command.
5164 The possible values are printed in brackets after the feature's name.
5165 The default value if a feature isn't specified inside a text class-description
5173 If the argument has a datatype like
5174 \begin_inset Quotes eld
5178 \begin_inset Quotes erd
5182 \begin_inset Quotes eld
5186 \begin_inset Quotes erd
5189 , the default is shown like this:
5199 \begin_layout Subsection
5200 Supporting new document classes
5203 \begin_layout Standard
5204 There are two situations you are likely to encounter when wanting to support
5205 a new LaTeX document class, involving LaTeX2e class (
5216 \begin_layout Subsection
5224 \begin_layout Standard
5225 If your new document class is provided as a style file that is used in conjuncti
5226 on with an existing, supported document class, start by copying the existing
5227 class's layout file into your local directory.
5228 For the sake of example we'll assume that the style file is called
5232 and it is meant to be used with
5236 which is a standard class.
5239 \begin_layout LyX-Code
5240 cp report.layout ~/.lyx/layouts/myclass.layout
5243 \begin_layout Standard
5248 and change the line:
5251 \begin_layout LyX-Code
5254 DeclareLaTeXClass{report}
5257 \begin_layout Standard
5261 \begin_layout LyX-Code
5264 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5267 \begin_layout Standard
5271 \begin_layout LyX-Code
5281 \begin_layout Standard
5282 near the top of the file.
5285 \begin_layout Standard
5286 Start LyX and select
5291 ools\SpecialChar \menuseparator
5299 Restart LyX and try creating a new document.
5304 " as a document class option in the
5309 ocument\SpecialChar \menuseparator
5317 It is likely that some of the sectioning commands and such will differ
5318 from how the base class
5322 \begin_layout Standard
5332 works, so you can fiddle around with the settings for the different sections
5334 See below for more discussion on this.
5337 \begin_layout Subsection
5345 \begin_layout Standard
5346 In this case, you will probably have to
5347 \begin_inset Quotes eld
5351 \begin_inset Quotes erd
5355 We strongly suggest copying an existing layout file which uses a similar
5356 LaTeX class and modifying it if at all possible.
5357 At least use an existing file as a starting point so you can find out what
5358 items you need to worry about.
5359 Again, the specifics are covered below.
5362 \begin_layout Section
5363 Declaring a new text class
5366 \begin_layout Standard
5367 When it's finally time to get your hands dirty and create or edit your own
5368 layout file, the following sections describe what you're up against.
5369 Our advice is to go slowly, save and test often, listen to soothing music,
5370 and enjoy one or two of your favorite adult beverages; more if you are
5371 getting particularly stuck.
5372 It's really not that hard, except that the multitude of options can become
5373 overwhelming if you try to do to much in one sitting.
5374 Go have another adult beverage, just for good measure.
5377 \begin_layout Standard
5381 \begin_layout Standard
5382 Lines in a layout file which begin with a
5387 There is one exception to this rule: all layouts should begin with lines
5391 \begin_layout LyX-Code
5394 #% Do not delete the line below; configure depends on this
5397 \begin_layout LyX-Code
5402 DeclareLaTeXClass{article}
5405 \begin_layout Standard
5406 The second line is used when you configure LyX.
5407 The layout file is read by the LaTeX script
5411 , in a special mode where
5416 The first line is just a LaTeX comment, and the second one contains the
5417 declaration of the text class.
5418 If these lines appear in a file named
5422 , then they define a text class of name
5426 (the name of the layout file) which uses the LaTeX document class
5430 (the default is to use the same name as the layout).
5432 \begin_inset Quotes eld
5436 \begin_inset Quotes erd
5439 that appears above is used as a description of the text class in the
5444 ocument\SpecialChar \menuseparator
5454 \begin_layout Standard
5455 Let's assume that you wrote your own text class that uses the
5459 documentclass, but where you changed the appearance of the section headings.
5460 If you put it in a file
5464 , the header of this file should be:
5467 \begin_layout LyX-Code
5470 #% Do not delete the line below; configure depends on this
5473 \begin_layout LyX-Code
5478 DeclareLaTeXClass[article]{article (with my own headings)}
5481 \begin_layout Standard
5482 This declares a text class
5486 , associated with the LaTeX document class
5491 \begin_inset Quotes eld
5494 article (with my own headings)
5495 \begin_inset Quotes erd
5499 If your text class depends on several packages, you can declare it as:
5502 \begin_layout LyX-Code
5505 #% Do not delete the line below; configure depends on this
5508 \begin_layout LyX-Code
5513 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5516 \begin_layout Standard
5517 This indicates that your text class uses the foo.sty package.
5518 Finally, it is also possible to declare classes for SGML and DocBook code.
5519 Typical declarations will look like
5522 \begin_layout LyX-Code
5525 #% Do not delete the line below; configure depends on this
5528 \begin_layout LyX-Code
5533 DeclareSGMLClass{SGML (LinuxDoc)}
5536 \begin_layout Standard
5540 \begin_layout LyX-Code
5541 #% Do not delete the line below; configure depends on this
5544 \begin_layout LyX-Code
5547 DeclareDocBookClass[article]{SGML (DocBook article)}
5550 \begin_layout Standard
5551 Note that these declarations can also be given an optional parameter declaring
5552 the name of the document class (but not a list).
5555 \begin_layout Standard
5556 When the text class has been modified to your taste, all you have to do
5557 is to copy it either in
5570 ools\SpecialChar \menuseparator
5578 Exit LyX and restart it; then your new text class should be available along
5582 \begin_layout Subsection
5586 \begin_layout Standard
5587 The first non-comment line must contain the file format number:
5590 \begin_layout Description
5601 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
5602 don't have an explicit file format).
5603 The file format that is documented here is
5610 \begin_layout Subsection
5611 General text class parameters
5614 \begin_layout Standard
5615 These are the general parameters which describe the form of the entire document:
5618 \begin_layout Standard
5622 \begin_layout Standard
5634 \begin_layout Description
5648 ] Whether the class-default should have one or two columns.
5649 Can be changed in the
5654 ocument\SpecialChar \menuseparator
5665 This setting (same goes for
5669 , too) is important: if your text class has two columns by default but you
5670 forget to set it correctly, the
5678 be output when you select
5687 ocument\SpecialChar \menuseparator
5695 \begin_layout Description
5709 ] Whether the class-default should be printing on one or both sides of the
5711 Can be changed in the
5719 ocument\SpecialChar \menuseparator
5729 \begin_layout Description
5744 ] The class default pagestyle.
5745 Can be changed in the
5750 ocument\SpecialChar \menuseparator
5763 \begin_layout Description
5767 ClassOptions\SpecialChar \ldots{}
5771 This section describes various global options supported by the document
5773 See Section\InsetSpace ~
5775 \begin_inset LatexCommand \ref{sec:classoptions}
5782 \begin_layout Description
5796 ] Whether the class already loads the
5801 This is the case of the
5812 \begin_layout Description
5826 ] Whether the class already provides the functionality of the
5831 This is the case of the
5842 \begin_layout Description
5856 ] Whether the class already provides the functionality of the
5861 This is the case of the
5868 \begin_layout Description
5875 This is used to describe the default font of the document.
5876 See Section\InsetSpace ~
5878 \begin_inset LatexCommand \ref{sec:fonts}
5885 \begin_layout Description
5896 ] This is the style that will be assigned to new paragraphs, usually
5901 This will default to the first defined style if not given, but you are
5902 highly encouraged to use this directive.
5905 \begin_layout Description
5922 ] Indicates what kind of markup is used to define the title of a document.
5927 means that the macro with name
5931 will be inserted after the last layout which has
5932 \begin_inset Quotes eld
5940 \begin_inset Quotes erd
5948 corresponds to the case where the block of paragraphs which have
5949 \begin_inset Quotes eld
5957 \begin_inset Quotes erd
5960 should be enclosed into the
5969 \begin_layout Description
5980 ] The name of the command/environment mentionned above.
5983 \begin_layout Description
5987 Preamble\SpecialChar \ldots{}
5991 A set of macro definitions that will be output at the beginning of the
5993 Use this for global definitions.
5996 \begin_layout Description
6003 As its name implies, this command allows you to include another layout
6004 definition file within yours to avoid duplicating commands.
6005 Common examples are the standard layout files, for example,
6009 , which contains most of the basic layouts.
6012 \begin_layout Description
6016 Style\SpecialChar \ldots{}
6020 This sequence defines a new style.
6021 If the style already exists, it will redefine some of its parameters instead.
6022 See Section\InsetSpace ~
6024 \begin_inset LatexCommand \ref{sec:style}
6031 \begin_layout Description
6038 This command deletes an existing style.
6039 This is particularly useful when you want to suppress a style that has
6040 be defined in an input file.
6043 \begin_layout Description
6047 Float\SpecialChar \ldots{}
6051 This sequence defines a new float.
6052 See Section\InsetSpace ~
6054 \begin_inset LatexCommand \ref{sec:floats}
6061 \begin_layout Description
6068 This command deletes an existing float.
6069 This is particularly useful when you want to suppress a float that has
6070 be defined in an input file.
6073 \begin_layout Description
6077 CharStyle\SpecialChar \ldots{}
6082 This section defines a new character style.
6083 See Section\InsetSpace ~
6085 \begin_inset LatexCommand \ref{sec:charstyle}
6092 \begin_layout Description
6096 Counter\SpecialChar \ldots{}
6100 This sequence defines a new counter.
6101 See Section\InsetSpace ~
6103 \begin_inset LatexCommand \ref{sec:counter}
6110 \begin_layout Standard
6114 \begin_layout Standard
6126 \begin_layout Subsection
6134 \begin_layout Standard
6135 \begin_inset LatexCommand \label{sec:classoptions}
6143 section can contain the following entries:
6146 \begin_layout Description
6157 ] The list of available font sizes for the document's main font, separated
6159 \begin_inset Quotes eld
6167 \begin_inset Quotes erd
6173 \begin_layout Description
6182 string="empty|plain|headings|fancy"
6184 ] The list of available page styles, separated by
6185 \begin_inset Quotes eld
6193 \begin_inset Quotes erd
6199 \begin_layout Description
6210 ] Some document class options, separated by a comma, that will be added
6211 to the optional part of the
6220 \begin_layout Subsection
6221 Specific Paragraph Layouts
6224 \begin_layout Standard
6225 \begin_inset LatexCommand \label{sec:style}
6229 A paragraph layout description looks like this
6233 \begin_layout Standard
6234 Note that this will either define a new layout or modify an existing one.
6242 \begin_layout LyX-Code
6249 \begin_layout LyX-Code
6253 \begin_layout LyX-Code
6257 \begin_layout Standard
6258 where the following commands are allowed:
6261 \begin_layout Standard
6265 \begin_layout Standard
6277 \begin_layout Description
6288 This is used to copy all the features of an existing layout into the current
6293 \begin_layout Description
6305 , Command, Environment, Item_Environment,
6311 ] How the layout should be translated into LaTeX.
6316 means nothing special.
6329 {\SpecialChar \ldots{}
6344 }\SpecialChar \ldots{}
6368 is generated for each paragraph of this environment.
6381 is passed as an argument to the environment.
6386 can be defined in the
6391 ayout\SpecialChar \menuseparator
6405 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6406 Visit the SGML class files for specific examples.
6409 \begin_layout Description
6417 If 1, marks the layout as being part of a title block (see also the
6428 \begin_layout Description
6435 The name of the corresponding LaTeX stuff.
6436 Either the environment or command name.
6439 \begin_layout Description
6446 The optional parameter for the corresponding
6453 This parameter cannot be changed from within LyX.
6456 \begin_layout Description
6467 ] The number of optional arguments that can be used with this layout.
6468 This is useful for things like section headings, and only makes sense with
6472 \begin_layout Description
6484 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6488 The kind of margin that the layout has on the left side.
6493 just means a fixed margin.
6498 means that the left margin depends on the string entered in the
6503 dit\SpecialChar \menuseparator
6508 aragraph\InsetSpace ~
6512 This is used to typeset nice lists without tabulators.
6517 means that the margin depends on the size of the label.
6518 This is used for automatic enumerated headlines.
6519 It is obvious that the headline
6520 \begin_inset Quotes eld
6523 5.4.3.2.1 Very long headline
6524 \begin_inset Quotes erd
6527 must have a wider left margin (as wide as
6528 \begin_inset Quotes eld
6532 \begin_inset Quotes erd
6535 plus the space) than
6536 \begin_inset Quotes eld
6539 3.2 Very long headline
6540 \begin_inset Quotes erd
6543 , even if other word processors are not able to do this.
6548 is similar, but only the very first row of the paragraph is dynamic, while
6549 the others are static; this is used, for example, for descriptions.
6554 means the margin is chosen in a way that the longest row of this paragraph
6555 fits to the right margin.
6556 This is used to typeset an address on the right edge of the page.
6559 \begin_layout Description
6573 ] Whether the following Paragraph is allowed to indent its very first row.
6578 means that it is not allowed to do so,
6582 means it could do so if it wants to.
6585 \begin_layout Description
6596 ] The indent of the very first line of a paragraph.
6597 The argument is passed as a string.
6602 means that the paragraph is indented with the width of
6611 You can get a negative width by prefixing the string with
6616 This way was chosen so that the look is the same with each used screen
6622 will be fixed for a certain layout.
6623 The exception is Standard layout, since the indentation of a Standard layout
6624 paragraph can be prohibited with
6629 Also, Standard layout paragraphs inside environments use the
6633 of the environment, not their native one.
6634 For example, Standard paragraphs inside an enumeration are not indented.
6637 \begin_layout Description
6648 ] LyX allows to choose either
6649 \begin_inset Quotes eld
6653 \begin_inset Quotes erd
6657 \begin_inset Quotes eld
6661 \begin_inset Quotes erd
6664 to typeset a document.
6666 \begin_inset Quotes eld
6670 \begin_inset Quotes erd
6673 is chosen, this value is completely ignored.
6675 \begin_inset Quotes eld
6679 \begin_inset Quotes erd
6682 is chosen, the parindent of a LaTeXtype
6683 \begin_inset Quotes eld
6687 \begin_inset Quotes erd
6690 layout is ignored and all paragraphs are additionally separated by this
6692 The vertical space is calculated with
6694 value*DefaultHeight()
6700 is the height of a row with the normal font.
6701 This way, the look stays the same with different screen fonts.
6704 \begin_layout Description
6715 ] The vertical space with which the very first of a chain of paragraphs
6716 with this layout is separated from the previous paragraph.
6717 If the previous paragraph has another layout, the separations are not simply
6718 added, but the maximum is taken.
6721 \begin_layout Description
6736 for the very last paragraph.
6739 \begin_layout Description
6750 ] The vertical space between two paragraphs of this layout.
6753 \begin_layout Description
6764 ] This is an extra space between the paragraphs of an environment layout.
6765 If you put other layouts into an environment, each is separated with the
6771 But the whole items of the environment are additionally separated with
6780 \begin_layout Description
6791 ] If you put layouts into environments, the leftmargins are not simply added,
6792 but added with a factor
6793 \begin_inset Formula $\frac{4}{depth+4}$
6797 Note that this parameter is also used when the border is defined as
6806 Then it is added to the manual or dynamic border.
6807 This string has the same meaning as for
6814 \begin_layout Description
6832 \begin_layout Description
6844 , Manual, Static, Top_Environment,
6846 Centered_Top_Environment, Sensitive,
6855 means the label is the very first word (up to the first real blank).
6860 means it is defined in the layout (see
6871 Centered_Top_Environment
6873 are special cases of
6878 The label will be printed above the paragraph, but only at the top of an
6879 environment or the top of a chain of paragraphs with this layout.
6880 Usage is for example the
6889 This is also the case for
6893 labels with latex type
6897 , in order to make layouts for theorems work correctly.
6902 is a special case for the caption-labels
6903 \begin_inset Quotes eld
6907 \begin_inset Quotes erd
6911 \begin_inset Quotes eld
6915 \begin_inset Quotes erd
6923 means the (hardcoded) label string depends on the kind of float.
6928 label type defines automatically numbered labels.
6931 \begin_layout Description
6940 Chapter, Section, Subsection, Subsubsection,
6942 Paragraph, Subparagraph, EnumI,
6943 EnumII, EnumIII, EnumIV
6947 The name of the counter for automatic numbering.
6948 This must be given if
6961 \begin_layout Description
6972 ] The horizontal space between the label and the text body.
6973 Only used for labels that are not above the text body.
6976 \begin_layout Description
6983 [float=0] The vertical space between the label and the text body.
6984 Only used for labels that are above the text body (
6990 Centered_Top_Environment
6995 \begin_layout Description
7006 ] The string used for a label with a
7015 this string is also used as a suggestion for the
7019 that can be set in the
7024 dit\SpecialChar \menuseparator
7029 aragraph\InsetSpace ~
7039 is set, this string can be contain special formatting commands as explained
7040 in Section\InsetSpace ~
7042 \begin_inset LatexCommand \ref{sec:counter}
7049 \begin_layout Description
7060 ] If non-empty, this is used inside the appendix instead of
7068 \begin_layout Description
7075 The level of the style in the table of contents.
7076 This is used for automatic numbering of section headings.
7079 \begin_layout Description
7091 , Box, Filled_Box, Static
7093 ] The type of label that stands at the end of the paragraph (or sequence
7116 \begin_inset Quotes eld
7120 \begin_inset Quotes erd
7132 ) is a white (resp.\InsetSpace ~
7133 black) square suitable for end of proof markers,
7137 is an explicit text string.
7140 \begin_layout Description
7151 ] The string used for a label with a
7163 \begin_layout Description
7175 , left, right, center
7177 ] Paragraph alignment.
7180 \begin_layout Description
7192 , left, right, center
7199 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7201 For example a right-aligned or centered enumeration isn't possible.
7204 \begin_layout Description
7218 ] With this parameter the
7223 \begin_inset Quotes eld
7226 Vertical space above
7227 \begin_inset Quotes erd
7235 dit\SpecialChar \menuseparator
7240 aragraph\InsetSpace ~
7243 dialog can be set when initializing a paragraph with this layout
7247 \begin_layout Standard
7250 Note from Jean-Marc:
7252 I'm not sure that this setting has much use, and it should probably be removed
7262 \begin_layout Description
7283 \begin_layout Description
7297 ] Whether fragile commands in this layout should be
7306 \begin_layout Description
7320 ] Whether newlines are translated into LaTeX newlines (
7329 The translation can be switched off to allow more comfortable LaTeX editing
7333 \begin_layout Description
7347 ] Whether the contents of this paragraph should be output in raw form, meaning
7348 without special translations that LaTeX would require.
7349 This somehow replaces the older
7356 \begin_layout Description
7370 ] Usually LyX doesn't allow you to insert more than one space between words,
7371 since a space is considered as the separation between two words, not a
7372 character or symbol of its own.
7373 This is a very fine thing but sometimes annoying, for example when typing
7374 program code or plain LaTeX code.
7380 Note that LyX will create protected blanks for the additional blanks when
7381 in another mode than LaTeX-mode.
7384 \begin_layout Description
7398 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7399 lead to empty LaTeX output.
7400 There are some cases where this could be desirable however: in a letter
7401 template, the required fields can be provided as empty fields, so that
7402 people do not forget them; in some special classes, a layout can be used
7403 as some kind of break, which does not contain actual text.
7406 \begin_layout Description
7418 , onehalf, double, other
7423 ] This defines what the default spacing should be in the layout.
7436 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7437 If you specify the argument
7441 , then you should also provide a numerical argument which will be the actual
7443 Note that, contrary to other parameters,
7447 implies the generation of specific LaTeX code, using the package
7454 \begin_layout Description
7461 The font used for both the text body
7466 See section\InsetSpace ~
7468 \begin_inset LatexCommand \ref{sec:fonts}
7473 Note that defining this font automatically defines the
7480 \begin_layout Description
7487 The font used for the text body .
7488 See section\InsetSpace ~
7490 \begin_inset LatexCommand \ref{sec:fonts}
7497 \begin_layout Description
7504 The font used for the label.
7505 See section\InsetSpace ~
7507 \begin_inset LatexCommand \ref{sec:fonts}
7514 \begin_layout Description
7518 Preamble\SpecialChar \ldots{}
7522 A set of macro definitions that will be output at the beginning of the
7523 LaTeX files when the layout is used.
7524 Use this to define the macros needed by this particular layout.
7527 \begin_layout Description
7534 the name of a style which preamble should be output
7538 the one mentionned above.
7539 This allows to ensure some ordering of the preamble snippets when macros
7540 definitions depend on one another
7544 \begin_layout Standard
7545 Note that, besides that functionality, there is no way to ensure any ordering
7547 The ordering that you see in a given version of LyX may change without
7548 warning in later versions.
7556 \begin_layout Standard
7560 \begin_layout Standard
7572 \begin_layout Subsection
7576 \begin_layout Standard
7577 \begin_inset LatexCommand \label{sec:floats}
7581 Since version 1.3.0 of LyX, it is necessary to define the floats (
7589 , \SpecialChar \ldots{}
7590 ) in the text class itself.
7591 If you are looking here to learn how to upgrade an existing text class,
7592 it will probably turn out that all you have to do is to add
7595 \begin_layout LyX-Code
7599 \begin_layout Standard
7600 at a reasonable location of the text class.
7604 \begin_layout Standard
7605 Don't forget to also have a look at counters in next section.
7610 If you want to implement a text class that proposes some other float types
7611 (like the AGU class bundled with LyX), the information below will hopefully
7615 \begin_layout Description
7627 \begin_inset Quotes erd
7631 \begin_inset Quotes erd
7635 \begin_inset Quotes eld
7639 \begin_inset Quotes erd
7642 of the new class of floats, like program or algorithm.
7643 After the appropriate
7664 \begin_layout Description
7676 \begin_inset Quotes erd
7680 \begin_inset Quotes erd
7683 ] The string that will be used in the menus and also for the caption.
7686 \begin_layout Description
7707 if the float is already defined by the documentclass.
7712 , the float will be defined using the LaTeX package
7719 \begin_layout Description
7731 \begin_inset Quotes erd
7735 \begin_inset Quotes erd
7738 ] This (optional) argument determines whether floats of this class will
7739 be numbered within some sectional unit of the document.
7740 For example, if within is equal to
7744 , the floats will be numbered within chapters.
7748 \begin_layout Description
7760 \begin_inset Quotes erd
7764 \begin_inset Quotes erd
7767 ] The style used when defining the float using
7776 \begin_layout Description
7788 \begin_inset Quotes erd
7792 \begin_inset Quotes erd
7795 ] The default placement for the given class of floats.
7796 They are like in standard LaTeX:
7812 for top, bottom, page, and here, respectively.
7816 \begin_layout Standard
7817 Note that the order of these letters in the string is irrelevant, like in
7823 On top of that there is a new type,
7827 , which does not really correspond to a float, since it means: put it
7828 \begin_inset Quotes eld
7832 \begin_inset Quotes erd
7836 Note, however that the
7840 specifier is special and, because of implementation details cannot be used
7841 in non-builtin float types.
7842 If you do not understand what this means, just use
7849 \begin_layout Description
7861 \begin_inset Quotes erd
7865 \begin_inset Quotes erd
7868 ] The file name extension of an auxiliary file for the list of figures (or
7870 LaTeX writes the captions to this file.
7873 \begin_layout Description
7885 \begin_inset Quotes erd
7889 \begin_inset Quotes erd
7892 ] The heading used for the list of floats.
7895 \begin_layout Subsection
7899 \begin_layout Standard
7900 \begin_inset LatexCommand \label{sec:charstyle}
7904 You can define character styles since version 1.4.0 of LyX.
7909 section can contain the following entries:
7912 \begin_layout Description
7919 The font used for both the text body
7924 See section\InsetSpace ~
7926 \begin_inset LatexCommand \ref{sec:fonts}
7931 Note that defining this font automatically defines the
7938 \begin_layout Description
7945 The font used for the label.
7946 See section\InsetSpace ~
7948 \begin_inset LatexCommand \ref{sec:fonts}
7955 \begin_layout Description
7962 The name of the corresponding LaTeX stuff.
7963 Either the environment or command name.
7966 \begin_layout Description
7973 The optional parameter for the corresponding
7980 This parameter cannot be changed from within LyX.
7983 \begin_layout Description
7990 See section\InsetSpace ~
7992 \begin_inset LatexCommand \ref{sec:style}
7999 \begin_layout Description
8003 Preamble\SpecialChar \ldots{}
8007 See section\InsetSpace ~
8009 \begin_inset LatexCommand \ref{sec:style}
8016 \begin_layout Subsection
8020 \begin_layout Standard
8021 \begin_inset LatexCommand \label{sec:counter}
8025 Since version 1.3.0 of LyX, it is necessary to define the counters (
8033 , \SpecialChar \ldots{}
8034 ) in the text class itself.
8035 If you are looking here to learn how to upgrade an existing text class,
8036 it will probably turn out that all you have to do is to add
8039 \begin_layout LyX-Code
8040 Input stdcounters.inc
8043 \begin_layout Standard
8044 The definition of counters is presently a bit primitive in LyX, since many
8045 things are still hardcoded.
8046 The following two parameters can be used:
8049 \begin_layout Description
8061 \begin_inset Quotes erd
8065 \begin_inset Quotes erd
8068 ] The name of the counter
8071 \begin_layout Description
8083 \begin_inset Quotes erd
8087 \begin_inset Quotes erd
8090 ] If this is set to the name of another counter, the present counter will
8091 be reset everytime the other one is increased (is that unclear enough?).
8094 \begin_layout Standard
8095 When a counter has been associated to a style, it is possible to use some
8096 special constructs in
8111 \begin_layout Itemize
8120 will be replaced the expanded
8131 This is used for example to define the label of a subsection in terms of
8132 the label of a section.
8135 \begin_layout Itemize
8136 counter values can be expressed using LaTeX-like macros
8160 \begin_layout Description
8171 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8176 \begin_layout Standard
8186 Actually, the situation is a bit more complicated than that: any
8202 other than those descibed below will produce arabic numerals.
8203 It would not be surprising to see this change in the future.
8211 \begin_layout Description
8218 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8222 \begin_layout Description
8229 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8233 \begin_layout Description
8240 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8244 \begin_layout Description
8251 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8255 \begin_layout Description
8262 for hebrew numerals.
8266 \begin_layout Subsection
8270 \begin_layout Standard
8271 \begin_inset LatexCommand \label{sec:fonts}
8275 A font description looks like that:
8278 \begin_layout LyX-Code
8288 \begin_layout LyX-Code
8292 \begin_layout LyX-Code
8296 \begin_layout Standard
8297 and the following commands are available:
8300 \begin_layout Description
8317 \begin_layout Description
8334 \begin_layout Description
8346 , Italic, SmallCaps, Slanted
8351 \begin_layout Description
8364 , large, larger, largest, huge, giant
8369 \begin_layout Description
8382 , black, white, red, green, blue, cyan, magenta, yellow
8387 \begin_layout Subsection
8388 Upgrading old layout files
8391 \begin_layout Standard
8392 The file format of layout files changes from time to time, so old layout
8393 files need to be converted.
8394 This process has been automated in LyX 1.4.0: If LyX reads an old format
8395 layout file it will call the conversion tool
8397 $LyXDir/scripts/layout2layout.py
8399 and convert it to a temporary file in current format.
8400 The original file is left untouched, so that you can still use it with
8402 If you want to convert the layout file permanently, just call the converter
8406 \begin_layout LyX-Code
8407 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8410 \begin_layout Standard
8422 \begin_layout Standard
8423 The automatic conversion does only handle syntax changes.
8424 It cannot handle the case where the contents of included files was changed.
8425 For example, layout files based on
8438 If you get error messages about undefined counters, try to convert your
8458 \begin_layout Section
8460 \begin_inset LatexCommand \label{sec:templates}
8467 \begin_layout Standard
8468 Templates are created just like usual documents.
8469 The only difference is that usual documents contain all possible settings,
8470 including the fontscheme and the papersize.
8471 Usually a user doesn't want a template to overwrite his defaults in these
8473 For that reason, the designer of a template should remove the corresponding
8486 from the template LyX file.
8487 This can be done with any simple text-editor, for example
8499 \begin_layout Standard
8500 Put the edited template files you create in
8504 , copy the ones you use from the global template directory in
8508 to the same place, and redefine the template path in the
8513 dit\SpecialChar \menuseparator
8532 \begin_layout Standard
8533 Note that there is a template which has a particular meaning:
8538 This template is loaded everytime you create a new document with
8545 \SpecialChar \menuseparator
8553 in order to provide useful defaults.
8554 To create this template from inside LyX, all you have to do is to open
8555 a document with the correct settings, and use the
8561 e as Document Defaults
8566 \begin_layout Chapter
8567 Including External Material
8570 \begin_layout Section
8574 \begin_layout Standard
8575 \begin_inset Note Note
8578 \begin_layout Standard
8579 This section is completely outdated.
8584 One often requested feature from LyX users is to be able to interface LyX
8585 with XFig, Dia, or other similar applications that specialize in producing
8586 a certain kind of diagram, figure, schematic or whatever material might
8587 be relevant to include in your document.
8588 Previously, it was only possible to include boring, static, fixed images
8589 in LyX documents with the graphics feature, but there are several limitations
8590 attached to this approach:
8593 \begin_layout Itemize
8594 If you want to change the figure, you have to invoke an external program
8598 \begin_layout Itemize
8599 LyX does not notice that the referenced files change, so the on-screen display
8600 can fast become obsolete, and this is aggravated by the lack of a means
8601 of updating the display
8604 \begin_layout Itemize
8605 The graphics stuff does not provide any mechanisms for coping with different
8606 exported formats such as DocBook, HTML or raw Ascii
8609 \begin_layout Standard
8610 The external material facility attempts to solve all of these problems
8614 \begin_layout Standard
8615 Even if the graphics facility can't solve all problems, it is still valuable
8616 because it does provide in-line preview of the graphics, and supports advanced
8617 geometric transformations with a comfortable user interface.
8623 It does this by offering a general method to interface LyX to external
8625 Instead of introducing a long list of different constructs tailored for
8626 each specific application, we chose to sacrifice the in-line displaying
8627 of the included material in order to provide a general construct to cover
8628 a wide range of applications.
8629 The result is the external material construct.
8630 External material presents itself in the document simply as a button, but
8631 don't let this fool you.
8632 When you click on it, a dialog will appear that allows you to chose exactly
8633 what material to include, and in the following sections you will learn
8634 that this is indeed a powerful mechanism that can solve all of the above
8638 \begin_layout Section
8642 \begin_layout Standard
8643 The external material feature is based on the concept of a
8648 A template is a specification of how LyX should interface with a certain
8650 As bundled, LyX comes with predefined templates for XFig figures, Dia diagrams,
8651 various raster format images, gnuplot, and more.
8652 You can check the actual list by using the
8654 Insert\SpecialChar \menuseparator
8663 Furthermore, it is possible to roll your own template to support a specific
8665 Later we'll describe in more detail what is involved, and hopefully you
8666 will submit all the templates you create so we can include them in a later
8670 \begin_layout Standard
8671 Another basic idea of the external material feature is to distinguish between
8672 the original file that serves as a base for final material and the produced
8673 file that is included in your exported or printed document.
8674 For example, consider the case of a figure produced with XFig.
8675 The XFig application itself works on an original file with the
8680 Within XFig, you create and change your figure, and when you are done,
8686 When you want to include the figure in your document, you invoke
8690 in order to create a PostScript file that can readily be included in your
8696 file is the original file, and the PostScript file is the produced file.
8699 \begin_layout Standard
8700 This distinction is important in order to allow updating of the material
8701 while you are in the process of writing the document.
8702 Furthermore, it provides us with the flexibility that is needed to support
8703 multiple export formats.
8704 For instance, in the case of an Ascii resulting file, it is not exactly
8705 an award-winning idea to include the figure as raw PostScript.
8706 Instead, you'd either prefer to just include a reference to the figure,
8707 or try to invoke some graphics to Ascii converter to make the final result
8708 look similar to the real graphics.
8709 The external material management allows you to do this, because it is parameter
8710 ized on the different export formats that LyX supports.
8713 \begin_layout Standard
8714 Besides supporting the production of different products according to the
8715 exported format, it supports tight integration with editing and viewing
8717 In the case of an XFig figure, you are able to invoke
8721 on the original file with a single click from within the external material
8722 dialog in LyX, and also preview the produced PostScript file with
8727 No more fiddling around with the command line and/or file browsers to locate
8728 and manipulate the original or produced files.
8729 In this way, you are finally able to take full advantage of the many different
8730 applications that are relevant to use when you write your documents, and
8731 ultimately be more productive.
8734 \begin_layout Standard
8735 \begin_inset Note Note
8738 \begin_layout Standard
8739 This paragraph is outdated
8744 So, all in all, LyX has information about a number of different programs
8745 to use behind the scenes in order to realize all of this machinery.
8746 This information, in fact, is exactly what is contained in the templates.
8747 To each template, there is associated a list of command lines that are
8748 used to invoke applications, convert the original file to the produced
8750 This mechanism allows the advanced user to extend the capabilities of LyX
8751 without fiddling with the source code.
8752 It requires some footwork to define all the different commands and flags,
8753 but luckily, the LyX team did all the hard work and specified these for
8757 \begin_layout Standard
8758 But before the trees grow into the skies, we have to admit that we did take
8760 Since you can produce many different kinds of files to go with each exported
8761 format, one could also expect that it would be possible to preview each
8763 The LyX team decided against this in order to keep the user interface simple.
8764 Instead of providing a button for each exported file format, we decided
8765 to introduce the concept of the primary file format and just have one button.
8775 in the external material dialog, you will get a view of the produced file
8776 in the primary file format.
8777 And the primary file format is specified by your document class.
8778 For most document classes, the primary file format is LaTeX, but for the
8779 DocBook document classes, the primary file format is DocBook.
8780 So, when you view the produced file, keep in mind that it will only be
8781 a preview of what the main result will be.
8782 If you want to see how other exported formats turn out, you have to export
8783 them and preview them by hand.
8786 \begin_layout Section
8787 The external material dialog
8790 \begin_layout Standard
8791 You insert external material from the
8799 When you do this, a button is inserted into your document, and the external
8800 material dialog is shown.
8801 This dialog allows you to describe exactly what material should be included,
8802 and also how it should be included.
8803 Furthermore, it provides access to the external applications to either
8804 view, edit or produce the material that is used in the resulting file.
8807 \begin_layout Standard
8808 \begin_inset Note Note
8811 \begin_layout Standard
8812 This paragraph is outdated
8817 At the top of this dialog, there is a drop-down list where you can chose
8818 which template should be used.
8819 Just below the template drop-down, there's a text area with a short blurb
8820 about the chosen template that should help you use it.
8821 Most often, it will provide a short description of the template, and a
8822 few hints on how to parameterize the use of it.
8823 Further down, you'll find a filename input field along with a
8824 \begin_inset Quotes eld
8828 \begin_inset Quotes erd
8831 button that allows you to chose which file should be included with the
8832 standard file browser.
8833 Thus this field specifies the original file.
8834 Since the produced file is automatically generated when needed, there is
8835 no need to give access to it in the user interface.
8838 \begin_layout Standard
8839 \begin_inset Note Note
8842 \begin_layout Standard
8843 This paragraph is outdated
8848 At the bottom of the dialog, you'll find a general input box called
8853 This box is generally used to parameterize the specific template.
8854 The specific use should be covered in the help blurb associated with the
8855 template, but it typically allows you to define variations on how the produced
8856 file should be generated.
8859 \begin_layout Standard
8860 \begin_inset Note Note
8863 \begin_layout Standard
8864 This paragraph is outdated
8869 At the right side of the dialog, you'll find three buttons:
8897 These in turn allow you to edit your original file with the appropriate
8898 editing application, view the produced file as included in the primary
8899 format document, and finally force an update of the resulting material
8900 in the primary format.
8910 button will be disabled, because most templates are configured to automatically
8911 update the produced file when needed.
8912 In those cases, there is no need to force the production of a new produced
8914 However, some templates are configured to not be automatically producing
8915 the residual product, because the cost of producing the produced file might
8916 be so large that it would be a pain to do it all the time.
8917 Those types are known as
8922 In those cases, you can use the button to force the production of the produced
8923 file exactly when you need it, and thus control the amount of work that
8929 responsibility to do this to keep the produced files current at all times:
8930 before printing, before exporting, before viewing, etc.
8931 At some time in the future, it might be possible that LyX will help you
8932 with this task.Any changes in the template, filename or parameters are actually
8933 applied whenever you press
8958 \begin_layout Section
8962 \begin_layout Standard
8963 In this section, we should include some examples of use of the external
8965 Those examples could include:
8968 \begin_layout Itemize
8969 External raster images
8972 \begin_layout Itemize
8973 External XFig figures
8976 \begin_layout Itemize
8980 \begin_layout Itemize
8984 \begin_layout Itemize
8985 The use of makefiles
8988 \begin_layout Itemize
8989 Recursive external LyX templates
8992 \begin_layout Section
8993 The external template configuration file
8996 \begin_layout Standard
8997 It is relatively easy to add custom external template definitions to LyX.
8998 However, be aware this doing this in an careless manner most probably
9002 introduce an easily exploitable security hole.
9003 So before you do this, please read the discussion about security which
9007 \begin_layout Standard
9008 Having said that, we encourage you to submit any interesting templates that
9013 \begin_layout Standard
9014 The external templates are defined in the
9016 lib/external_templates
9019 You can place your own version in
9021 .lyx/external_templates
9026 \begin_layout Standard
9027 A typical template looks like this:
9030 \begin_layout LyX-Code
9034 \begin_layout LyX-Code
9035 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
9038 \begin_layout LyX-Code
9042 \begin_layout LyX-Code
9046 \begin_layout LyX-Code
9050 \begin_layout LyX-Code
9054 \begin_layout LyX-Code
9058 \begin_layout LyX-Code
9059 AutomaticProduction true
9062 \begin_layout LyX-Code
9066 \begin_layout LyX-Code
9070 \begin_layout LyX-Code
9074 \begin_layout LyX-Code
9075 TransformCommand Rotate RotationLatexCommand
9078 \begin_layout LyX-Code
9079 TransformCommand Resize ResizeLatexCommand
9082 \begin_layout LyX-Code
9083 Product "$$RotateFront$$ResizeFront
9086 \begin_layout LyX-Code
9091 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
9094 \begin_layout LyX-Code
9095 $$ResizeBack$$RotateBack"
9098 \begin_layout LyX-Code
9102 \begin_layout LyX-Code
9103 UpdateResult "$$AbsPath$$Basename.pstex_t"
9106 \begin_layout LyX-Code
9107 Requirement "graphicx"
9110 \begin_layout LyX-Code
9111 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9114 \begin_layout LyX-Code
9115 ReferencedFile latex "$$AbsPath$$Basename.eps"
9118 \begin_layout LyX-Code
9119 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9122 \begin_layout LyX-Code
9126 \begin_layout LyX-Code
9130 \begin_layout LyX-Code
9131 TransformCommand Rotate RotationLatexCommand
9134 \begin_layout LyX-Code
9135 TransformCommand Resize ResizeLatexCommand
9138 \begin_layout LyX-Code
9139 Product "$$RotateFront$$ResizeFront
9142 \begin_layout LyX-Code
9147 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9150 \begin_layout LyX-Code
9151 $$ResizeBack$$RotateBack"
9154 \begin_layout LyX-Code
9158 \begin_layout LyX-Code
9159 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9162 \begin_layout LyX-Code
9163 Requirement "graphicx"
9166 \begin_layout LyX-Code
9167 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9170 \begin_layout LyX-Code
9171 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9174 \begin_layout LyX-Code
9178 \begin_layout LyX-Code
9182 \begin_layout LyX-Code
9183 Product "$$Contents(
9185 "$$AbsPath$$Basename.asc
9190 \begin_layout LyX-Code
9191 UpdateFormat asciixfig
9194 \begin_layout LyX-Code
9195 UpdateResult "$$AbsPath$$Basename.asc"
9198 \begin_layout LyX-Code
9202 \begin_layout LyX-Code
9206 \begin_layout LyX-Code
9207 Product "<graphic fileref=
9209 "$$AbsOrRelPathMaster$$Basename.eps
9214 \begin_layout LyX-Code
9218 \begin_layout LyX-Code
9222 \begin_layout LyX-Code
9223 UpdateResult "$$AbsPath$$Basename.eps"
9226 \begin_layout LyX-Code
9227 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9230 \begin_layout LyX-Code
9231 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9234 \begin_layout LyX-Code
9238 \begin_layout LyX-Code
9242 \begin_layout LyX-Code
9243 Product "[XFig: $$FName]"
9246 \begin_layout LyX-Code
9250 \begin_layout LyX-Code
9254 \begin_layout Standard
9255 As you can see, the template is enclosed in
9259 \SpecialChar \ldots{}
9265 It contains a header specifying some general settings, and for each supported
9266 primary document file format a section
9270 \SpecialChar \ldots{}
9278 \begin_layout Subsection
9282 \begin_layout Description
9286 Template\InsetSpace ~
9290 A unique name for the template.
9291 It must not contain substitution macros (see below).
9294 \begin_layout Description
9298 GuiName\InsetSpace ~
9302 The text that is displayed on the button.
9303 This command must occur exactly once.
9306 \begin_layout Description
9310 HelpText\InsetSpace ~
9315 The help text that is used in the External dialog.
9316 Provide enough information to explain to the user just what the template
9317 can provide him with.
9318 This command must occur exactly once.
9321 \begin_layout Description
9325 InputFormat\InsetSpace ~
9329 The file format of the original file.
9330 This must be the name of a format that is known to LyX (see the
9335 ools\SpecialChar \menuseparator
9340 references:Conversion
9347 if the template can handle original files of more than one format.
9348 LyX will attempt to interrogate the file itself in order to deduce its
9349 format in this case.
9350 This command must occur exactly once.
9353 \begin_layout Description
9357 FileFilter\InsetSpace ~
9361 A glob pattern that is used in the file dialog to filter out the desired
9363 If there is more than one possible file extension (e.g.\InsetSpace ~
9372 ), use something like
9377 This command must occur exactly once.
9380 \begin_layout Description
9384 AutomaticProduction\InsetSpace ~
9388 Wether the file represented by the template must be generated by LyX.
9389 This command must occur exactly once.
9392 \begin_layout Description
9396 Transform\InsetSpace ~
9397 Rotate|Resize|Clip|Extra
9400 This command specifies which transformations are supported by this template.
9401 It may occur zero or more times.
9402 This command enables the corresponding tabs in the external dialog.
9407 command must have either a corresponding
9420 Otherwise the transformation will not be supported by that format.
9423 \begin_layout Subsection
9427 \begin_layout Description
9432 LaTeX|PDFLaTeX|Ascii|DocBook|LinuxDoc
9435 The primary document file format that this format definition is for.
9436 Not every template has a sensible representation in all document file formats.
9437 Please define nevertheless a
9441 section for all formats.
9442 Use a dummy text when no representation is available (see the LinuxDoc
9443 format in the example above).
9444 Then you can at least see a reference to the external material in the exported
9448 \begin_layout Description
9452 TransformCommand\InsetSpace ~
9454 RotationLatexCommand
9457 This command specifies that the built in LaTeX command should be used for
9459 This command may occur once or not at all.
9462 \begin_layout Description
9466 TransformCommand\InsetSpace ~
9471 This command specifies that the built in LaTeX command should be used for
9473 This command may occur once or not at all.
9476 \begin_layout Description
9480 TransformOption\InsetSpace ~
9485 This command specifies that rotation is done via an optional argument.
9486 This command may occur once or not at all.
9489 \begin_layout Description
9493 TransformOption\InsetSpace ~
9498 This command specifies that resizing is done via an optional argument.
9499 This command may occur once or not at all.
9502 \begin_layout Description
9506 TransformOption\InsetSpace ~
9511 This command specifies that clipping is done via an optional argument.
9512 This command may occur once or not at all.
9515 \begin_layout Description
9519 TransformOption\InsetSpace ~
9524 This command specifies that an extra optional argument is used.
9525 This command may occur once or not at all.
9528 \begin_layout Description
9532 Product\InsetSpace ~
9536 The text that is inserted in the exported document.
9537 This is actually the most important command and can be quite complex.
9538 This command must occur exactly once.
9541 \begin_layout Description
9545 UpdateFormat\InsetSpace ~
9549 The file format of the converted file.
9550 This must be the name of a format that is known to LyX (see the
9555 ools\SpecialChar \menuseparator
9560 references:Conversion
9563 This command must occur exactly once.
9566 \begin_layout Description
9570 UpdateResult\InsetSpace ~
9574 The file name of the converted file.
9575 The file name must be absolute.
9576 This command must occur exactly once.
9579 \begin_layout Description
9583 ReferencedFile\InsetSpace ~
9584 <format>\InsetSpace ~
9588 This command denotes files that are created by the conversion process and
9589 are needed for a particular export format.
9590 If the filename is relative, it is interpreted relative to the master document.
9591 This command may be given zero or more times.
9594 \begin_layout Description
9598 Requirement\InsetSpace ~
9602 The name of a required LaTeX package.
9603 The package is included via
9609 in the LaTeX preamble.
9610 This command may occur zero or more times.
9613 \begin_layout Description
9617 Preamble\InsetSpace ~
9621 This command specifies a preamble snippet that will be included in the
9623 It has to be defined using
9627 \SpecialChar \ldots{}
9633 This command may occur zero or more times.
9636 \begin_layout Description
9645 This command defines an additional macro
9658 itself may contain substitution macros.
9659 The advantage over using
9667 is that the substituted value of
9671 is sanitized so that it is a valid optional argument in the document format.
9672 This command may occur zero or more times.
9675 \begin_layout Subsection
9676 Preamble definitions
9679 \begin_layout Standard
9680 The external template configuration file may contain additional preamble
9681 definitions enclosed by
9685 \SpecialChar \ldots{}
9691 They can be used by the templates in the
9698 \begin_layout Section
9699 The substitution mechanism
9702 \begin_layout Standard
9703 When the external material facility invokes an external program, it is done
9704 on the basis of a command defined in the template configuration file.
9705 These commands can contain various macros that are expanded before execution.
9706 Execution always take place in the directory of the containing document.
9709 \begin_layout Standard
9710 Also, whenever external material is to be displayed, the name will be produced
9711 by the substitution mechanism, and most other commands in the template
9712 definition support substitution as well.
9715 \begin_layout Standard
9716 The available macros are the following:
9719 \begin_layout Description
9720 $$FName The filename of the file specified in the external material dialog.
9721 This is either an absolute name, or it is relative to the LyX document.
9724 \begin_layout Description
9725 $$Basename The filename without path and without the extension.
9728 \begin_layout Description
9729 $$Extension The file extension (including the dot).
9732 \begin_layout Description
9733 $$FPath The path part of
9737 (absolute name or relative to the LyX document).
9740 \begin_layout Description
9741 $$AbsPath The absolute file path.
9744 \begin_layout Description
9745 $$RelPathMaster The file path, relative to the master LyX document.
9748 \begin_layout Description
9749 $$RelPathParent The file path, relative to the LyX document.
9752 \begin_layout Description
9753 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9757 \begin_layout Description
9758 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9761 \begin_layout Description
9762 $$Tempname A name and full path to a temporary file which will be automatically
9763 deleted whenever the containing document is closed, or the external material
9767 \begin_layout Description
9769 \begin_inset Quotes eld
9773 \begin_inset Quotes erd
9776 ) This macro will expand to the contents of the file with the name
9783 \begin_layout Description
9784 $$Sysdir This macro will expand to the absolute path of the system directory.
9785 This is typically used to point to the various helper scripts that are
9789 \begin_layout Standard
9790 All path macros contain a trailing directory separator, so you can construct
9792 the absolute filename with
9794 $$AbsPath$$Basename$$Extension
9799 \begin_layout Standard
9800 The macros above are substituted in all commands unless otherwise noted.
9805 supports additionally the following substitutions if they are enabled by
9817 \begin_layout Description
9818 $$ResizeFront The front part of the resize command.
9821 \begin_layout Description
9822 $$ResizeBack The back part of the resize command.
9825 \begin_layout Description
9826 $$RotateFront The front part of the rotation command.
9829 \begin_layout Description
9830 $$RotateBack The back part of the rotation command.
9833 \begin_layout Standard
9834 The value string of the
9838 command supports additionally the following substitutions if they are enabled
9850 \begin_layout Description
9851 $$Clip The clip option.
9854 \begin_layout Description
9855 $$Extra The extra option.
9858 \begin_layout Description
9859 $$Resize The resize option.
9862 \begin_layout Description
9863 $$Rotate The rotation option.
9866 \begin_layout Standard
9867 You may ask why there are so many path macros.
9868 There are mainly two reasons:
9871 \begin_layout Standard
9872 First, relative and absolute file names should remain relative or absolute,
9874 Users may have reasons to prefer either form.
9875 Relative names are useful for portable documents that should work on different
9876 machines, for example.
9877 Absolute names may be required by some programs.
9880 \begin_layout Standard
9881 Second, LaTeX treats relative file names differently than LyX and other
9882 programs in nested included files.
9883 For LyX, a relative file name is always relative to the document that contains
9885 For LaTeX, it is always relative to the master document.
9886 These two definitions are identical if you have only one document, but
9887 differ if you have a master document that includes part documents.
9888 That means that relative filenames must be transformed when presented to
9890 Fortunately LyX does this automatically for you if you choose the right
9894 \begin_layout Standard
9895 So which path macro should be used in new template definitions? The rule
9899 \begin_layout Itemize
9904 if an absolute path is required.
9907 \begin_layout Itemize
9910 $$AbsOrRelPathMaster
9912 if the substituted string is some kind of LaTeX input.
9915 \begin_layout Itemize
9918 $$AbsOrRelPathParent
9920 in order to preserve the user's choice.
9923 \begin_layout Standard
9924 There are special cases where this rule does not work and e.g.\InsetSpace ~
9926 are needed, but normally it will work just fine.
9927 One example for such a case is the command
9929 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9931 in the XFig template above: We can't use the absolute name because the
9936 files needs the relative name in order to rewrite the file content.
9939 \begin_layout Section
9943 \begin_layout Standard
9944 \begin_inset Note Note
9947 \begin_layout Standard
9948 This section is outdated
9953 The external material feature interfaces with a lot of external programs
9954 and does so automatically, so we have to consider the security implications
9956 In particular, since you have the option of including your own filenames
9957 and/or parameter strings and those are expanded into a command, it seems
9958 that it would be possible to create a malicious document which executes
9959 arbitrary commands when a user views or prints the document.
9960 This is something we definately want to avoid.
9963 \begin_layout Standard
9964 However, since the external program commands are specified in the template
9965 configuration file only, there are no security issues if LyX is properly
9966 configured with safe templates only.
9967 This is so because the external programs are invoked with the
9971 -system call rather than the
9975 system-call, so it's not possible to execute arbitrary commands from the
9976 filename or parameter section via the shell.
9979 \begin_layout Standard
9980 This also implies that you are restricted in what command strings you can
9981 use in the external material templates.
9982 In particular, pipes and redirection are not readily available.
9983 This has to be so if LyX should remain safe.
9984 If you want to use some of the shell features, you should write a safe
9985 script to do this in a controlled manner, and then invoke the script from
9991 directory of the LyX installation, you can find a safe wrapper script
9993 general_command_wrapper.py
9995 that supports redirection of input and output.
9996 That can serve as an example for how to write safe template scripts.
9997 For a more advanced example that uses
10001 and friends, take a look at the
10008 \begin_layout Standard
10009 It is possible to design a template that interacts directly with the shell,
10010 but since this would allow a malicious user to execute arbitrary commands
10011 by writing clever filenames and/or parameters, we generally recommend that
10012 you only use safe scripts that work with the
10016 system call in a controlled manner.
10017 Of course, for use in a controlled environment, it can be tempting to just
10018 fall back to use ordinary shell scripts.
10019 If you do so, be aware that you
10023 provide an easily exploitable security hole in your system.
10024 Of course it stands to reason that such unsafe templates will never be
10025 included in the standard LyX distribution, although we do encourage people
10026 to submit new templates in the open source tradition.
10027 But LyX as shipped from the official distribution channels will never have
10031 \begin_layout Standard
10032 Including external material provides a lot of power, and you have to be
10033 careful not to introduce security hazards with this power.
10034 A subtle error in a single line in an innocent looking script can open
10035 the door to huge security problems.
10036 So if you do not fully understand the issues, we recommend that you consult
10037 a knowledgable security professional or the LyX development team if you
10038 have any questions about whether a given template is safe or not.
10039 And do this before you use it in an uncontrolled environment.
10042 \begin_layout Chapter
10046 \begin_layout Section
10050 \begin_layout Standard
10051 The LyX server is a method implemented in LyX that will enable other programs
10052 to talk to LyX, invoke LyX commands, and retrieve information about the
10053 LyX internal state.
10054 This is only intended for advanced users, but they should find it useful.
10057 \begin_layout Section
10058 Starting the LyX Server
10061 \begin_layout Standard
10062 The LyX server works through the use of a pair of named pipes.
10063 These are usually located in your home directory and have the names
10064 \begin_inset Quotes eld
10072 \begin_inset Quotes erd
10076 \begin_inset Quotes eld
10084 \begin_inset Quotes erd
10088 External programs write into
10092 and read back data from
10097 The stem of the pipe names can be defined in the
10102 ools\SpecialChar \menuseparator
10109 dialog, for example
10111 "/home/myhome/.lyxpipe"
10116 \begin_layout Standard
10125 ' to create the pipes.
10126 The above setting also has the effect of activating the LyX server.
10127 If one of the pipes already exists, LyX will assume that another LyX process
10128 is already running and will not start the server.
10129 To have several LyX processes with servers at the same time, you have to
10130 change the configuration between the start of the programs.
10133 \begin_layout Standard
10134 If you are developing a client program, you might find it useful to enable
10135 debugging information from the LyX server.
10136 Do this by starting LyX as
10138 lyx -dbg lyxserver.
10141 \begin_layout Standard
10142 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10143 case you must remove them manually.
10144 If LyX starts and the pipes exist already, it will not start any server.
10147 \begin_layout Standard
10148 Other than this, there are a few points to consider:
10151 \begin_layout Itemize
10152 Both server and clients must run on UNIX or OS/2 machines.
10153 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10154 not possible right now.
10157 \begin_layout Itemize
10158 On OS/2, only one client can connect to LyXServer at a time.
10161 \begin_layout Itemize
10162 On OS/2, clients must open inpipe with
10169 \begin_layout Standard
10170 You can find a complete example client written in C in the source distribution
10173 development/server_monitor.c
10178 \begin_layout Section
10179 Normal communication
10182 \begin_layout Standard
10183 To issue a LyX call, the client writes a line of ASCII text into the input
10185 This line has the following format:
10188 \begin_layout Quote
10202 \begin_layout Standard
10207 is a name that the client can choose arbitrarily.
10208 Its only use is that LyX will echo it if it sends an answer - so a client
10209 can dispatch results from different requesters.
10212 \begin_layout Standard
10217 is the function you want LyX to perform.
10218 It is the same as the commands you'd use in the minibuffer.
10221 \begin_layout Standard
10226 is an optional argument which is meaningful only to some functions (for
10228 \begin_inset Quotes eld
10232 \begin_inset Quotes erd
10235 which will insert the argument as text at the cursor position.)
10238 \begin_layout Standard
10239 The answer from LyX will arrive in the output pipe and be of the form
10242 \begin_layout Quote
10256 \begin_layout Standard
10265 are just echoed from the command request, while
10269 is more or less useful information filled according to how the command
10270 execution worked out.
10271 Some commands will return information about the internal state of LyX,
10273 \begin_inset Quotes eld
10277 \begin_inset Quotes erd
10280 , while other will return an empty data-response.
10281 This means that the command execution went fine.
10284 \begin_layout Standard
10285 In case of errors, the response from LyX will have this form
10288 \begin_layout Quote
10302 \begin_layout Standard
10307 should contain an explanation of why the command failed.
10310 \begin_layout Standard
10314 \begin_layout LyX-Code
10315 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10318 \begin_layout LyX-Code
10319 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10321 read a <~/.lyxpipe.out
10326 \begin_layout Section
10330 \begin_layout Standard
10331 LyX can notify clients of events going on asynchronously.
10332 Currently it will only do this if the user binds a key sequence with the
10334 \begin_inset Quotes eld
10338 \begin_inset Quotes erd
10342 The format of the string LyX sends is as follows:
10345 \begin_layout Quote
10354 \begin_layout Standard
10359 is the printed representation of the key sequence that was actually typed
10363 \begin_layout Standard
10364 This mechanism can be used to extend LyX's command set and implement macros:
10365 bind some key sequence to
10366 \begin_inset Quotes eld
10370 \begin_inset Quotes erd
10373 , start a client that listens on the out pipe, dispatches the command according
10374 to the sequence and starts a function that may use LyX calls and LyX requests
10375 to issue a command or a series of commands to LyX.
10378 \begin_layout Section
10379 The simple LyX Server Protocol
10382 \begin_layout Standard
10383 LyX implements a simple protocol that can be used for session management.
10384 All messages are of the form
10387 \begin_layout Quote
10397 \begin_layout Standard
10403 \begin_inset Quotes eld
10407 \begin_inset Quotes erd
10411 \begin_inset Quotes eld
10415 \begin_inset Quotes erd
10420 \begin_inset Quotes eld
10424 \begin_inset Quotes erd
10427 is received from a client, LyX will report back to inform the client that
10428 it's listening to it's messages, while
10429 \begin_inset Quotes eld
10433 \begin_inset Quotes erd
10436 sent from LyX will inform clients that LyX is closing.
10439 \begin_layout Chapter
10444 \begin_layout Standard
10445 This appendix is a huge cross-reference to all the English language keybindings.
10446 Originally, we simply wanted to list all of the key bindings followed by
10447 the function it's bound to.
10448 That way, a user can look up a key to find out what it does.
10449 We then decided, what the hey, why not include the default toolbar and
10450 menu bindings, too.
10451 Please note this section is likely to be very out of date.
10454 \begin_layout Standard
10455 The form is really self-explanatory, but here are a few tips: all entries
10456 are arranged roughly alphabetically for a given modifier (
10465 For the general keyboard layout, simpler prefixes precede the more complex
10475 All entries were gleaned from the default user interface and binding files
10476 located in the directories
10478 \SpecialChar \ldots{}
10483 \SpecialChar \ldots{}
10486 ; they should be treated as the final word on the bindings.
10489 \begin_layout Standard
10490 As a final note, be aware that some window managers (such as FVWM) take
10491 control of some of the function keys or motion keys.
10496 is listed here as generating
10500 , but FVWM grabs it and uses it to change virtual desktops instead.
10501 Very annoying unless you instruct your window manager to stop intercepting
10505 \begin_layout Section
10509 \begin_layout LyX-Code
10513 \begin_layout LyX-Code
10517 \begin_layout LyX-Code
10521 \begin_layout LyX-Code
10522 Icon "buffer-write"
10525 \begin_layout LyX-Code
10526 Icon "buffer-print"
10529 \begin_layout LyX-Code
10533 \begin_layout LyX-Code
10537 \begin_layout LyX-Code
10541 \begin_layout LyX-Code
10545 \begin_layout LyX-Code
10549 \begin_layout LyX-Code
10553 \begin_layout LyX-Code
10557 \begin_layout LyX-Code
10561 \begin_layout LyX-Code
10565 \begin_layout LyX-Code
10569 \begin_layout LyX-Code
10573 \begin_layout LyX-Code
10577 \begin_layout LyX-Code
10578 Icon "footnote-insert"
10581 \begin_layout LyX-Code
10582 Icon "marginpar-insert"
10585 \begin_layout LyX-Code
10589 \begin_layout LyX-Code
10593 \begin_layout LyX-Code
10594 Icon "figure-insert"
10597 \begin_layout LyX-Code
10598 Icon "dialog-tabular-insert"
10601 \begin_layout LyX-Code
10605 \begin_layout Section
10609 \begin_layout Subsection
10614 \labelwidthstring 00.00.0000
10624 \labelwidthstring 00.00.0000
10636 \labelwidthstring 00.00.0000
10648 \labelwidthstring 00.00.0000
10662 \labelwidthstring 00.00.0000
10672 \labelwidthstring 00.00.0000
10686 \labelwidthstring 00.00.0000
10696 \labelwidthstring 00.00.0000
10708 \labelwidthstring 00.00.0000
10720 \labelwidthstring 00.00.0000
10732 \labelwidthstring 00.00.0000
10738 buffer-new-template
10742 \labelwidthstring 00.00.0000
10755 \labelwidthstring 00.00.0000
10764 \labelwidthstring 00.00.0000
10773 \labelwidthstring 00.00.0000
10782 \labelwidthstring 00.00.0000
10791 \labelwidthstring 00.00.0000
10800 \labelwidthstring 00.00.0000
10810 \labelwidthstring 00.00.0000
10819 \begin_layout Subsection
10824 \labelwidthstring 00.00.0000
10836 \labelwidthstring 00.00.0000
10848 \labelwidthstring 00.00.0000
10860 \labelwidthstring 00.00.0000
10872 \labelwidthstring 00.00.0000
10884 \labelwidthstring 00.00.0000
10896 \labelwidthstring 00.00.0000
10911 \labelwidthstring 00.00.0000
10918 tabular-feature append-row
10922 \labelwidthstring 00.00.0000
10929 tabular-feature toggle-line-bottom
10933 \labelwidthstring 00.00.0000
10940 tabular-feature align-center
10944 \labelwidthstring 00.00.0000
10951 tabular-feature delete-column
10955 \labelwidthstring 00.00.0000
10962 tabular-feature align-left
10966 \labelwidthstring 00.00.0000
10973 tabular-feature align-right
10977 \labelwidthstring 00.00.0000
10984 tabular-feature toggle-line-left
10988 \labelwidthstring 00.00.0000
10995 tabular-feature multicolumn
10999 \labelwidthstring 00.00.0000
11006 tabular-feature valign-center
11010 \labelwidthstring 00.00.0000
11017 tabular-feature valign-top
11021 \labelwidthstring 00.00.0000
11028 tabular-feature toggle-line-right
11032 \labelwidthstring 00.00.0000
11039 tabular-feature toggle-line-top
11043 \labelwidthstring 00.00.0000
11050 tabular-feature append-column
11054 \labelwidthstring 00.00.0000
11061 tabular-feature valign-bottom
11065 \labelwidthstring 00.00.0000
11072 tabular-feature delete-row
11077 \labelwidthstring 00.00.0000
11090 \labelwidthstring 00.00.0000
11095 floats-operate openfoot
11099 \labelwidthstring 00.00.0000
11104 floats-operate closefoot
11108 \labelwidthstring 00.00.0000
11113 floats-operate openfig
11117 \labelwidthstring 00.00.0000
11126 \labelwidthstring 00.00.0000
11135 \labelwidthstring 00.00.0000
11140 floats-operate closefig
11145 \labelwidthstring 00.00.0000
11157 \labelwidthstring 00.00.0000
11171 \labelwidthstring 00.00.0000
11183 \labelwidthstring 00.00.0000
11195 \labelwidthstring 00.00.0000
11209 \labelwidthstring 00.00.0000
11219 \labelwidthstring 00.00.0000
11232 \labelwidthstring 00.00.0000
11239 primary-selection-paste
11243 \labelwidthstring 00.00.0000
11250 primary-selection-paste paragraph
11254 \begin_layout Subsection
11259 \labelwidthstring 00.00.0000
11274 \labelwidthstring 00.00.0000
11281 buffer-float-insert algorithm
11285 \labelwidthstring 00.00.0000
11292 buffer-float-insert wide-tab
11296 \labelwidthstring 00.00.0000
11303 buffer-float-insert figure
11307 \labelwidthstring 00.00.0000
11314 buffer-float-insert table
11318 \labelwidthstring 00.00.0000
11325 buffer-float-insert wide-fig
11330 \labelwidthstring 00.00.0000
11338 dialog-tabular-insert
11342 \labelwidthstring 00.00.0000
11354 \labelwidthstring 00.00.0000
11366 \labelwidthstring 00.00.0000
11374 buffer-child-insert
11378 \labelwidthstring 00.00.0000
11390 \labelwidthstring 00.00.0000
11402 \labelwidthstring 00.00.0000
11414 \labelwidthstring 00.00.0000
11426 \labelwidthstring 00.00.0000
11438 \labelwidthstring 00.00.0000
11450 \labelwidthstring 00.00.0000
11462 \labelwidthstring 00.00.0000
11477 \labelwidthstring 00.00.0000
11488 \labelwidthstring 00.00.0000
11499 \labelwidthstring 00.00.0000
11510 \labelwidthstring 00.00.0000
11521 \labelwidthstring 00.00.0000
11532 \labelwidthstring 00.00.0000
11544 \labelwidthstring 00.00.0000
11556 \labelwidthstring 00.00.0000
11571 \labelwidthstring 00.00.0000
11578 protected-space-insert
11582 \labelwidthstring 00.00.0000
11589 end-of-sentence-period-insert
11593 \labelwidthstring 00.00.0000
11604 \labelwidthstring 00.00.0000
11615 \labelwidthstring 00.00.0000
11626 \labelwidthstring 00.00.0000
11633 menu-separator-insert
11637 \labelwidthstring 00.00.0000
11644 hyphenation-point-insert
11648 \labelwidthstring 00.00.0000
11659 \labelwidthstring 00.00.0000
11666 command-sequence math-insert ^;math-mode;
11670 \labelwidthstring 00.00.0000
11677 command-sequence math-insert _;math-mode;
11682 \labelwidthstring 00.00.0000
11697 \labelwidthstring 00.00.0000
11704 file-insert-ascii lines
11708 \labelwidthstring 00.00.0000
11715 file-insert-ascii paragraphs
11719 \labelwidthstring 00.00.0000
11731 \labelwidthstring 00.00.0000
11743 \labelwidthstring 00.00.0000
11755 \labelwidthstring 00.00.0000
11766 \begin_layout Subsection
11771 \labelwidthstring 00.00.0000
11783 \labelwidthstring 00.00.0000
11795 \labelwidthstring 00.00.0000
11807 \labelwidthstring 00.00.0000
11819 \labelwidthstring 00.00.0000
11831 \labelwidthstring 00.00.0000
11843 \labelwidthstring 00.00.0000
11855 \labelwidthstring 00.00.0000
11867 \labelwidthstring 00.00.0000
11875 layout-save-default
11879 \labelwidthstring 00.00.0000
11891 \labelwidthstring 00.00.0000
11903 \labelwidthstring 00.00.0000
11914 \begin_layout Subsubsection
11917 Layout\SpecialChar \menuseparator
11924 \labelwidthstring 00.00.0000
11934 \labelwidthstring 00.00.0000
11944 \labelwidthstring 00.00.0000
11954 \labelwidthstring 00.00.0000
11964 \labelwidthstring 00.00.0000
11976 \labelwidthstring 00.00.0000
11986 \labelwidthstring 00.00.0000
11996 \labelwidthstring 00.00.0000
12006 \labelwidthstring 00.00.0000
12016 \labelwidthstring 00.00.0000
12026 \labelwidthstring 00.00.0000
12036 \labelwidthstring 00.00.0000
12046 \labelwidthstring 00.00.0000
12056 \labelwidthstring 00.00.0000
12068 \labelwidthstring 00.00.0000
12080 \labelwidthstring 00.00.0000
12092 \labelwidthstring 00.00.0000
12104 \labelwidthstring 00.00.0000
12114 \labelwidthstring 00.00.0000
12126 \labelwidthstring 00.00.0000
12138 \labelwidthstring 00.00.0000
12148 \labelwidthstring 00.00.0000
12160 \labelwidthstring 00.00.0000
12172 \labelwidthstring 00.00.0000
12184 \labelwidthstring 00.00.0000
12196 \labelwidthstring 00.00.0000
12206 \labelwidthstring 00.00.0000
12216 \labelwidthstring 00.00.0000
12228 \labelwidthstring 00.00.0000
12240 \labelwidthstring 00.00.0000
12252 \labelwidthstring 00.00.0000
12262 \labelwidthstring 00.00.0000
12271 \begin_layout Subsection
12275 \begin_layout Subsection
12279 \begin_layout Subsection
12283 \begin_layout Subsection
12288 \labelwidthstring 00.00.0000
12300 \labelwidthstring 00.00.0000
12312 \labelwidthstring 00.00.0000
12324 \labelwidthstring 00.00.0000
12336 \labelwidthstring 00.00.0000
12348 \labelwidthstring 00.00.0000
12356 layout ShortFoilhead
12360 \labelwidthstring 00.00.0000
12372 \labelwidthstring 00.00.0000
12384 \labelwidthstring 00.00.0000
12396 \labelwidthstring 00.00.0000
12408 \labelwidthstring 00.00.0000
12416 layout ShortRotatefoilhead
12420 \labelwidthstring 00.00.0000
12432 \labelwidthstring 00.00.0000
12444 \labelwidthstring 00.00.0000
12456 \labelwidthstring 00.00.0000
12464 drop-layouts-choice
12468 \labelwidthstring 00.00.0000
12483 \labelwidthstring 00.00.0000
12498 \labelwidthstring 00.00.0000
12510 \labelwidthstring 00.00.0000
12522 \labelwidthstring 00.00.0000
12530 layout Subsubsection
12534 \labelwidthstring 00.00.0000
12546 \labelwidthstring 00.00.0000
12554 layout Subparagraph
12558 \labelwidthstring 00.00.0000
12562 asterisk\InsetSpace ~
12571 \labelwidthstring 00.00.0000
12575 asterisk\InsetSpace ~
12584 \labelwidthstring 00.00.0000
12588 asterisk\InsetSpace ~
12597 \labelwidthstring 00.00.0000
12601 asterisk\InsetSpace ~
12610 \labelwidthstring 00.00.0000
12614 asterisk\InsetSpace ~
12619 layout Subsubsection*
12623 \labelwidthstring 00.00.0000
12627 asterisk\InsetSpace ~
12636 \labelwidthstring 00.00.0000
12640 asterisk\InsetSpace ~
12645 layout Subparagraph*
12649 \labelwidthstring 00.00.0000
12661 \labelwidthstring 00.00.0000
12669 layout Bibliography
12673 \labelwidthstring 00.00.0000
12685 \labelwidthstring 00.00.0000
12697 \labelwidthstring 00.00.0000
12709 \labelwidthstring 00.00.0000
12721 \labelwidthstring 00.00.0000
12733 \labelwidthstring 00.00.0000
12741 layout Rotatefoilhead
12745 \labelwidthstring 00.00.0000
12753 layout RightAddress
12757 \labelwidthstring 00.00.0000
12769 \labelwidthstring 00.00.0000
12781 \labelwidthstring 00.00.0000
12793 \labelwidthstring 00.00.0000
12804 \begin_layout Standard
12805 These ones are kept for backwards compatibility, but only make sense on
12810 \labelwidthstring 00.00.0000
12822 \labelwidthstring 00.00.0000
12830 layout Subsubsection*
12834 \labelwidthstring 00.00.0000
12845 \begin_layout Section
12849 \begin_layout Subsection
12856 \labelwidthstring 00.00.0000
12867 \labelwidthstring 00.00.0000
12878 \labelwidthstring 00.00.0000
12889 \labelwidthstring 00.00.0000
12900 \labelwidthstring 00.00.0000
12911 \labelwidthstring 00.00.0000
12922 \labelwidthstring 00.00.0000
12929 hyphenation-point-insert
12933 \labelwidthstring 00.00.0000
12944 \labelwidthstring 00.00.0000
12951 line-delete-forward
12955 \labelwidthstring 00.00.0000
12966 \labelwidthstring 00.00.0000
12977 \labelwidthstring 00.00.0000
12988 \labelwidthstring 00.00.0000
12999 \labelwidthstring 00.00.0000
13010 \labelwidthstring 00.00.0000
13019 \labelwidthstring 00.00.0000
13030 \labelwidthstring 00.00.0000
13041 \labelwidthstring 00.00.0000
13052 \labelwidthstring 00.00.0000
13063 \labelwidthstring 00.00.0000
13074 \labelwidthstring 00.00.0000
13085 \labelwidthstring 00.00.0000
13097 \labelwidthstring 00.00.0000
13109 \labelwidthstring 00.00.0000
13121 \labelwidthstring 00.00.0000
13133 \labelwidthstring 00.00.0000
13146 \labelwidthstring 00.00.0000
13158 \labelwidthstring 00.00.0000
13170 \labelwidthstring 00.00.0000
13182 \labelwidthstring 00.00.0000
13194 \labelwidthstring 00.00.0000
13207 \labelwidthstring 00.00.0000
13219 \labelwidthstring 00.00.0000
13231 \labelwidthstring 00.00.0000
13244 \labelwidthstring 00.00.0000
13257 \labelwidthstring 00.00.0000
13270 \labelwidthstring 00.00.0000
13283 \labelwidthstring 00.00.0000
13296 \labelwidthstring 00.00.0000
13309 \labelwidthstring 00.00.0000
13321 \labelwidthstring 00.00.0000
13333 \labelwidthstring 00.00.0000
13345 \labelwidthstring 00.00.0000
13353 menu-open Documents
13357 \labelwidthstring 00.00.0000
13369 \labelwidthstring 00.00.0000
13381 \labelwidthstring 00.00.0000
13393 \labelwidthstring 00.00.0000
13405 \labelwidthstring 00.00.0000
13417 \labelwidthstring 00.00.0000
13425 buffer-toggle-read-only
13429 \labelwidthstring 00.00.0000
13441 \labelwidthstring 00.00.0000
13453 \labelwidthstring 00.00.0000
13465 \labelwidthstring 00.00.0000
13476 \labelwidthstring 00.00.0000
13487 \labelwidthstring 00.00.0000
13498 \labelwidthstring 00.00.0000
13509 \labelwidthstring 00.00.0000
13520 \labelwidthstring 00.00.0000
13531 \labelwidthstring 00.00.0000
13542 \labelwidthstring 00.00.0000
13553 \labelwidthstring 00.00.0000
13564 \labelwidthstring 00.00.0000
13575 \labelwidthstring 00.00.0000
13586 \labelwidthstring 00.00.0000
13597 \labelwidthstring 00.00.0000
13608 \labelwidthstring 00.00.0000
13619 \labelwidthstring 00.00.0000
13626 word-delete-forward
13630 \labelwidthstring 00.00.0000
13637 word-delete-backward
13641 \labelwidthstring 00.00.0000
13652 \labelwidthstring 00.00.0000
13659 end-of-sentence-period-insert
13663 \labelwidthstring 00.00.0000
13670 protected-space-insert
13674 \labelwidthstring 00.00.0000
13685 \labelwidthstring 00.00.0000
13696 \labelwidthstring 00.00.0000
13707 \labelwidthstring 00.00.0000
13718 \labelwidthstring 00.00.0000
13729 \labelwidthstring 00.00.0000
13740 \labelwidthstring 00.00.0000
13747 buffer-begin-select
13751 \labelwidthstring 00.00.0000
13762 \labelwidthstring 00.00.0000
13769 paragraph-up-select
13773 \labelwidthstring 00.00.0000
13780 paragraph-down-select
13784 \labelwidthstring 00.00.0000
13791 word-backward-select
13795 \labelwidthstring 00.00.0000
13802 word-forward-select
13806 \labelwidthstring 00.00.0000
13817 \labelwidthstring 00.00.0000
13824 word-delete-forward
13828 \labelwidthstring 00.00.0000
13839 \labelwidthstring 00.00.0000
13850 \labelwidthstring 00.00.0000
13861 \labelwidthstring 00.00.0000
13872 \labelwidthstring 00.00.0000
13879 break-paragraph-keep-layout
13883 \labelwidthstring 00.00.0000
13891 \begin_layout Subsection
13898 \labelwidthstring 00.00.0000
13909 \labelwidthstring 00.00.0000
13920 \labelwidthstring 00.00.0000
13931 \labelwidthstring 00.00.0000
13942 \labelwidthstring 00.00.0000
13953 \labelwidthstring 00.00.0000
13964 \labelwidthstring 00.00.0000
13975 \labelwidthstring 00.00.0000
13986 \labelwidthstring 00.00.0000
13997 \labelwidthstring 00.00.0000
14008 \labelwidthstring 00.00.0000
14019 \labelwidthstring 00.00.0000
14030 \labelwidthstring 00.00.0000
14041 \labelwidthstring 00.00.0000
14052 \labelwidthstring 00.00.0000
14063 \labelwidthstring 00.00.0000
14074 \labelwidthstring 00.00.0000
14085 \labelwidthstring 00.00.0000
14096 \labelwidthstring 00.00.0000
14107 \labelwidthstring 00.00.0000
14118 \labelwidthstring 00.00.0000
14129 \labelwidthstring 00.00.0000
14140 \labelwidthstring 00.00.0000
14147 protected-space-insert
14151 \labelwidthstring 00.00.0000
14162 \labelwidthstring 00.00.0000
14173 \labelwidthstring 00.00.0000
14184 \labelwidthstring 00.00.0000
14191 buffer-new-template
14195 \labelwidthstring 00.00.0000
14206 \labelwidthstring 00.00.0000
14217 \labelwidthstring 00.00.0000
14228 \labelwidthstring 00.00.0000
14239 \labelwidthstring 00.00.0000
14250 \labelwidthstring 00.00.0000
14261 \labelwidthstring 00.00.0000
14272 \labelwidthstring 00.00.0000
14279 end-of-sentence-period-insert
14283 \labelwidthstring 00.00.0000
14294 \labelwidthstring 00.00.0000
14305 \labelwidthstring 00.00.0000
14312 hyphenation-point-insert
14316 \labelwidthstring 00.00.0000
14327 \labelwidthstring 00.00.0000
14334 protected-space-insert
14338 \labelwidthstring 00.00.0000
14349 \labelwidthstring 00.00.0000
14360 \labelwidthstring 00.00.0000
14371 \labelwidthstring 00.00.0000
14382 \labelwidthstring 00.00.0000
14393 \labelwidthstring 00.00.0000
14404 \labelwidthstring 00.00.0000
14415 \labelwidthstring 00.00.0000
14426 \labelwidthstring 00.00.0000
14437 \labelwidthstring 00.00.0000
14448 \labelwidthstring 00.00.0000
14459 \labelwidthstring 00.00.0000
14470 \labelwidthstring 00.00.0000
14481 \labelwidthstring 00.00.0000
14492 \labelwidthstring 00.00.0000
14503 \labelwidthstring 00.00.0000
14510 word-delete-forward
14514 \labelwidthstring 00.00.0000
14521 word-delete-backward
14525 \labelwidthstring 00.00.0000
14536 \labelwidthstring 00.00.0000
14547 \labelwidthstring 00.00.0000
14558 \labelwidthstring 00.00.0000
14569 \labelwidthstring 00.00.0000
14576 paragraph-down-select
14580 \labelwidthstring 00.00.0000
14591 \labelwidthstring 00.00.0000
14598 buffer-begin-select
14602 \labelwidthstring 00.00.0000
14609 word-backward-select
14613 \labelwidthstring 00.00.0000
14620 word-forward-select
14624 \labelwidthstring 00.00.0000
14631 paragraph-up-select
14635 \labelwidthstring 00.00.0000
14646 \labelwidthstring 00.00.0000
14653 break-paragraph-keep-layout
14657 \labelwidthstring 00.00.0000
14668 \labelwidthstring 00.00.0000
14679 \labelwidthstring 00.00.0000
14690 \labelwidthstring 00.00.0000
14701 \labelwidthstring 00.00.0000
14712 \labelwidthstring 00.00.0000
14721 \labelwidthstring 00.00.0000
14732 \labelwidthstring 00.00.0000
14743 \labelwidthstring 00.00.0000
14754 \labelwidthstring 00.00.0000
14765 \labelwidthstring 00.00.0000
14775 \begin_layout Subsection
14781 \begin_layout Standard
14782 These are LyX keyboard definitions for mathematics, similar to those of
14786 \begin_layout Standard
14787 The bindings file and the present documentation were prepared by Serge Winitzki
14788 with assistance from Jean-Marc Lasgouttes.
14789 Version 1.3, for LyX 1.2.x and 1.3.x.
14792 \begin_layout Standard
14793 These definitions make it a lot easier to type equations without using the
14794 mouse, especially for people familiar with Scientific Word.
14795 The standard LyX bindings such as
14806 \begin_layout Standard
14807 Tip: to find the "LyX bind name" for a key, look at the status bar after
14808 typing some non-existent key combination.
14810 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
14811 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
14815 \labelwidthstring 00.00.0000
14824 -- Copy, cut, paste is as in Sciword,
14840 \labelwidthstring 00.00.0000
14849 -- Display equation toggle: type
14853 to insert a displayed formula (
14858 \begin_inset Quotes eld
14862 \begin_inset Quotes erd
14870 in a displayed formula to convert it back to an inline formula.
14874 \labelwidthstring 00.00.0000
14889 to insert a fraction (
14894 \begin_inset Quotes eld
14898 \begin_inset Quotes erd
14902 You can also select an expression and type
14906 to convert it to the numerator of a fraction.
14915 end of the denominator will delete the numerator and convert the denominator
14920 \labelwidthstring 00.00.0000
14932 \begin_inset Formula $\int$
14940 \begin_inset Quotes eld
14944 \begin_inset Quotes erd
14951 \labelwidthstring 00.00.0000
14958 line-delete-forward
14960 -- Emacs-like binding: delete forward of cursor to end of line.
14964 \labelwidthstring 00.00.0000
14973 -- A text/math toggle (
14978 \begin_inset Quotes eld
14982 \begin_inset Quotes erd
14985 ): switches to math in text mode, and also inserts roman text in math mode.
14995 \begin_inset Quotes eld
14999 \begin_inset Quotes erd
15006 \labelwidthstring 00.00.0000
15015 -- Add/remove numbering in a single equation.
15019 \labelwidthstring 00.00.0000
15028 -- Add/remove numbering at a line in equation arrays.
15031 \begin_layout Standard
15032 The above commands are toggles that control the numbering of equations (
15037 \begin_inset Quotes eld
15041 \begin_inset Quotes erd
15045 Note: when deleting a number in a labeled eqnarray, the label is not really
15046 removed (the TeX code becomes
15047 \begin_inset Quotes eld
15059 \begin_inset Quotes erd
15062 ) and this generates a (harmless) LaTeX warning.
15066 \labelwidthstring 00.00.0000
15075 -- Open a new document.
15080 \labelwidthstring 00.00.0000
15089 -- Insert a quote character " (
15094 \begin_inset Quotes eld
15098 \begin_inset Quotes erd
15103 \begin_inset Quotes eld
15107 \begin_inset Quotes erd
15110 double quote character that you get by default.
15114 \labelwidthstring 00.00.0000
15125 -- Square root sign
15126 \begin_inset Formula $\sqrt{x}$
15134 \begin_inset Quotes eld
15138 \begin_inset Quotes erd
15145 \labelwidthstring 00.00.0000
15157 \begin_inset Formula $\sqrt[n]{x}$
15164 \labelwidthstring 00.00.0000
15173 -- Another binding for a switch between the text and the math mode (
15178 \begin_inset Quotes eld
15182 \begin_inset Quotes erd
15186 Note that the roman text inserted in math mode is special.
15190 \labelwidthstring 00.00.0000
15203 the selected text (text mode only, use things like
15219 \labelwidthstring 00.00.0000
15228 -- W*ndows heritage.
15232 \labelwidthstring 00.00.0000
15241 -- Close the current document (again, a W*ndows heritage).
15245 \labelwidthstring 00.00.0000
15256 \labelwidthstring 00.00.0000
15267 \labelwidthstring 00.00.0000
15277 \begin_inset Quotes eld
15281 \begin_inset Quotes erd
15285 \begin_inset Quotes eld
15289 \begin_inset Quotes erd
15295 \begin_layout Standard
15296 Bracket delimiters: press
15300 -<bracket key> to insert a matching pair of delimiters.
15305 inserts a pair of parentheses
15306 \begin_inset Formula $\left[\right]$
15314 does the same thing.) It will switch to math mode if needed.
15315 The supported characters are ( [ { < |.
15316 It is the same to press the right or the left bracket.
15317 The corresponding delimiters are
15318 \begin_inset Formula $\left(\right)$
15322 \begin_inset Formula $\left[\right]$
15326 \begin_inset Formula $\left\{ \right\} $
15330 \begin_inset Formula $\left\langle \right\rangle $
15334 \begin_inset Formula $\left|\right|$
15339 \begin_inset Quotes eld
15343 \begin_inset Quotes erd
15346 and resize with their contents.
15347 Use Math Panel to get other or non-matching delimiters.
15348 Press backspace on the
15352 delimiter to remove both
15353 \begin_inset Quotes eld
15357 \begin_inset Quotes erd
15360 delimiters without removing their contents.
15364 \labelwidthstring 00.00.0000
15373 -- for convenience, pressing
15387 \labelwidthstring 00.00.0000
15398 \labelwidthstring 00.00.0000
15409 \labelwidthstring 00.00.0000
15420 \labelwidthstring 00.00.0000
15431 \labelwidthstring 00.00.0000
15442 \labelwidthstring 00.00.0000
15449 math-delim langle rangle
15451 -- angular delimiters
15452 \begin_inset Formula $\left\langle \right\rangle $
15455 , not to confuse with ordinary < > signs.
15459 \labelwidthstring 00.00.0000
15466 math-delim langle rangle
15469 \begin_layout Standard
15470 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15471 some British ones), the bar character
15476 -something and on some wayward Unices to "brokenbar".
15477 So we define all of these keys as well.
15481 \labelwidthstring 00.00.0000
15492 \labelwidthstring 00.00.0000
15503 \labelwidthstring 00.00.0000
15514 \labelwidthstring 00.00.0000
15525 \labelwidthstring 00.00.0000
15535 \begin_layout Standard
15536 Accents are in most cases
15540 -<accent key>, e.g.\InsetSpace ~
15554 for tilde (you also need to press
15560 \begin_inset Quotes eld
15572 \begin_inset Quotes erd
15576 Some accents work only in math mode and others only in text mode.
15580 \labelwidthstring 00.00.0000
15589 -- overdot accent, \i \.{a}
15594 \labelwidthstring 00.00.0000
15606 \begin_inset Formula $\dot{a}$
15609 (math mode only -- in physics this denotes a first derivative).
15613 \labelwidthstring 00.00.0000
15624 -- Vector accent over math
15625 \begin_inset Formula $\overrightarrow{x}$
15632 \labelwidthstring 00.00.0000
15641 -- umlaut accent, ä (text mode only)
15645 \labelwidthstring 00.00.0000
15656 -- double dot accent,
15657 \begin_inset Formula $\ddot{a}$
15660 (math mode only -- in physics this denotes a second derivative).
15661 To get a triple dot in math mode, use
15669 \labelwidthstring 00.00.0000
15678 -- grave accent à (text mode only, use
15688 \labelwidthstring 00.00.0000
15697 -- tilde accent ã (text mode only, use
15707 \labelwidthstring 00.00.0000
15716 -- acute accent á (text mode only, use
15726 \labelwidthstring 00.00.0000
15735 -- circumflex (caret) accent â (text mode only, use
15744 \begin_layout Standard
15746 The new key S-F2 for creating a LaTeX file seems handy.
15750 \labelwidthstring 00.00.0000
15759 -- Save current document.
15763 \labelwidthstring 00.00.0000
15770 buffer-export latex
15772 -- Write a LaTeX file for the current document.
15776 \labelwidthstring 00.00.0000
15785 -- Find and replace dialog.
15789 \labelwidthstring 00.00.0000
15806 \labelwidthstring 00.00.0000
15819 to quit LyX is the W*ndows w*ndow manager's mnemonic.
15822 \begin_layout Standard
15831 are used to switch fonts.
15836 to switch back to the normal font.
15837 The non-default font switches
15845 all work as toggles.
15846 They also work on the whole word if you put the cursor in the middle of
15847 the word, or if you select some text.
15851 \labelwidthstring 00.00.0000
15860 -- stop using any special font
15864 \labelwidthstring 00.00.0000
15881 \labelwidthstring 00.00.0000
15898 \labelwidthstring 00.00.0000
15915 \labelwidthstring 00.00.0000
15929 (Used sometimes for people's names.)
15932 \begin_layout Standard
15938 \begin_inset Quotes eld
15942 \begin_inset Quotes erd
15949 key (useful e.g.\InsetSpace ~
15950 if the keyboard has no working
15957 \begin_layout Standard
15958 Here are some Sciword-inspired mnemonics for frequently used math symbols.
15959 Many symbols start with a
15968 cannot be itself bound to anything.
15972 \labelwidthstring 00.00.0000
15984 \begin_inset Quotes eld
15988 \begin_inset Quotes erd
15992 \begin_inset Formula $\prime$
15996 This is frequently unnecessary: in most cases the normal apostrophe works
15999 \begin_inset Formula $x'+2x=0$
16002 , but in some cases this would generate a double superscript error in LaTeX.
16004 \begin_inset Formula $x^{\prime2}$
16008 \begin_inset Formula $x$
16011 prime squared) must be entered with the prime character.
16015 \labelwidthstring 00.00.0000
16023 command-sequence math-superscript; math-insert
16027 -- Insert a prime as a superscript (see example above).
16031 \labelwidthstring 00.00.0000
16040 -- Insert an upper index.
16047 \labelwidthstring 00.00.0000
16056 -- Insert a lower index.
16063 \labelwidthstring 00.00.0000
16075 -- Partial derivative symbol
16076 \begin_inset Formula $\partial$
16083 \labelwidthstring 00.00.0000
16095 -- Summation symbol
16096 \begin_inset Formula $\sum$
16099 (not the same as the Greek letter uppercase Sigma
16100 \begin_inset Formula $\Sigma$
16103 because it can resize and allows smart upper/lower limits).
16107 \labelwidthstring 00.00.0000
16120 \begin_inset Formula $\prod$
16123 (not the same as the Greek letter uppercase Pi,
16124 \begin_inset Formula $\Pi$
16131 \labelwidthstring 00.00.0000
16144 \begin_inset Formula $\infty$
16151 \labelwidthstring 00.00.0000
16164 \begin_inset Formula $\times$
16171 \labelwidthstring 00.00.0000
16181 -- Insert a stacked array
16182 \begin_inset Formula $\begin{array}{c}
16184 \end{array}\end{array}$
16188 (Frequently useful in formulae.)
16192 \labelwidthstring 00.00.0000
16203 \begin_inset Formula $\times$
16207 \begin_inset Formula $\begin{array}{ccc}
16212 (Then you can modify its size using the
16214 Edit\SpecialChar \menuseparator
16221 \labelwidthstring 00.00.0000
16234 \begin_inset Quotes eld
16238 \begin_inset Quotes erd
16242 \begin_inset Formula $\dagger$
16249 \labelwidthstring 00.00.0000
16262 \begin_inset Quotes eld
16266 \begin_inset Quotes erd
16270 \begin_inset Formula $\equiv$
16277 \labelwidthstring 00.00.0000
16289 \begin_inset Quotes eld
16292 Approximate equality
16293 \begin_inset Quotes erd
16297 \begin_inset Formula $\approx$
16304 \labelwidthstring 00.00.0000
16316 \begin_inset Quotes eld
16320 \begin_inset Quotes erd
16324 \begin_inset Formula $\sim$
16331 \labelwidthstring 00.00.0000
16343 \begin_inset Formula $\rightarrow$
16347 \begin_inset Formula $\lim_{x\rightarrow0}$
16354 \labelwidthstring 00.00.0000
16366 \begin_inset Formula $\leq$
16373 \labelwidthstring 00.00.0000
16384 -- Greater-or-equal
16385 \begin_inset Formula $\geq$
16392 \labelwidthstring 00.00.0000
16405 \begin_inset Quotes eld
16409 \begin_inset Quotes erd
16413 \begin_inset Formula $\ll$
16416 (useful in physics)
16420 \labelwidthstring 00.00.0000
16433 \begin_inset Quotes eld
16437 \begin_inset Quotes erd
16441 \begin_inset Formula $\gg$
16447 \begin_layout Subsection
16448 Standard math bindings
16452 \labelwidthstring 00.00.0000
16466 \labelwidthstring 00.00.0000
16478 \labelwidthstring 00.00.0000
16490 \labelwidthstring 00.00.0000
16504 \labelwidthstring 00.00.0000
16516 \labelwidthstring 00.00.0000
16528 \labelwidthstring 00.00.0000
16542 \labelwidthstring 00.00.0000
16554 \labelwidthstring 00.00.0000
16566 \labelwidthstring 00.00.0000
16578 \labelwidthstring 00.00.0000
16592 \labelwidthstring 00.00.0000
16606 \labelwidthstring 00.00.0000
16620 \labelwidthstring 00.00.0000
16634 \labelwidthstring 00.00.0000
16648 \labelwidthstring 00.00.0000
16662 \labelwidthstring 00.00.0000
16674 \labelwidthstring 00.00.0000
16688 \labelwidthstring 00.00.0000
16700 \labelwidthstring 00.00.0000
16712 \labelwidthstring 00.00.0000
16724 \labelwidthstring 00.00.0000
16736 \labelwidthstring 00.00.0000
16750 \labelwidthstring 00.00.0000
16762 \labelwidthstring 00.00.0000
16774 \labelwidthstring 00.00.0000
16786 \labelwidthstring 00.00.0000
16794 math-delim langle rangle
16798 \labelwidthstring 00.00.0000
16806 math-delim rangle langle
16810 \labelwidthstring 00.00.0000
16822 \labelwidthstring 00.00.0000
16836 \labelwidthstring 00.00.0000
16849 \begin_layout Subsection
16854 \labelwidthstring 00.00.0000
16864 \labelwidthstring 00.00.0000
16874 \labelwidthstring 00.00.0000
16884 \labelwidthstring 00.00.0000
16894 \labelwidthstring 00.00.0000