1 #LyX 1.4.3 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.
535 \begin_layout Section
536 Your local configuration directory
539 \begin_layout Standard
540 Even if you are using LyX as an unprivileged user, you might want to change
541 LyX configuration for your own use.
546 directory contains all your personal configuration files.
547 This is the directory described as
548 \begin_inset Quotes eld
552 \begin_inset Quotes erd
560 elp\SpecialChar \menuseparator
565 This directory is used as a mirror of
569 , which means that every file in
573 is a replacement for the corresponding file in
578 Any configuration file described in the above sections can be placed either
579 in the system-wide directory, in which case it will affect all users, or
580 in your local directory for your own use.
583 \begin_layout Standard
584 To make things clearer, let's provide a few examples:
587 \begin_layout Itemize
588 The preferences set in the
593 ools\SpecialChar \menuseparator
600 dialog are saved to a file
611 \begin_layout Itemize
612 When you reconfigure using
617 ools\SpecialChar \menuseparator
628 and the resulting files are written in your local configuration directory
629 (see section\InsetSpace ~
631 \begin_inset LatexCommand \ref{sec:autodetected}
635 to have a list of the
639 settings affected by this section).
640 This means that any additional text class file that you might have added
645 will be added to the list of classes in the
650 ayout\SpecialChar \menuseparator
660 \begin_layout Itemize
661 Similarly, if you have installed some LaTeX document classes in your home
662 directory, that LaTeX can find with your
666 path, they will show up in your list of text classes.
670 \begin_layout Standard
671 as long as LyX or yourself have a
675 file for it, of course.
683 \begin_layout Itemize
684 If you get some updated documentation from LyX ftp site and cannot install
685 it because you do not have sysadmin rights on your system, you can just
700 \begin_layout Section
701 Running LyX with multiple configurations
704 \begin_layout Standard
705 The configuration freedom of the local configuration directory may not suffice
706 if you want to have more than one configuration at your disposal.
707 For example, you may want to be use different key bindings or printer settings
709 You can achieve this by having several such directories.
710 You then specify which directory to use at run-time.
713 \begin_layout Standard
714 Invoking LyX with the command line switch
721 instructs the program to read the configuration from that directory, and
722 not from the default directory (you can determine the default directory
723 by running LyX without this switch as described above).
724 If this directory does not exist, LyX offers to create it for you, just
725 like it does for the default directory on the first time you run the program.
726 You can modify the configuration options in this additional
730 exactly as you would for the default directory.
731 These directories are completely independent (but read on).
732 Note that setting the environment variable
736 to some value has exactly the same effect
741 \begin_layout Standard
742 Having several configurations also requires more maintenance: if you want
743 to add a new layout to
747 which you want available from all your configurations, you must add it
748 to each directory separately.
749 You can avoid this with the following trick: after LyX creates the additional
750 directory, most of the subdirectories (see above) are empty.
751 If you want the new configuration to mirror an existing one, replace the
752 empty subdirectory with a symbolic link to the matching subdirectory in
753 the existing configuration.
760 subirectory, however, since it contains a file written by the configuration
761 script (also accessible through
766 ools\SpecialChar \menuseparator
772 \begin_inset LatexCommand \ref{sec:autodetected}
778 which is configuration-specific.
781 \begin_layout Chapter
792 \begin_layout Section
793 Using the dialog for the first time
796 \begin_layout Standard
801 file will contain only changes that you have made to the default behaviour,
802 some of which is hard-coded into LyX and some of which is contained in
805 LyXDir/lyxrc.defaults
808 Note that in both files lines beginning with a
809 \begin_inset Quotes eld
817 \begin_inset Quotes erd
820 are just comments and not interpreted.
821 However, only system administrators should edit
832 ools\SpecialChar \menuseparator
839 dialog to create and modify their own
846 \begin_layout Standard
852 ools\SpecialChar \menuseparator
859 dialog will be largely self-explanatory.
860 Almost all the commands have an associated comment, so you shouldn't have
861 too much trouble modifying it to taste.
862 Before we highlight a few of the more important commands below, however,
867 ing some of your changes (e.g., screen fonts) will have an instant effect.
869 changing the bind file) will not.
870 If nothing appears to have changed, just
874 the changes and restart LyX.
877 \begin_layout Section
881 \begin_layout Standard
882 The font used to display your documents on the LyX screen is very important,
883 since you'll be reading all your documents with this font.
884 Therefore it is important that the font is as readable and good-looking
886 The LyX team tried to provide the best possible default font for you, but
887 since practically all X11 systems are different, it's likely that the default
888 fonts will be sub-optimal on your system.
889 Fortunately, you can do something about this.
890 Before we explain how to do this, you should learn a bit more about fonts
891 so that you are better prepared for choosing your fonts, because it is
892 a trade-off that is specific to your preferences and the capabilities of
896 \begin_layout Standard
897 Notice that this section only deals with the fonts on the
901 inside the LyX window.
902 The fonts that appear on the
910 are independent from these fonts, and are determined by the document class.
915 to learn how to change the font of the printed version of your document.
918 \begin_layout Standard
919 Basically, screen fonts come in two different kinds: scalable outline fonts
920 and non-scalable bitmap fonts.
921 This distinction seems a bit arbitrary, since non-scalable fonts are actually
922 scalable in most modern font renderers.
923 The difference lies in the
927 of the scaling, and the
932 The most important decision is thus whether you should use non-scalable
933 bitmap fonts or scalable outline fonts.
936 \begin_layout Standard
937 The scalable fonts are built from
941 of the single glyphs (i.e.
942 characters) in the font.
943 This means that each glyph is defined using mathematical curves that are
944 well suited for scaling to any requested size.
945 This mathematical definition is interpreted by the font renderer and turned
946 into a small picture composed of pixels according to which size and glyph,
947 the programmer requests.
948 This means that scalable fonts will look pretty good in all sizes.
949 Well, almost all sizes.
950 Since scalable fonts are defined in an abstract way, it can be hard to
951 provide a good rendering at small sizes, where each pixel has to be very
952 carefully computed to provide a good image.
953 Technically it is possible to do this from the mathematical definition,
954 but in order to keep the rendering reasonably fast, tradeoffs have to be
955 made, and the result is that scalable fonts can be difficult to read at
959 \begin_layout Standard
960 Bitmap fonts on the other hand, are defined by bitmap graphics from the
961 start, so they will look good at all the sizes they are meant for.
962 However, they don't scale well, because in order to scale a glyph, each
963 pixel is enlarged into several pixels.
964 It is the same effect that happens if you try to enlarge a picture in
968 or any other picture manipulation program.
969 In order to relieve this effect, bitmap fonts are typically provided in
970 several fixed sizes typically from around 8 pixels high up to 34 pixels
971 or so high in steps according to what is believed to be useful.
972 The advantage of bitmap fonts is that no complicated computations are necessary
973 to display each glyph, so bitmap fonts are thus faster displayed than scalable
975 The disadvantage is that sizes that don't exists as fixed versions have
976 to be scaled by doubling pixels, and thus look bad.
979 \begin_layout Standard
980 The net result of all this, is that bitmap fonts are generally best for
981 the small sizes, where they are available, while scalable fonts are generally
982 best for large sizes.
983 The logical conclusion would thus be to use bitmap fonts for the small
984 sizes, and scalable fonts for the large sizes.
985 Unfortunately, this is not a good idea, since bitmap fonts and scalable
986 fonts are not designed to be used together, so the overall look of such
987 a scheme would be bad.
988 The best you can do is thus to try both schemes and decide for yourself
992 \begin_layout Standard
993 By default, LyX uses non-scalable bitmap fonts (when using the XForms frontend).
998 is used, for sans serif fonts,
1006 is used as the monospaced/typewriter font.
1009 \begin_layout Standard
1010 In the following, we will describe what to do if the text does not look
1012 We'll start with the most important parameters: DPI and font zoom.
1015 \begin_layout Subsection
1016 DPI setting and Font Zoom
1019 \begin_layout Standard
1020 LyX automatically tries to scale the fonts to look as close as the paper
1021 output size as possible, except for the so-called font zoom factor.
1024 \begin_layout Standard
1025 In order for this to work on all systems, it relies on the screen DPI (dots
1026 per inch) setting to be correct.
1027 The DPI setting for your system is autodetected by LyX using the information
1028 the X server can provide.
1029 You can check what LyX autodetects the DPI setting to, by running LyX as
1037 \begin_layout Standard
1038 On many systems, X is not set up correctly, so you should check that it
1041 \begin_inset Quotes eld
1049 \begin_inset Quotes erd
1052 and write down what the DPI is for the resolution you use (this will be
1053 close to the value LyX detects).
1054 It is the number mentioned as
1055 \begin_inset Quotes eld
1059 \begin_inset Quotes erd
1063 Also write down the number of pixels you have in the width (the first number
1065 \begin_inset Quotes eld
1069 \begin_inset Quotes erd
1075 \begin_layout Standard
1076 Then get the good old ruler out of the closet, and measure the width of
1077 the visible screen-image on your monitor.
1078 Convert this measurement to inches if you used a centimeter ruler by dividing
1080 Now you can determine the correct DPI setting for your screen by dividing
1081 the number of pixels in the width by the width of the screen-image on the
1083 If this number is more than, say, 5 DPI from the detected value, you should
1084 either fix the X setup, or at least tell LyX that the DPI is different
1085 than the detected value.
1088 \begin_layout Standard
1089 If you can't fix the X setup (which of course is best since other programs
1090 than LyX will benefit from this as well), you can tell LyX the correct
1098 \begin_layout Standard
1099 If the text is too small or too big for your taste, you should fiddle with
1100 the font zoom setting.
1101 This setting is used to scale the point size of the text.
1102 If your DPI setting is correct, and the font zoom setting is set to 100,
1103 this means that LyX will try to display the text exactly the same size
1104 as it will appear on the paper-output.
1105 If you set the zoom factor to 200, the text will try to be 2 times as big
1107 Of course, this will only happen if LyX can find a font that has the appropriat
1108 e size, which you can't count on.
1109 Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
1113 \begin_layout Standard
1114 The default font zoom setting is 150, since a monitor is typically wider
1115 than a piece of paper, but you should try to fiddle with it through the
1129 dialog to find a size that you like.
1130 When you've found a setting that seems to work nicely for you (tip: use
1138 button to keep the dialog open while you experiment), you can make this
1139 setting the default by using the
1149 \begin_layout Standard
1150 While it is often possible to find a suitable size for the text on the screen,
1151 this doesn't necessarily mean that the fonts are the best ones available
1153 In order to help you get the most out of your system, you can use the font
1154 definition commands to fine-tune the look of the text in greater detail
1158 \begin_layout Subsection
1159 Font definition commands
1162 \begin_layout Standard
1163 As mentioned, LyX uses non-scalable bitmap fonts by default with the XForms
1169 is used, for sans serif fonts,
1177 is used as the monospaced/typewriter font.
1180 \begin_layout Standard
1181 You can change all of these from within the
1186 The number of fonts that are available on different systems vary, but the
1191 should be available everywhere.
1192 Use that program to find candidate fonts.
1193 When you've found a font that you like, try to insert the first two elements
1195 \begin_inset Quotes eld
1199 \begin_inset Quotes erd
1203 \begin_inset Quotes eld
1207 \begin_inset Quotes erd
1214 ) in the appropriate field in the
1226 LyX will then reformat your document using the new font, and if you like
1227 the font, you should
1235 One place to start for a new font is to see if the scalable font
1236 \begin_inset Quotes eld
1240 \begin_inset Quotes erd
1244 Tip: You can see whether a font is a bitmap font or a scalable font by
1246 \begin_inset Quotes eld
1250 \begin_inset Quotes erd
1254 \begin_inset Quotes eld
1258 \begin_inset Quotes erd
1266 If the value 0 is available, the font is scalable.
1267 If the value 0 isn't available, the font is a bitmap font.
1270 \begin_layout Standard
1271 Before you go about scrapping a bitmap font because the larger sizes look
1273 \begin_inset Quotes eld
1277 \begin_inset Quotes erd
1280 , you should toggle the
1281 \begin_inset Quotes eld
1285 \begin_inset Quotes erd
1289 This is only useful if you use bitmap fonts, because only these don't scale
1291 If you define this flag, LyX will only use the fixed font sizes that are
1292 available, and this guarantees that all bitmap fonts look well.
1293 (You can see which individual font sizes are available with the
1302 .) However, the prize is that the difference between the size of the fonts
1303 on screen and the size of fonts on paper will be larger because LyX will
1304 have to be satisfied with the closest available size, and not try to scale
1306 Also, you can risk that some logically different sizes, such as
1314 , will be mapped to the same screen font, making it hard for you to see
1315 the difference on screen.
1316 We've decided not to use scalable fonts by default because of these artifacts,
1317 but since LyX is a WYSIWYM system, many people like to use the flag anyways,
1318 well-knowing that the font size on the screen can't be trusted.
1319 But remember that this flag only makes a difference when you use bitmap
1321 Scalable fonts won't be affected for reasons you should understand by now.
1324 \begin_layout Standard
1325 One final note regarding this flag: you should know that there is nothing
1326 wrong with using bitmap and scalable fonts at the same time for different
1328 For instance, it's common to use the scalable
1329 \begin_inset Quotes eld
1333 \begin_inset Quotes erd
1336 for the serif text together with a bitmap version of
1337 \begin_inset Quotes eld
1341 \begin_inset Quotes erd
1345 And you can safely select the
1346 \begin_inset Quotes eld
1350 \begin_inset Quotes erd
1353 button without worries: It will only apply to the Helvetica font.
1356 \begin_layout Standard
1357 Sometimes the artifacts introduced by use of the flag can be relieved by
1358 using the fine-detail screen font sizes which defines which point sizes
1359 the different logical font sizes correspond to.
1364 to see exactly what concrete fonts the logical sizes map to, and try adjusting
1365 the corresponding entries in the
1369 dialog until you've managed to hit the nail and get the fonts you want.
1370 This can be hard to do, because LyX uses the DPI setting and the font zoom
1371 settings to calculate which exact screen font size to ask the X server
1372 for, thus obfuscating the mapping.
1373 If you can't make it by trial-and-error, you can make the process more
1374 transparent if you set both the DPI setting and font zoom settings to 100---eve
1375 n when this is known to be wrong.
1376 This will of course make your scalable fonts look weird, so use with care.
1379 \begin_layout Subsection
1383 \begin_layout Standard
1384 By default, LyX will use fonts meant to write Western European text, including
1385 all kinds of English.
1386 This is defined through the so-called
1395 If you want to use LyX to write for instance Eastern European text, Cyrillic
1396 or any other language not covered by the ISO-8859-1 font encoding, you
1397 can define a different one with the encoding setting.
1398 This requires you to have special fonts installed.
1403 to see whether this is the case: check the
1404 \begin_inset Quotes eld
1408 \begin_inset Quotes erd
1412 \begin_inset Quotes eld
1416 \begin_inset Quotes erd
1419 fields for ISO-8859-X values different from ISO-8859-1, and search for
1420 one that contains the national characters of your language.
1421 If you find any, enter this encoding in the dialog.
1422 If not, go searching the Web for appropriate fonts.
1423 For the Qt frontend, it's recommended you use an iso646 font set.
1426 \begin_layout Standard
1427 When you've set LyX up to use a different font encoding, you should also
1428 consider changing the font used by dialog windows in LyX.
1435 dialog will not be understandable unless you tell LyX to use a different
1437 By default the menu font is set to
1439 -*-helvetica-medium-r
1441 , but often Helvetica is not available in the font encoding you need, so
1442 the dialog allows this to be changed.
1445 \begin_layout Standard
1446 As you can see, there are quite a few options that can be used to fine tune
1447 the look of your fonts.
1448 This should not scare you from fiddling with the settings, because after
1449 all, you will hopefully be using LyX for many hours in the future.
1450 And contrary to real WYSIWYG word processors where you are tied to using
1451 fonts that have to look good both on paper and on screen, LyX gives you
1452 the possibility of using fonts that are designed to look good on the screen
1453 while using a different set of fonts to look good on paper.
1456 \begin_layout Section
1458 \begin_inset LatexCommand \label{sec:bindings}
1465 \begin_layout Standard
1466 Bindings are used to, well, bind a function to a key.
1467 Several prepackaged binding files are available: a CUA set of bindings
1468 (familiar as the typical set of PC and CDE set of keyboard shortcuts),
1469 an Emacs set of bindings, for those of us who follow the One True Way and
1470 refuse to lower our standards,
1474 \begin_layout Standard
1475 I'm kidding here, of course!
1480 as well as specialty bindings (broadway and hollywood) and other languages
1481 (French, German, etc.).
1484 \begin_layout Standard
1485 If, however, you'd like to customise the keybindings to your own exacting
1486 tastes, then copy the best-fit file in
1495 Don't forget to load this new file into LyX using the
1500 (For the moment you'll have to restart LyX for these changes to take effect.)
1503 \begin_layout Standard
1504 LyX supports internationalization of the user interface (see Chapter\InsetSpace ~
1506 \begin_inset LatexCommand \ref{chap:i18n}
1515 is set, with the environment variable
1519 , LyX will try to use bindfiles by prepending
1524 For example, you can put a translated copy of some standard bind file in
1529 directory, and LyX will use it automatically.
1532 \begin_layout Standard
1537 files is straightforward:
1540 \begin_layout Standard
1545 bind <key combination> <lyx-function>
1548 \begin_layout Standard
1549 Both key combination and lyx-function (including any arguments) must be
1550 enclosed in "double quotes".
1551 All the LyX functions are listed in the
1558 \begin_layout Section
1560 \begin_inset LatexCommand \label{sec:ui}
1567 \begin_layout Standard
1568 The appearance of both the menu and toolbar may both be changed using the
1583 For the moment, only one file exists,
1587 , but feel free to experiment.
1588 Just copy the file to the
1592 directory and play! Note that, for the moment, you'll have to restart LyX
1593 for these changes to take effect.
1596 \begin_layout Standard
1601 files is straightforward: have a look at
1614 entries must be ended with an explicit
1639 s and in the case of the
1640 \begin_inset Quotes eld
1644 \begin_inset Quotes erd
1652 One small word of warning.
1657 s may be inserted in a
1665 , but they are defined as
1676 \begin_layout Section
1677 Converters, Formats, Viewers, Editors and Copiers
1680 \begin_layout Standard
1681 LyX has a powerful mechanism to convert to and from any file format using
1683 Define a pair of formats, e.g.
1693 Now define a converter from one format to the other.
1694 In our example, two possible mechanisms exist.
1697 \begin_layout Enumerate
1698 A direct conversion, from LaTeX to PDF using pdflatex
1701 \begin_layout Enumerate
1702 A more convoluted route using intermediate formats and converters: LaTeX
1703 to DVI (using latex) to PostScript® (using dvips) to PDF (using ps2pdf).
1706 \begin_layout Standard
1707 LyX will always choose the shortest possible route, so you must specify
1708 two different Format names for
1712 files to be able to use either.
1713 Both are included by default in the
1718 Have a look and then invent your own!
1721 \begin_layout Standard
1722 Moreover, each Format can have a Viewer associated with it.
1723 For example, you might want to use
1727 to examine PostScript® files, or
1731 to preview the LaTeX output.
1732 You can alter the viewer to use (and what options to pass to it) via the
1738 ools\SpecialChar \menuseparator
1743 references:Conversion
1746 For example, to change the
1754 format in the dialog, change the viewer to be
1758 (or whatever), and hit
1768 \begin_layout Standard
1769 If the operating system has a default viewer associated to a format it is
1770 used instead of the one you can define via the
1775 ools\SpecialChar \menuseparator
1780 references:Conversion
1783 This does currently only work in the Windows® and Mac OS X ports of LyX,
1784 but it is planned to implement this feature on all other ports that can
1788 \begin_layout Standard
1789 Editors are like viewers: Each Format can have an Editor associated to it,
1790 and they can be altered via the
1795 ools\SpecialChar \menuseparator
1800 references:Conversion
1803 LyX uses them whenever an included file
1807 \begin_layout Standard
1808 This can be an included
1812 file, a verbatim included text file, external material or an included graphics
1821 \begin_layout Standard
1822 Finally, each Format can have a Copier associated to it.
1823 Since all conversions from one Format to another take place in a temporary
1824 directory, it is sometimes necessary to modify a file before copying it
1825 to the temporary directory
1829 \begin_layout Standard
1830 For example, the file may reference other files with relative filenames,
1831 which will become invalid in the temporary directory
1837 This is done by the Copier: It copies a file to (or from) the temporary
1838 directory and may modify it in the process.
1841 \begin_layout Standard
1842 Sometimes LyX needs to know a bit more about the properties of a format.
1843 These bits can be specified with flags.
1844 Currently there are two of them:
1847 \begin_layout Standard
1852 flag tells LyX that a format is suitable for document export.
1853 If this flag is set for a format, and if a suitable conversion route exists,
1854 then the format will appear in the
1859 ile\SpecialChar \menuseparator
1867 The format will also appear in the
1874 menu if it has a viewer associated to it.
1875 Pure image formats (e.g.\InsetSpace ~
1880 ) do not have this flag set, formats that can both represent images and
1881 documents (e.g.\InsetSpace ~
1889 \begin_layout Standard
1894 flag tells LyX whether a format can contain vector graphics.
1895 This information is used to determine the target format of included graphics
1901 Included graphics may need to be converted to either
1917 can not handle other image formats.
1918 If an included graphic is not already in
1930 format it is converted to
1938 flag of the format is set, and otherwise to
1945 \begin_layout Section
1946 BibTeX and makeindex
1949 \begin_layout Standard
1950 Both the bibliography generating command (default
1954 ) and the index generating command (default
1967 As an alternative for
1979 \begin_layout Standard
1980 The command to enter is
1986 makeindex.sh -m $$lang
1989 \begin_layout Standard
1990 where the placeholder
1994 will be replaced by the chosen document (babel) language.
1998 \begin_layout Standard
1999 have installed the packages
2016 at a shell prompt for a help page.
2019 \begin_layout Section
2020 ASCII export options
2023 \begin_layout Standard
2024 \begin_inset VSpace bigskip
2030 \begin_layout Standard
2032 There are a couple of commands that can be used to
2033 \begin_inset Quotes eld
2037 \begin_inset Quotes erd
2040 exported ASCII text files.
2041 Note that LyX automatically detects and uses the best settings for your
2042 system at installation time, but you can modify them if you disagree with
2046 \begin_layout Description
2055 This option defines the command used to produce better ASCII tables with
2060 UNIX-commands (refer to their manpages for more information about them).
2061 Setting this as empty tells LyX to use the internal (inferior) formatter.
2064 \begin_layout Description
2074 With this command you can set the default line length of the ASCII output
2076 Setting it to 0 means endless lines.
2079 \begin_layout Section
2083 \begin_layout Standard
2084 There are a bunch of configuration options that are used for interaction
2085 with the external print command from LyX.
2086 Normally the defaults are fine: if, however, your print command takes different
2087 option names, you can modify them here.
2090 \begin_layout Subsection
2094 \begin_layout Standard
2095 You can change the colors used by LyX on-screen using the new
2100 Alternatively, if you're feeling particularly perverse you could use the
2105 bindable function (see the
2110 Input would have the format:
2113 \begin_layout Standard
2116 set-color LyXName X11Color
2119 \begin_layout Standard
2120 Here is a (partial) list of the functions and default colors:
2123 \begin_layout Standard
2125 \begin_inset Tabular
2126 <lyxtabular version="3" rows="10" columns="3">
2128 <column alignment="left" valignment="top" leftline="true" width="0pt">
2129 <column alignment="left" valignment="top" leftline="true" width="0pt">
2130 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2131 <row topline="true" bottomline="true">
2132 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2135 \begin_layout Standard
2150 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2153 \begin_layout Standard
2168 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2171 \begin_layout Standard
2187 <row topline="true">
2188 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2191 \begin_layout Standard
2206 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2209 \begin_layout Standard
2224 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2227 \begin_layout Standard
2243 <row topline="true">
2244 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2247 \begin_layout Standard
2262 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2265 \begin_layout Standard
2280 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2283 \begin_layout Standard
2299 <row topline="true">
2300 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2303 \begin_layout Standard
2318 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2321 \begin_layout Standard
2336 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2339 \begin_layout Standard
2355 <row topline="true">
2356 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2359 \begin_layout Standard
2374 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2377 \begin_layout Standard
2392 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2395 \begin_layout Standard
2411 <row topline="true">
2412 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2415 \begin_layout Standard
2430 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2433 \begin_layout Standard
2443 fraction Lines, brackets, etc.
2448 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2451 \begin_layout Standard
2467 <row topline="true">
2468 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2471 \begin_layout Standard
2486 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2489 \begin_layout Standard
2495 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2498 \begin_layout Standard
2514 <row topline="true">
2515 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2518 \begin_layout Standard
2533 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2536 \begin_layout Standard
2542 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2545 \begin_layout Standard
2561 <row topline="true">
2562 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2565 \begin_layout Standard
2580 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2583 \begin_layout Standard
2589 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2592 \begin_layout Standard
2608 <row topline="true" bottomline="true">
2609 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2612 \begin_layout Standard
2627 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2630 \begin_layout Standard
2640 selection background
2645 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2648 \begin_layout Standard
2671 \begin_layout Section
2672 The autodetected settings
2675 \begin_layout Standard
2676 \begin_inset LatexCommand \label{sec:autodetected}
2680 There are several items that are detected for you when you run
2687 \SpecialChar \menuseparator
2693 In this section, we list those which pertain to the user preferences.
2696 \begin_layout Description
2717 , depending on what is available.
2720 \begin_layout Description
2733 plus a bunch of options.
2736 \begin_layout Description
2749 on systems (so-called System V) who have this command, and
2753 otherwise (BSD systems).
2756 \begin_layout Description
2762 print_spool_printerprefix
2773 , depending on whether
2784 \begin_layout Description
2801 fonts are found and LaTeX has support for these fonts built-in.
2802 You can set it manually if you only have the so-called
2809 \begin_layout Section
2813 \begin_layout Standard
2814 There are many other configuration options that can be used to customize
2816 We still need to document them here, but again, most should be fairly obvious.
2817 Please ask on the mailing lists if you need some more information; it may
2818 even prompt us to expand this section.
2821 \begin_layout Chapter
2822 Internationalizing LyX
2823 \begin_inset LatexCommand \label{chap:i18n}
2830 \begin_layout Standard
2831 LyX supports using a translated interface.
2832 Last time we checked, LyX provided text in 14 languages together with the
2833 default English text.
2834 The language of choice is called your
2839 (For further reading on locale settings, see also the documentation for
2840 locale that comes with your operating system.
2841 For Linux, the manual page for locale(5) could be a good place to start).
2844 \begin_layout Standard
2845 Notice that these translations will work, but do contain a few flaws.
2846 In particular, all dialogs have been designed with the English text in
2847 mind, which means that some of the translated text will be too large to
2848 fit within the space allocated.
2849 This is only a display problem and will not cause any harm.
2850 Also, you will find that some of the translations do not define short-cut
2851 keys for everything.
2852 Sometimes, there are simply not enough free letters to do it.
2853 Other times, the translator just hasn't got around to doing it yet.
2854 Our localization team -- which you may wish to join -- will try to fix
2855 these shortcomings in future versions of LyX.
2858 \begin_layout Section
2859 Selecting an alternative language for the user interface
2862 \begin_layout Standard
2863 This feature is disabled by default, meaning that system default language
2865 To enable an alternative language, you have to set an appropriate environment
2873 for csh class shells
2888 with the two letter code (or four letter code, like
2892 for British English) for the language you want.
2898 Besides the user interface texts being translated, also the appropriate
2899 manuals will be presented under the Help menu -- if available.
2902 \begin_layout Standard
2903 On some systems, you may have to redefine
2915 , to override the system settings; their preference is in this order
2919 \begin_layout Standard
2920 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
2926 , which corresponds to the way GNU
2931 Consult your system documentation.
2932 Normally, you'll want to put the appropriate line in a shell script run
2933 on start-up, so that the translation is on by default.
2934 Remember that this affects
2938 localized packages, not only LyX!
2941 \begin_layout Standard
2942 If LyX is configured and compiled with
2943 \begin_inset Quotes eld
2951 \begin_inset Quotes erd
2954 , this mechanism will not work.
2957 \begin_layout Section
2961 \begin_layout Subsection
2962 Translating the graphical user interface (text messages).
2965 \begin_layout Standard
2970 library to handle the internationalization of the interface.
2971 To have LyX speak your favorite language in all menus and dialogs, you
2976 -file for that language.
2977 When this is available, you'll have to generate a mo-file from it and install
2983 The process of doing all of this is explained in the documentation for
2988 , but in short, this is what you do (
2992 denotes the language code):
2995 \begin_layout Standard
2999 \begin_layout Standard
3011 \begin_layout Itemize
3014 LYX-SOURCE-DIR/po/lyx.pot
3027 doesn't exist, it can be remade with
3031 in that directory, or you can use an existing po-file for some other language
3035 \begin_layout Itemize
3042 \begin_layout Standard
3043 We recommend that you use Emacs to do this, since the
3047 distribution includes a nice mode that supports you in doing this.
3055 For some menu- and widget-labels, there are also shortcut keys that should
3057 Those keys are marked after a `|', and should be translated according to
3058 the words and phrases of the
3063 There is a tool named
3067 written in Prolog in
3069 LYX-SOURCE-DIR/development/tools/
3071 that may be useful to help determine short-cut keys.
3072 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
3073 characters as shortcut keys.
3074 You should also fill also out the information at the beginning of the new
3079 -file with your email-address, etc., so people know where to reach you with
3080 suggestions and entertaining flames.
3083 \begin_layout Itemize
3092 This can be done with
3111 \begin_layout Itemize
3116 -file to your locale-tree, at the correct directory for application messages
3121 , and under the name
3130 /usr/local/share/locale/
3141 \begin_layout Standard
3145 \begin_layout Standard
3157 \begin_layout Standard
3158 Adding a new po-file to the
3162 of LyX involves altering the configure scripts and more, but the way
3166 works, you don't actually need the source-code of LyX to translate it---having
3182 \begin_layout Standard
3183 If you've written a translation file for a language that LyX does not currently
3184 support, feel free to submit it for inclusion by sending a patch.
3185 In this case, we recommend that you read the
3193 directory for more instructions.
3196 \begin_layout Subsubsection
3200 \begin_layout Standard
3201 Sometimes it turns out that one english message needs to be translated into
3202 different messages in the target language.
3203 One example is the message
3207 which has the german translation
3224 does not handle such ambigous translations.
3225 Therefore you have to add some context information to the message: Instead
3232 To[[as in 'From format x to format y']]
3236 To[[as in 'From page x to page y']].
3239 Now the two occurences of
3247 and can be translated correctly to
3262 \begin_layout Standard
3263 Of course the context information needs to be stripped off the original
3264 message when no translation is used.
3265 Therefore you have to put it in double square brackets at the end of the
3266 message (see the example above).
3267 The translation mechanism of LyX ensures that everything in double square
3268 brackets at the end of messages is removed before displaying the message.
3271 \begin_layout Subsection
3272 Translating the documentation.
3275 \begin_layout Standard
3276 The online documentation (in the
3283 -menu) can (and should!) be translated.
3284 If there are translated versions of the documentation available
3288 \begin_layout Standard
3289 As of February 2003, almost all of the docs have been translated into German
3295 has been translated into at least 12 other languages, with other translations
3297 The library of translated documents is growing rapidly.
3302 , and the locale is set accordingly, these will be used automagically by
3304 LyX looks for translated versions as
3318 denotes the language as set by the environmental variable
3323 If there are none, the default English versions will be displayed.
3324 Note that the translated versions must have the same filenames (
3328 above) as the original.
3329 If you feel up to translating the documentation (an excellent way to proof-read
3330 the original documentation BTW!), there are a few things you should do
3334 \begin_layout Itemize
3339 , the guide to writing LyX documentation.
3340 Pay special attention to the translator's section.
3343 \begin_layout Itemize
3344 Check out the documentation translation web page at
3345 \begin_inset LatexCommand \url[The LyX Developer's Web Site]{http://www.devel.lyx.org}
3350 That way, you can find out which (if any) documents have already been translate
3351 d into your language.
3352 You can also find out who (if anyone) is organizing the effort to translate
3353 the documentation into your language.
3354 If no one is organizing the effort, please let us know that you're interested.
3357 \begin_layout Standard
3358 Once you get to actually translating, here's a few hints for you that may
3362 \begin_layout Itemize
3363 Join the documentation team! There is information on how to do that in
3372 elp\SpecialChar \menuseparator
3379 ), which by the way is the first document you should translate.
3382 \begin_layout Itemize
3383 Learn the typographic conventions for the language you are translating to.
3384 Typography is an ancient art and over the centuries, a great variety of
3385 conventions have developed throughout different parts of the world.
3386 Also study the professional terminology amongst typographers in your country.
3387 Inventing your own terminology will only confuse the users.
3390 (Warning! Typography is addictive!)
3393 \begin_layout Itemize
3394 Make a copy of the document.
3395 This will be your working copy.
3396 You can use this as your personal translated help-file by placing it in
3404 \begin_layout Itemize
3405 Sometimes the original document (from the LyX-team) will be updated.
3406 Use the ViewCVS tool available at
3407 \begin_inset LatexCommand \htmlurl{http://www.lyx.org/viewcvs.cgi/lyxdoc/}
3411 to see what has been changed
3415 \begin_layout Standard
3416 Alternatively, you can keep a copy of the latest version of the English
3417 document which you've translated.
3423 That way you can easily see which parts of the translated document need
3427 \begin_layout Itemize
3428 If you ever find an error in the original document, fix it and notify the
3429 rest of the documentation team of the changes! (You didn't forget to join
3430 the documentation team did you?)
3433 \begin_layout Section
3434 International Keyboard Support
3437 \begin_layout Standard
3440 [Editor's Note: The following section is by
3445 It needs to be fixed to conform to the new Documentation Style sheet and
3446 to make use of the new v1.0 features.
3447 The whole thing also needs to be merged with the section following it.-jw]
3450 \begin_layout Subsection
3451 Defining Own Keymaps: Keymap File Format
3454 \begin_layout Standard
3455 Let's look at a keyboard definition file a little closer.
3456 It is a plain ASCII file defining
3459 \begin_layout Itemize
3460 key-to-key or key-to-string translations
3463 \begin_layout Itemize
3467 \begin_layout Itemize
3468 dead keys exceptions
3471 \begin_layout Standard
3472 To define key-to-key or key-to-string translation, use this command:
3475 \begin_layout Quotation
3491 \begin_layout Standard
3496 is the key to be translated and
3500 is the string to be inserted into the document.
3501 To define dead keys, use:
3504 \begin_layout Quotation
3520 \begin_layout Standard
3530 The following dead keys are supported (shortcut name is in parentheses):
3533 \begin_layout Quotation
3541 \begin_layout Quotation
3547 \begin_layout Quotation
3553 \begin_layout Quotation
3560 \begin_layout Quotation
3566 \begin_layout Quotation
3573 \begin_layout Standard
3585 \begin_layout Quotation
3591 \begin_layout Quotation
3598 \begin_layout Standard
3610 \begin_layout Quotation
3616 \begin_layout Quotation
3624 \begin_layout Quotation
3631 \begin_layout Standard
3643 \begin_layout Quotation
3651 \begin_layout Standard
3663 \begin_layout Quotation
3672 \begin_layout Quotation
3673 hungarian umlaut (hug)
3680 \begin_layout Quotation
3686 \begin_layout Quotation
3694 \begin_layout Standard
3706 \begin_layout Standard
3707 Since in many international keyboards there are exceptions to what some
3708 dead keys should do, you can define them using
3711 \begin_layout Quotation
3720 deadkey key outstring
3723 \begin_layout Standard
3724 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3728 \begin_layout Quotation
3742 \begin_layout Standard
3743 to make it work correctly.
3744 Also, you have to define as exceptions dead keys over i and j, to remove
3745 the dot from them before inserting an accent mark.
3746 I will change this when the time comes, but so far I haven't had time.
3749 \begin_layout Standard
3750 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3756 have different meaning.
3761 marks comments, quotes start and end LaTeX-style commands.
3762 To enter quote, you'll need to use
3781 \begin_layout Standard
3782 If you make a keyboard description file that works for your language, please
3783 mail it to me, so I can include it in the next keymap distribution.
3786 \begin_layout Standard
3787 More keywords will be supported in keymap configuration file in future,
3791 \begin_layout Itemize
3809 \begin_layout Itemize
3824 an external keymap translation program
3827 \begin_layout Standard
3828 Also, it should look into
3832 file for defaults, too (for example, a
3838 option to include default keyboard).
3841 \begin_layout Section
3842 International Keymap Stuff
3843 \begin_inset LatexCommand \label{sec:keymap}
3850 \begin_layout Standard
3851 The next two sections describe the
3863 file syntax in detail.
3864 These sections should help you design your own key map if the ones provided
3865 do not meet your needs.
3868 \begin_layout Subsection
3872 \begin_layout Standard
3881 file maps keystrokes to characters or strings.
3882 As the name suggests it sets a keyboard mapping.
3907 are described in this section.
3911 \labelwidthstring 00.00.0000
3918 Map a character to a string
3921 \begin_layout LyX-Code
3934 \begin_layout Standard
3952 the double-quote (")
3960 must be escaped with a preceding backslash (
3971 \begin_layout Standard
3978 statement to cause the symbol
3984 to be output for the keystroke
3993 \begin_layout LyX-Code
4000 \labelwidthstring 00.00.0000
4007 Specify an accent character
4010 \begin_layout LyX-Code
4020 \begin_layout Standard
4021 This will make the cha
4036 This is the dead key
4040 \begin_layout Standard
4047 refers to a key that does not produce a character by itself, but when followed
4048 with another key, produces the desired accent character.
4049 For example, a German characte
4051 r with an umlaut like
4055 can be produced in this manner.
4064 \begin_layout Standard
4071 and then another key not in
4079 followed by the other, unallowed key, as output.
4088 cancels a dead key, so if
4099 , the cursor will not go one position backwards but will instead cancel
4106 might have had on the next keystroke.
4110 \begin_layout Standard
4111 The following example specifies that the character ' is to be an acute accent,
4112 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4115 \begin_layout LyX-Code
4118 kmod ' acute aeiouAEIOU
4122 \labelwidthstring 00.00.0000
4127 Specify an exception to the accent character
4130 \begin_layout LyX-Code
4141 \begin_layout Standard
4142 This defines an exce
4161 have been assigned a keystroke with a previous
4175 must not belong in the
4195 If such a declaration does not exist in
4232 \begin_layout Standard
4233 The following command produces causes äi to be produced when you enter acute-i
4237 \begin_layout LyX-Code
4252 \labelwidthstring 00.00.0000
4257 Combine two accent characters
4260 \begin_layout LyX-Code
4266 accent1 accent2 allowed
4269 \begin_layout Standard
4270 This one is getting pretty esoteric.
4271 It allows you to combine the effect
4316 \begin_layout Standard
4317 Consider this example from the
4326 \begin_layout LyX-Code
4329 kmod ; acute aeioyvhAEIOYVH
4333 kcomb acute umlaut iyIY
4336 \begin_layout Standard
4337 This allows you to press
4343 and get the effect of
4360 in this case cancels the last dead key, so if you press
4377 \begin_layout Subsection
4381 \begin_layout Standard
4390 mapping is performed, a
4397 file maps the strings that the symbols generate to characters in the current
4399 The LyX distribution currently includes at least the
4414 \begin_layout Standard
4423 file is a sequence of declarations of the form
4426 \begin_layout LyX-Code
4437 \begin_layout Standard
4438 For example, in order to map
4446 to the corresponding character in the iso-8859-1 set (233), the following
4450 \begin_layout LyX-Code
4458 \begin_layout Standard
4478 the same character can apply to more than one string.
4491 \begin_layout LyX-Code
4517 \begin_layout Standard
4518 If LyX cannot find a mapping for the string produced by the keystroke or
4519 a deadkey sequence, it will check if it looks like an accented char and
4520 try to draw an accent over the character on screen.
4523 \begin_layout Subsection
4527 \begin_layout Standard
4528 There is a second way to add support for international characters through
4529 so-called dead-keys.
4530 A dead-key works in combination with a letter to produce an accented character.
4531 Here, we'll explain how to create a really simple dead-key to illustrate
4535 \begin_layout Standard
4536 Suppose you happen to need the circumflex character,
4537 \begin_inset Quotes eld
4542 \begin_inset Quotes erd
4550 -key [a.k.a.\InsetSpace ~
4555 ] to the LyX command
4564 Now, whenever you type the
4568 -key followed by a letter, that letter will have a circumflex accent on
4570 For example, the sequence
4571 \begin_inset Quotes eld
4579 \begin_inset Quotes erd
4582 produces the letter:
4583 \begin_inset Quotes eld
4587 \begin_inset Quotes erd
4591 If you tried to type
4592 \begin_inset Quotes eld
4600 \begin_inset Quotes erd
4603 , however, LyX will complain with a beep, since a
4604 \begin_inset Quotes eld
4612 \begin_inset Quotes erd
4615 never takes a circumflex accent.
4620 after a dead-key produces the bare-accent.
4621 Please note this last point! If you bind a key to a dead-key, you'll need
4622 to rebind the character on that key to yet another key.
4627 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4630 \begin_layout Standard
4631 One common way to bind dead-keys is to use
4643 in combination with an accent, like
4644 \begin_inset Quotes eld
4652 \begin_inset Quotes erd
4656 \begin_inset Quotes eld
4664 \begin_inset Quotes erd
4668 \begin_inset Quotes eld
4676 \begin_inset Quotes erd
4680 Another way involves using
4688 [remember them from section?] to set up the special
4697 acts in some ways just like
4701 and permits you to bind keys to accented characters.
4702 You can also turn keys into dead-keys by binding them to something like
4707 and then binding this symbolic key to the corresponding LyX command.
4711 \begin_layout Standard
4716 : This is exactly what I do in my
4734 and a bunch of these
4735 \begin_inset Quotes eld
4743 \begin_inset Quotes erd
4746 symbolic keys bound such things as
4757 This is how I produce my accented characters.
4762 You can make just about anything into the
4770 keys, a spare function key, etc.
4771 As for the LyX commands that produce accents, check the entry for
4780 You'll find the complete list there.
4783 \begin_layout Subsection
4784 Saving your Language Configuration
4787 \begin_layout Standard
4788 \begin_inset LatexCommand \label{sec:savlang}
4792 You can edit your preferences so that your desired language environment
4793 is automatically configured when LyX starts up, via the
4798 dit\SpecialChar \menuseparator
4808 \begin_layout Chapter
4809 Installing New Document Classes, Layouts, and Templates
4810 \begin_inset LatexCommand \label{chap:textclass}
4818 \begin_layout Standard
4819 Installing New Document Classes
4827 \begin_layout Standard
4828 In this chapter, we describe the procedures for creating and installing
4829 new LyX layout and template files, as well as offer a refresher on correctly
4830 installing new LaTeX document classes.
4831 Some definitions: a document class is a LaTeX file (usually ending in
4839 ) which describes the format of a document such as an article, report, journal
4841 and all the commands needed to realize that format.
4842 A layout file is a LyX file which corresponds to a LaTeX document class
4843 and which tells LyX how to
4844 \begin_inset Quotes eld
4848 \begin_inset Quotes erd
4851 things on the screen to make the display look something like the final
4853 More precisely, a layout file describes a
4854 \begin_inset Quotes eld
4858 \begin_inset Quotes erd
4861 which is the internal construct LyX uses to render the screen display.
4863 \begin_inset Quotes eld
4867 \begin_inset Quotes erd
4871 \begin_inset Quotes eld
4875 \begin_inset Quotes erd
4878 can be used somewhat interchangeably, but it is better to refer to the
4879 file as the layout, and the thing living in LyX's memory as the text class.
4880 A template file is simply a LyX document which contains a set of predefined
4881 entries for a given document class which are generally required for that
4883 Templates are especially useful for things like journal manuscripts which
4884 are to be submitted electronically.
4887 \begin_layout Section
4888 Installing a new LaTeX package
4891 \begin_layout Standard
4892 Some installations may not include a LaTeX package that you would like to
4894 For example, you might need FoilTeX, a common (and very powerful) package
4895 for preparing slides or viewgraphs for overhead projectors.
4896 Here are the formal steps involved in getting the package up and running
4897 if you are using teTeX or some other web2c based distribution.
4901 \begin_layout Enumerate
4902 Get the package from CTAN or wherever.
4906 \begin_layout Standard
4909 Inventory of your LaTeX configuration
4911 manual for details of what CTAN is and where supported document classes
4920 \begin_layout Enumerate
4925 (this usually lives in the directory
4929 , though you can run
4934 It describes how to add a local
4938 directory; follow the instructions.
4939 You need to insert the name of your local
4952 is a logical place to install software that did not come with your distribution
4958 Usually, you will have to modify only two things:
4962 \begin_layout Enumerate
4967 to the directory you chose; e.g.
4972 TEXMFLOCAL = /usr/local/texmf
4975 \begin_layout Enumerate
4989 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
4993 \begin_layout Enumerate
5004 You must follow the directory structure of your existing
5008 directory (for example, latex packages should go under
5010 /usr/local/texmf/tex/latex/
5015 \begin_layout Enumerate
5016 Install the package.
5017 For example, you would unpack the FoilTeX tarball and create
5019 /usr/local/texmf/tex/latex/foiltex
5026 directory contains various files.
5029 \begin_layout Enumerate
5037 /usr/local/texmf/ls-R
5042 \begin_layout Enumerate
5043 From within LyX, do:
5048 ools\SpecialChar \menuseparator
5059 \begin_layout Standard
5060 Now you should see your new package---for example
5069 ayout\SpecialChar \menuseparator
5084 Note that there are simpler ways of installing packages: you can add a
5085 link to the new package directory in the system LaTeX directory (
5089 , don't forget to then run
5093 ), or sometimes simply set the
5097 environment variable to include the new package.
5098 However, the formal procedure described in
5102 is guaranteed to work, so you should follow it unless circumstances absolutely
5103 prevent it: such as, when you don't have superuser access.
5106 \begin_layout Section
5110 \begin_layout Standard
5111 This section describes how to write and install your own LyX layout files
5112 (also known as text classes) and walks through the
5116 text class format as an example.
5121 files describe what paragraph styles are available for a given document
5122 class and how LyX should display them.
5123 We try to provide a thorough description of the process here; however,
5124 there are so many different types of documents supported by LaTeX classes
5125 we can't hope to cover every different possibility or problem you might
5130 \begin_layout Standard
5131 When you plan to write a new layout, it is extremely helpful to look at
5132 the example layouts distributed with LyX.
5133 If you use a nice LaTeX document class that might be of interest for others,
5134 too, and have a nice corresponding LyX layout, feel free to contribute
5135 the stuff to us, so we may put it into the distribution.
5138 \begin_layout Standard
5139 All the tags described in this chapter are case-insensitive; this means
5152 are really the same command.
5153 The possible values are printed in brackets after the feature's name.
5154 The default value if a feature isn't specified inside a text class-description
5162 If the argument has a datatype like
5163 \begin_inset Quotes eld
5167 \begin_inset Quotes erd
5171 \begin_inset Quotes eld
5175 \begin_inset Quotes erd
5178 , the default is shown like this:
5188 \begin_layout Subsection
5189 Supporting new document classes
5192 \begin_layout Standard
5193 There are two situations you are likely to encounter when wanting to support
5194 a new LaTeX document class, involving LaTeX2e class (
5205 \begin_layout Subsection
5213 \begin_layout Standard
5214 If your new document class is provided as a style file that is used in conjuncti
5215 on with an existing, supported document class, start by copying the existing
5216 class's layout file into your local directory.
5217 For the sake of example we'll assume that the style file is called
5221 and it is meant to be used with
5225 which is a standard class.
5228 \begin_layout LyX-Code
5229 cp report.layout ~/.lyx/layouts/myclass.layout
5232 \begin_layout Standard
5237 and change the line:
5240 \begin_layout LyX-Code
5243 DeclareLaTeXClass{report}
5246 \begin_layout Standard
5250 \begin_layout LyX-Code
5253 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5256 \begin_layout Standard
5260 \begin_layout LyX-Code
5270 \begin_layout Standard
5271 near the top of the file.
5274 \begin_layout Standard
5275 Start LyX and select
5280 ools\SpecialChar \menuseparator
5288 Restart LyX and try creating a new document.
5293 " as a document class option in the
5298 ocument\SpecialChar \menuseparator
5306 It is likely that some of the sectioning commands and such will differ
5307 from how the base class
5311 \begin_layout Standard
5321 works, so you can fiddle around with the settings for the different sections
5323 See below for more discussion on this.
5326 \begin_layout Subsection
5334 \begin_layout Standard
5335 In this case, you will probably have to
5336 \begin_inset Quotes eld
5340 \begin_inset Quotes erd
5344 We strongly suggest copying an existing layout file which uses a similar
5345 LaTeX class and modifying it if at all possible.
5346 At least use an existing file as a starting point so you can find out what
5347 items you need to worry about.
5348 Again, the specifics are covered below.
5351 \begin_layout Section
5352 Declaring a new text class
5355 \begin_layout Standard
5356 When it's finally time to get your hands dirty and create or edit your own
5357 layout file, the following sections describe what you're up against.
5358 Our advice is to go slowly, save and test often, listen to soothing music,
5359 and enjoy one or two of your favorite adult beverages; more if you are
5360 getting particularly stuck.
5361 It's really not that hard, except that the multitude of options can become
5362 overwhelming if you try to do to much in one sitting.
5363 Go have another adult beverage, just for good measure.
5366 \begin_layout Standard
5370 \begin_layout Standard
5371 Lines in a layout file which begin with a
5376 There is one exception to this rule: all layouts should begin with lines
5380 \begin_layout LyX-Code
5383 #% Do not delete the line below; configure depends on this
5386 \begin_layout LyX-Code
5391 DeclareLaTeXClass{article}
5394 \begin_layout Standard
5395 The second line is used when you configure LyX.
5396 The layout file is read by the LaTeX script
5400 , in a special mode where
5405 The first line is just a LaTeX comment, and the second one contains the
5406 declaration of the text class.
5407 If these lines appear in a file named
5411 , then they define a text class of name
5415 (the name of the layout file) which uses the LaTeX document class
5419 (the default is to use the same name as the layout).
5421 \begin_inset Quotes eld
5425 \begin_inset Quotes erd
5428 that appears above is used as a description of the text class in the
5433 ocument\SpecialChar \menuseparator
5443 \begin_layout Standard
5444 Let's assume that you wrote your own text class that uses the
5448 documentclass, but where you changed the appearance of the section headings.
5449 If you put it in a file
5453 , the header of this file should be:
5456 \begin_layout LyX-Code
5459 #% Do not delete the line below; configure depends on this
5462 \begin_layout LyX-Code
5467 DeclareLaTeXClass[article]{article (with my own headings)}
5470 \begin_layout Standard
5471 This declares a text class
5475 , associated with the LaTeX document class
5480 \begin_inset Quotes eld
5483 article (with my own headings)
5484 \begin_inset Quotes erd
5488 If your text class depends on several packages, you can declare it as:
5491 \begin_layout LyX-Code
5494 #% Do not delete the line below; configure depends on this
5497 \begin_layout LyX-Code
5502 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5505 \begin_layout Standard
5506 This indicates that your text class uses the foo.sty package.
5507 Finally, it is also possible to declare classes for SGML and DocBook code.
5508 Typical declarations will look like
5511 \begin_layout LyX-Code
5514 #% Do not delete the line below; configure depends on this
5517 \begin_layout LyX-Code
5522 DeclareSGMLClass{SGML (LinuxDoc)}
5525 \begin_layout Standard
5529 \begin_layout LyX-Code
5530 #% Do not delete the line below; configure depends on this
5533 \begin_layout LyX-Code
5536 DeclareDocBookClass[article]{SGML (DocBook article)}
5539 \begin_layout Standard
5540 Note that these declarations can also be given an optional parameter declaring
5541 the name of the document class (but not a list).
5544 \begin_layout Standard
5545 When the text class has been modified to your taste, all you have to do
5546 is to copy it either in
5559 ools\SpecialChar \menuseparator
5567 Exit LyX and restart it; then your new text class should be available along
5571 \begin_layout Subsection
5575 \begin_layout Standard
5576 The first non-comment line must contain the file format number:
5579 \begin_layout Description
5590 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
5591 don't have an explicit file format).
5592 The file format that is documented here is
5599 \begin_layout Subsection
5600 General text class parameters
5603 \begin_layout Standard
5604 These are the general parameters which describe the form of the entire document:
5607 \begin_layout Standard
5611 \begin_layout Standard
5623 \begin_layout Description
5637 ] Whether the class-default should have one or two columns.
5638 Can be changed in the
5643 ocument\SpecialChar \menuseparator
5654 This setting (same goes for
5658 , too) is important: if your text class has two columns by default but you
5659 forget to set it correctly, the
5667 be output when you select
5676 ocument\SpecialChar \menuseparator
5684 \begin_layout Description
5698 ] Whether the class-default should be printing on one or both sides of the
5700 Can be changed in the
5708 ocument\SpecialChar \menuseparator
5718 \begin_layout Description
5733 ] The class default pagestyle.
5734 Can be changed in the
5739 ocument\SpecialChar \menuseparator
5752 \begin_layout Description
5756 ClassOptions\SpecialChar \ldots{}
5760 This section describes various global options supported by the document
5762 See Section\InsetSpace ~
5764 \begin_inset LatexCommand \ref{sec:classoptions}
5771 \begin_layout Description
5785 ] Whether the class already loads the
5790 This is the case of the
5801 \begin_layout Description
5815 ] Whether the class already provides the functionality of the
5820 This is the case of the
5831 \begin_layout Description
5845 ] Whether the class already provides the functionality of the
5850 This is the case of the
5857 \begin_layout Description
5864 This is used to describe the default font of the document.
5865 See Section\InsetSpace ~
5867 \begin_inset LatexCommand \ref{sec:fonts}
5874 \begin_layout Description
5885 ] This is the style that will be assigned to new paragraphs, usually
5890 This will default to the first defined style if not given, but you are
5891 highly encouraged to use this directive.
5894 \begin_layout Description
5911 ] Indicates what kind of markup is used to define the title of a document.
5916 means that the macro with name
5920 will be inserted after the last layout which has
5921 \begin_inset Quotes eld
5929 \begin_inset Quotes erd
5937 corresponds to the case where the block of paragraphs which have
5938 \begin_inset Quotes eld
5946 \begin_inset Quotes erd
5949 should be enclosed into the
5958 \begin_layout Description
5969 ] The name of the command/environment mentionned above.
5972 \begin_layout Description
5976 Preamble\SpecialChar \ldots{}
5980 A set of macro definitions that will be output at the beginning of the
5982 Use this for global definitions.
5985 \begin_layout Description
5992 As its name implies, this command allows you to include another layout
5993 definition file within yours to avoid duplicating commands.
5994 Common examples are the standard layout files, for example,
5998 , which contains most of the basic layouts.
6001 \begin_layout Description
6005 Style\SpecialChar \ldots{}
6009 This sequence defines a new style.
6010 If the style already exists, it will redefine some of its parameters instead.
6011 See Section\InsetSpace ~
6013 \begin_inset LatexCommand \ref{sec:style}
6020 \begin_layout Description
6027 This command deletes an existing style.
6028 This is particularly useful when you want to suppress a style that has
6029 be defined in an input file.
6032 \begin_layout Description
6036 Float\SpecialChar \ldots{}
6040 This sequence defines a new float.
6041 See Section\InsetSpace ~
6043 \begin_inset LatexCommand \ref{sec:floats}
6050 \begin_layout Description
6057 This command deletes an existing float.
6058 This is particularly useful when you want to suppress a float that has
6059 be defined in an input file.
6062 \begin_layout Description
6066 CharStyle\SpecialChar \ldots{}
6071 This section defines a new character style.
6072 See Section\InsetSpace ~
6074 \begin_inset LatexCommand \ref{sec:charstyle}
6081 \begin_layout Description
6085 Counter\SpecialChar \ldots{}
6089 This sequence defines a new counter.
6090 See Section\InsetSpace ~
6092 \begin_inset LatexCommand \ref{sec:counter}
6099 \begin_layout Standard
6103 \begin_layout Standard
6115 \begin_layout Subsection
6123 \begin_layout Standard
6124 \begin_inset LatexCommand \label{sec:classoptions}
6132 section can contain the following entries:
6135 \begin_layout Description
6146 ] The list of available font sizes for the document's main font, separated
6148 \begin_inset Quotes eld
6156 \begin_inset Quotes erd
6162 \begin_layout Description
6171 string="empty|plain|headings|fancy"
6173 ] The list of available page styles, separated by
6174 \begin_inset Quotes eld
6182 \begin_inset Quotes erd
6188 \begin_layout Description
6199 ] Some document class options, separated by a comma, that will be added
6200 to the optional part of the
6209 \begin_layout Subsection
6210 Specific Paragraph Layouts
6213 \begin_layout Standard
6214 \begin_inset LatexCommand \label{sec:style}
6218 A paragraph layout description looks like this
6222 \begin_layout Standard
6223 Note that this will either define a new layout or modify an existing one.
6231 \begin_layout LyX-Code
6238 \begin_layout LyX-Code
6242 \begin_layout LyX-Code
6246 \begin_layout Standard
6247 where the following commands are allowed:
6250 \begin_layout Standard
6254 \begin_layout Standard
6266 \begin_layout Description
6277 This is used to copy all the features of an existing layout into the current
6282 \begin_layout Description
6294 , Command, Environment, Item_Environment,
6300 ] How the layout should be translated into LaTeX.
6305 means nothing special.
6318 {\SpecialChar \ldots{}
6333 }\SpecialChar \ldots{}
6357 is generated for each paragraph of this environment.
6370 is passed as an argument to the environment.
6375 can be defined in the
6380 ayout\SpecialChar \menuseparator
6394 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6395 Visit the SGML class files for specific examples.
6398 \begin_layout Description
6406 If 1, marks the layout as being part of a title block (see also the
6417 \begin_layout Description
6424 The name of the corresponding LaTeX stuff.
6425 Either the environment or command name.
6428 \begin_layout Description
6435 The optional parameter for the corresponding
6442 This parameter cannot be changed from within LyX.
6445 \begin_layout Description
6456 ] The number of optional arguments that can be used with this layout.
6457 This is useful for things like section headings, and only makes sense with
6461 \begin_layout Description
6473 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6477 The kind of margin that the layout has on the left side.
6482 just means a fixed margin.
6487 means that the left margin depends on the string entered in the
6492 dit\SpecialChar \menuseparator
6497 aragraph\InsetSpace ~
6501 This is used to typeset nice lists without tabulators.
6506 means that the margin depends on the size of the label.
6507 This is used for automatic enumerated headlines.
6508 It is obvious that the headline
6509 \begin_inset Quotes eld
6512 5.4.3.2.1 Very long headline
6513 \begin_inset Quotes erd
6516 must have a wider left margin (as wide as
6517 \begin_inset Quotes eld
6521 \begin_inset Quotes erd
6524 plus the space) than
6525 \begin_inset Quotes eld
6528 3.2 Very long headline
6529 \begin_inset Quotes erd
6532 , even if other word processors are not able to do this.
6537 is similar, but only the very first row of the paragraph is dynamic, while
6538 the others are static; this is used, for example, for descriptions.
6543 means the margin is chosen in a way that the longest row of this paragraph
6544 fits to the right margin.
6545 This is used to typeset an address on the right edge of the page.
6548 \begin_layout Description
6562 ] Whether the following Paragraph is allowed to indent its very first row.
6567 means that it is not allowed to do so,
6571 means it could do so if it wants to.
6574 \begin_layout Description
6585 ] The indent of the very first line of a paragraph.
6586 The argument is passed as a string.
6591 means that the paragraph is indented with the width of
6600 You can get a negative width by prefixing the string with
6605 This way was chosen so that the look is the same with each used screen
6611 will be fixed for a certain layout.
6612 The exception is Standard layout, since the indentation of a Standard layout
6613 paragraph can be prohibited with
6618 Also, Standard layout paragraphs inside environments use the
6622 of the environment, not their native one.
6623 For example, Standard paragraphs inside an enumeration are not indented.
6626 \begin_layout Description
6637 ] LyX allows to choose either
6638 \begin_inset Quotes eld
6642 \begin_inset Quotes erd
6646 \begin_inset Quotes eld
6650 \begin_inset Quotes erd
6653 to typeset a document.
6655 \begin_inset Quotes eld
6659 \begin_inset Quotes erd
6662 is chosen, this value is completely ignored.
6664 \begin_inset Quotes eld
6668 \begin_inset Quotes erd
6671 is chosen, the parindent of a LaTeXtype
6672 \begin_inset Quotes eld
6676 \begin_inset Quotes erd
6679 layout is ignored and all paragraphs are additionally separated by this
6681 The vertical space is calculated with
6683 value*DefaultHeight()
6689 is the height of a row with the normal font.
6690 This way, the look stays the same with different screen fonts.
6693 \begin_layout Description
6704 ] The vertical space with which the very first of a chain of paragraphs
6705 with this layout is separated from the previous paragraph.
6706 If the previous paragraph has another layout, the separations are not simply
6707 added, but the maximum is taken.
6710 \begin_layout Description
6725 for the very last paragraph.
6728 \begin_layout Description
6739 ] The vertical space between two paragraphs of this layout.
6742 \begin_layout Description
6753 ] This is an extra space between the paragraphs of an environment layout.
6754 If you put other layouts into an environment, each is separated with the
6760 But the whole items of the environment are additionally separated with
6769 \begin_layout Description
6780 ] If you put layouts into environments, the leftmargins are not simply added,
6781 but added with a factor
6782 \begin_inset Formula $\frac{4}{depth+4}$
6786 Note that this parameter is also used when the border is defined as
6795 Then it is added to the manual or dynamic border.
6796 This string has the same meaning as for
6803 \begin_layout Description
6821 \begin_layout Description
6833 , Manual, Static, Top_Environment,
6835 Centered_Top_Environment, Sensitive,
6844 means the label is the very first word (up to the first real blank).
6849 means it is defined in the layout (see
6860 Centered_Top_Environment
6862 are special cases of
6867 The label will be printed above the paragraph, but only at the top of an
6868 environment or the top of a chain of paragraphs with this layout.
6869 Usage is for example the
6878 This is also the case for
6882 labels with latex type
6886 , in order to make layouts for theorems work correctly.
6891 is a special case for the caption-labels
6892 \begin_inset Quotes eld
6896 \begin_inset Quotes erd
6900 \begin_inset Quotes eld
6904 \begin_inset Quotes erd
6912 means the (hardcoded) label string depends on the kind of float.
6917 label type defines automatically numbered labels.
6920 \begin_layout Description
6929 Chapter, Section, Subsection, Subsubsection,
6931 Paragraph, Subparagraph, EnumI,
6932 EnumII, EnumIII, EnumIV
6936 The name of the counter for automatic numbering.
6937 This must be given if
6950 \begin_layout Description
6961 ] The horizontal space between the label and the text body.
6962 Only used for labels that are not above the text body.
6965 \begin_layout Description
6972 [float=0] The vertical space between the label and the text body.
6973 Only used for labels that are above the text body (
6979 Centered_Top_Environment
6984 \begin_layout Description
6995 ] The string used for a label with a
7004 this string is also used as a suggestion for the
7008 that can be set in the
7013 dit\SpecialChar \menuseparator
7018 aragraph\InsetSpace ~
7028 is set, this string can be contain special formatting commands as explained
7029 in Section\InsetSpace ~
7031 \begin_inset LatexCommand \ref{sec:counter}
7038 \begin_layout Description
7049 ] If non-empty, this is used inside the appendix instead of
7057 \begin_layout Description
7064 The level of the style in the table of contents.
7065 This is used for automatic numbering of section headings.
7068 \begin_layout Description
7080 , Box, Filled_Box, Static
7082 ] The type of label that stands at the end of the paragraph (or sequence
7105 \begin_inset Quotes eld
7109 \begin_inset Quotes erd
7121 ) is a white (resp.\InsetSpace ~
7122 black) square suitable for end of proof markers,
7126 is an explicit text string.
7129 \begin_layout Description
7140 ] The string used for a label with a
7152 \begin_layout Description
7164 , left, right, center
7166 ] Paragraph alignment.
7169 \begin_layout Description
7181 , left, right, center
7188 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7190 For example a right-aligned or centered enumeration isn't possible.
7193 \begin_layout Description
7207 ] With this parameter the
7212 \begin_inset Quotes eld
7215 Vertical space above
7216 \begin_inset Quotes erd
7224 dit\SpecialChar \menuseparator
7229 aragraph\InsetSpace ~
7232 dialog can be set when initializing a paragraph with this layout
7236 \begin_layout Standard
7239 Note from Jean-Marc:
7241 I'm not sure that this setting has much use, and it should probably be removed
7251 \begin_layout Description
7272 \begin_layout Description
7286 ] Whether fragile commands in this layout should be
7295 \begin_layout Description
7309 ] Whether newlines are translated into LaTeX newlines (
7318 The translation can be switched off to allow more comfortable LaTeX editing
7322 \begin_layout Description
7336 ] Whether the contents of this paragraph should be output in raw form, meaning
7337 without special translations that LaTeX would require.
7338 This somehow replaces the older
7345 \begin_layout Description
7359 ] Usually LyX doesn't allow you to insert more than one space between words,
7360 since a space is considered as the separation between two words, not a
7361 character or symbol of its own.
7362 This is a very fine thing but sometimes annoying, for example when typing
7363 program code or plain LaTeX code.
7369 Note that LyX will create protected blanks for the additional blanks when
7370 in another mode than LaTeX-mode.
7373 \begin_layout Description
7387 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7388 lead to empty LaTeX output.
7389 There are some cases where this could be desirable however: in a letter
7390 template, the required fields can be provided as empty fields, so that
7391 people do not forget them; in some special classes, a layout can be used
7392 as some kind of break, which does not contain actual text.
7395 \begin_layout Description
7407 , onehalf, double, other
7412 ] This defines what the default spacing should be in the layout.
7425 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7426 If you specify the argument
7430 , then you should also provide a numerical argument which will be the actual
7432 Note that, contrary to other parameters,
7436 implies the generation of specific LaTeX code, using the package
7443 \begin_layout Description
7450 The font used for both the text body
7455 See section\InsetSpace ~
7457 \begin_inset LatexCommand \ref{sec:fonts}
7462 Note that defining this font automatically defines the
7469 \begin_layout Description
7476 The font used for the text body .
7477 See section\InsetSpace ~
7479 \begin_inset LatexCommand \ref{sec:fonts}
7486 \begin_layout Description
7493 The font used for the label.
7494 See section\InsetSpace ~
7496 \begin_inset LatexCommand \ref{sec:fonts}
7503 \begin_layout Description
7507 Preamble\SpecialChar \ldots{}
7511 A set of macro definitions that will be output at the beginning of the
7512 LaTeX files when the layout is used.
7513 Use this to define the macros needed by this particular layout.
7516 \begin_layout Description
7523 the name of a style which preamble should be output
7527 the one mentionned above.
7528 This allows to ensure some ordering of the preamble snippets when macros
7529 definitions depend on one another
7533 \begin_layout Standard
7534 Note that, besides that functionality, there is no way to ensure any ordering
7536 The ordering that you see in a given version of LyX may change without
7537 warning in later versions.
7545 \begin_layout Standard
7549 \begin_layout Standard
7561 \begin_layout Subsection
7565 \begin_layout Standard
7566 \begin_inset LatexCommand \label{sec:floats}
7570 Since version 1.3.0 of LyX, it is necessary to define the floats (
7578 , \SpecialChar \ldots{}
7579 ) in the text class itself.
7580 If you are looking here to learn how to upgrade an existing text class,
7581 it will probably turn out that all you have to do is to add
7584 \begin_layout LyX-Code
7588 \begin_layout Standard
7589 at a reasonable location of the text class.
7593 \begin_layout Standard
7594 Don't forget to also have a look at counters in next section.
7599 If you want to implement a text class that proposes some other float types
7600 (like the AGU class bundled with LyX), the information below will hopefully
7604 \begin_layout Description
7616 \begin_inset Quotes erd
7620 \begin_inset Quotes erd
7624 \begin_inset Quotes eld
7628 \begin_inset Quotes erd
7631 of the new class of floats, like program or algorithm.
7632 After the appropriate
7653 \begin_layout Description
7665 \begin_inset Quotes erd
7669 \begin_inset Quotes erd
7672 ] The string that will be used in the menus and also for the caption.
7675 \begin_layout Description
7696 if the float is already defined by the documentclass.
7701 , the float will be defined using the LaTeX package
7708 \begin_layout Description
7720 \begin_inset Quotes erd
7724 \begin_inset Quotes erd
7727 ] This (optional) argument determines whether floats of this class will
7728 be numbered within some sectional unit of the document.
7729 For example, if within is equal to
7733 , the floats will be numbered within chapters.
7737 \begin_layout Description
7749 \begin_inset Quotes erd
7753 \begin_inset Quotes erd
7756 ] The style used when defining the float using
7765 \begin_layout Description
7777 \begin_inset Quotes erd
7781 \begin_inset Quotes erd
7784 ] The default placement for the given class of floats.
7785 They are like in standard LaTeX:
7801 for top, bottom, page, and here, respectively.
7805 \begin_layout Standard
7806 Note that the order of these letters in the string is irrelevant, like in
7812 On top of that there is a new type,
7816 , which does not really correspond to a float, since it means: put it
7817 \begin_inset Quotes eld
7821 \begin_inset Quotes erd
7825 Note, however that the
7829 specifier is special and, because of implementation details cannot be used
7830 in non-builtin float types.
7831 If you do not understand what this means, just use
7838 \begin_layout Description
7850 \begin_inset Quotes erd
7854 \begin_inset Quotes erd
7857 ] The file name extension of an auxiliary file for the list of figures (or
7859 LaTeX writes the captions to this file.
7862 \begin_layout Description
7874 \begin_inset Quotes erd
7878 \begin_inset Quotes erd
7881 ] The heading used for the list of floats.
7884 \begin_layout Subsection
7888 \begin_layout Standard
7889 \begin_inset LatexCommand \label{sec:charstyle}
7893 You can define character styles since version 1.4.0 of LyX.
7898 section can contain the following entries:
7901 \begin_layout Description
7908 The font used for both the text body
7913 See section\InsetSpace ~
7915 \begin_inset LatexCommand \ref{sec:fonts}
7920 Note that defining this font automatically defines the
7927 \begin_layout Description
7934 The font used for the label.
7935 See section\InsetSpace ~
7937 \begin_inset LatexCommand \ref{sec:fonts}
7944 \begin_layout Description
7951 The name of the corresponding LaTeX stuff.
7952 Either the environment or command name.
7955 \begin_layout Description
7962 The optional parameter for the corresponding
7969 This parameter cannot be changed from within LyX.
7972 \begin_layout Description
7979 See section\InsetSpace ~
7981 \begin_inset LatexCommand \ref{sec:style}
7988 \begin_layout Description
7992 Preamble\SpecialChar \ldots{}
7996 See section\InsetSpace ~
7998 \begin_inset LatexCommand \ref{sec:style}
8005 \begin_layout Subsection
8009 \begin_layout Standard
8010 \begin_inset LatexCommand \label{sec:counter}
8014 Since version 1.3.0 of LyX, it is necessary to define the counters (
8022 , \SpecialChar \ldots{}
8023 ) in the text class itself.
8024 If you are looking here to learn how to upgrade an existing text class,
8025 it will probably turn out that all you have to do is to add
8028 \begin_layout LyX-Code
8029 Input stdcounters.inc
8032 \begin_layout Standard
8033 The definition of counters is presently a bit primitive in LyX, since many
8034 things are still hardcoded.
8035 The following two parameters can be used:
8038 \begin_layout Description
8050 \begin_inset Quotes erd
8054 \begin_inset Quotes erd
8057 ] The name of the counter
8060 \begin_layout Description
8072 \begin_inset Quotes erd
8076 \begin_inset Quotes erd
8079 ] If this is set to the name of another counter, the present counter will
8080 be reset everytime the other one is increased (is that unclear enough?).
8083 \begin_layout Standard
8084 When a counter has been associated to a style, it is possible to use some
8085 special constructs in
8100 \begin_layout Itemize
8109 will be replaced the expanded
8120 This is used for example to define the label of a subsection in terms of
8121 the label of a section.
8124 \begin_layout Itemize
8125 counter values can be expressed using LaTeX-like macros
8149 \begin_layout Description
8160 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8165 \begin_layout Standard
8175 Actually, the situation is a bit more complicated than that: any
8191 other than those descibed below will produce arabic numerals.
8192 It would not be surprising to see this change in the future.
8200 \begin_layout Description
8207 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8211 \begin_layout Description
8218 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8222 \begin_layout Description
8229 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8233 \begin_layout Description
8240 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8244 \begin_layout Description
8251 for hebrew numerals.
8255 \begin_layout Subsection
8259 \begin_layout Standard
8260 \begin_inset LatexCommand \label{sec:fonts}
8264 A font description looks like that:
8267 \begin_layout LyX-Code
8277 \begin_layout LyX-Code
8281 \begin_layout LyX-Code
8285 \begin_layout Standard
8286 and the following commands are available:
8289 \begin_layout Description
8306 \begin_layout Description
8323 \begin_layout Description
8335 , Italic, SmallCaps, Slanted
8340 \begin_layout Description
8353 , large, larger, largest, huge, giant
8358 \begin_layout Description
8371 , black, white, red, green, blue, cyan, magenta, yellow
8376 \begin_layout Subsection
8377 Upgrading old layout files
8380 \begin_layout Standard
8381 The file format of layout files changes from time to time, so old layout
8382 files need to be converted.
8383 This process has been automated in LyX 1.4.0: If LyX reads an old format
8384 layout file it will call the conversion tool
8386 $LyXDir/scripts/layout2layout.py
8388 and convert it to a temporary file in current format.
8389 The original file is left untouched, so that you can still use it with
8391 If you want to convert the layout file permanently, just call the converter
8395 \begin_layout LyX-Code
8396 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
8399 \begin_layout Standard
8411 \begin_layout Standard
8412 The automatic conversion does only handle syntax changes.
8413 It cannot handle the case where the contents of included files was changed.
8414 For example, layout files based on
8427 If you get error messages about undefined counters, try to convert your
8447 \begin_layout Section
8449 \begin_inset LatexCommand \label{sec:templates}
8456 \begin_layout Standard
8457 Templates are created just like usual documents.
8458 The only difference is that usual documents contain all possible settings,
8459 including the fontscheme and the papersize.
8460 Usually a user doesn't want a template to overwrite his defaults in these
8462 For that reason, the designer of a template should remove the corresponding
8475 from the template LyX file.
8476 This can be done with any simple text-editor, for example
8488 \begin_layout Standard
8489 Put the edited template files you create in
8493 , copy the ones you use from the global template directory in
8497 to the same place, and redefine the template path in the
8502 dit\SpecialChar \menuseparator
8521 \begin_layout Standard
8522 Note that there is a template which has a particular meaning:
8527 This template is loaded everytime you create a new document with
8534 \SpecialChar \menuseparator
8542 in order to provide useful defaults.
8543 To create this template from inside LyX, all you have to do is to open
8544 a document with the correct settings, and use the
8550 e as Document Defaults
8555 \begin_layout Chapter
8556 Including External Material
8559 \begin_layout Section
8563 \begin_layout Standard
8564 \begin_inset Note Note
8567 \begin_layout Standard
8568 This section is completely outdated.
8573 One often requested feature from LyX users is to be able to interface LyX
8574 with XFig, Dia, or other similar applications that specialize in producing
8575 a certain kind of diagram, figure, schematic or whatever material might
8576 be relevant to include in your document.
8577 Previously, it was only possible to include boring, static, fixed images
8578 in LyX documents with the graphics feature, but there are several limitations
8579 attached to this approach:
8582 \begin_layout Itemize
8583 If you want to change the figure, you have to invoke an external program
8587 \begin_layout Itemize
8588 LyX does not notice that the referenced files change, so the on-screen display
8589 can fast become obsolete, and this is aggravated by the lack of a means
8590 of updating the display
8593 \begin_layout Itemize
8594 The graphics stuff does not provide any mechanisms for coping with different
8595 exported formats such as DocBook, HTML or raw Ascii
8598 \begin_layout Standard
8599 The external material facility attempts to solve all of these problems
8603 \begin_layout Standard
8604 Even if the graphics facility can't solve all problems, it is still valuable
8605 because it does provide in-line preview of the graphics, and supports advanced
8606 geometric transformations with a comfortable user interface.
8612 It does this by offering a general method to interface LyX to external
8614 Instead of introducing a long list of different constructs tailored for
8615 each specific application, we chose to sacrifice the in-line displaying
8616 of the included material in order to provide a general construct to cover
8617 a wide range of applications.
8618 The result is the external material construct.
8619 External material presents itself in the document simply as a button, but
8620 don't let this fool you.
8621 When you click on it, a dialog will appear that allows you to chose exactly
8622 what material to include, and in the following sections you will learn
8623 that this is indeed a powerful mechanism that can solve all of the above
8627 \begin_layout Section
8631 \begin_layout Standard
8632 The external material feature is based on the concept of a
8637 A template is a specification of how LyX should interface with a certain
8639 As bundled, LyX comes with predefined templates for XFig figures, Dia diagrams,
8640 various raster format images, gnuplot, and more.
8641 You can check the actual list by using the
8643 Insert\SpecialChar \menuseparator
8652 Furthermore, it is possible to roll your own template to support a specific
8654 Later we'll describe in more detail what is involved, and hopefully you
8655 will submit all the templates you create so we can include them in a later
8659 \begin_layout Standard
8660 Another basic idea of the external material feature is to distinguish between
8661 the original file that serves as a base for final material and the produced
8662 file that is included in your exported or printed document.
8663 For example, consider the case of a figure produced with XFig.
8664 The XFig application itself works on an original file with the
8669 Within XFig, you create and change your figure, and when you are done,
8675 When you want to include the figure in your document, you invoke
8679 in order to create a PostScript file that can readily be included in your
8685 file is the original file, and the PostScript file is the produced file.
8688 \begin_layout Standard
8689 This distinction is important in order to allow updating of the material
8690 while you are in the process of writing the document.
8691 Furthermore, it provides us with the flexibility that is needed to support
8692 multiple export formats.
8693 For instance, in the case of an Ascii resulting file, it is not exactly
8694 an award-winning idea to include the figure as raw PostScript.
8695 Instead, you'd either prefer to just include a reference to the figure,
8696 or try to invoke some graphics to Ascii converter to make the final result
8697 look similar to the real graphics.
8698 The external material management allows you to do this, because it is parameter
8699 ized on the different export formats that LyX supports.
8702 \begin_layout Standard
8703 Besides supporting the production of different products according to the
8704 exported format, it supports tight integration with editing and viewing
8706 In the case of an XFig figure, you are able to invoke
8710 on the original file with a single click from within the external material
8711 dialog in LyX, and also preview the produced PostScript file with
8716 No more fiddling around with the command line and/or file browsers to locate
8717 and manipulate the original or produced files.
8718 In this way, you are finally able to take full advantage of the many different
8719 applications that are relevant to use when you write your documents, and
8720 ultimately be more productive.
8723 \begin_layout Standard
8724 \begin_inset Note Note
8727 \begin_layout Standard
8728 This paragraph is outdated
8733 So, all in all, LyX has information about a number of different programs
8734 to use behind the scenes in order to realize all of this machinery.
8735 This information, in fact, is exactly what is contained in the templates.
8736 To each template, there is associated a list of command lines that are
8737 used to invoke applications, convert the original file to the produced
8739 This mechanism allows the advanced user to extend the capabilities of LyX
8740 without fiddling with the source code.
8741 It requires some footwork to define all the different commands and flags,
8742 but luckily, the LyX team did all the hard work and specified these for
8746 \begin_layout Standard
8747 But before the trees grow into the skies, we have to admit that we did take
8749 Since you can produce many different kinds of files to go with each exported
8750 format, one could also expect that it would be possible to preview each
8752 The LyX team decided against this in order to keep the user interface simple.
8753 Instead of providing a button for each exported file format, we decided
8754 to introduce the concept of the primary file format and just have one button.
8764 in the external material dialog, you will get a view of the produced file
8765 in the primary file format.
8766 And the primary file format is specified by your document class.
8767 For most document classes, the primary file format is LaTeX, but for the
8768 DocBook document classes, the primary file format is DocBook.
8769 So, when you view the produced file, keep in mind that it will only be
8770 a preview of what the main result will be.
8771 If you want to see how other exported formats turn out, you have to export
8772 them and preview them by hand.
8775 \begin_layout Section
8776 The external material dialog
8779 \begin_layout Standard
8780 You insert external material from the
8788 When you do this, a button is inserted into your document, and the external
8789 material dialog is shown.
8790 This dialog allows you to describe exactly what material should be included,
8791 and also how it should be included.
8792 Furthermore, it provides access to the external applications to either
8793 view, edit or produce the material that is used in the resulting file.
8796 \begin_layout Standard
8797 \begin_inset Note Note
8800 \begin_layout Standard
8801 This paragraph is outdated
8806 At the top of this dialog, there is a drop-down list where you can chose
8807 which template should be used.
8808 Just below the template drop-down, there's a text area with a short blurb
8809 about the chosen template that should help you use it.
8810 Most often, it will provide a short description of the template, and a
8811 few hints on how to parameterize the use of it.
8812 Further down, you'll find a filename input field along with a
8813 \begin_inset Quotes eld
8817 \begin_inset Quotes erd
8820 button that allows you to chose which file should be included with the
8821 standard file browser.
8822 Thus this field specifies the original file.
8823 Since the produced file is automatically generated when needed, there is
8824 no need to give access to it in the user interface.
8827 \begin_layout Standard
8828 \begin_inset Note Note
8831 \begin_layout Standard
8832 This paragraph is outdated
8837 At the bottom of the dialog, you'll find a general input box called
8842 This box is generally used to parameterize the specific template.
8843 The specific use should be covered in the help blurb associated with the
8844 template, but it typically allows you to define variations on how the produced
8845 file should be generated.
8848 \begin_layout Standard
8849 \begin_inset Note Note
8852 \begin_layout Standard
8853 This paragraph is outdated
8858 At the right side of the dialog, you'll find three buttons:
8886 These in turn allow you to edit your original file with the appropriate
8887 editing application, view the produced file as included in the primary
8888 format document, and finally force an update of the resulting material
8889 in the primary format.
8899 button will be disabled, because most templates are configured to automatically
8900 update the produced file when needed.
8901 In those cases, there is no need to force the production of a new produced
8903 However, some templates are configured to not be automatically producing
8904 the residual product, because the cost of producing the produced file might
8905 be so large that it would be a pain to do it all the time.
8906 Those types are known as
8911 In those cases, you can use the button to force the production of the produced
8912 file exactly when you need it, and thus control the amount of work that
8918 responsibility to do this to keep the produced files current at all times:
8919 before printing, before exporting, before viewing, etc.
8920 At some time in the future, it might be possible that LyX will help you
8921 with this task.Any changes in the template, filename or parameters are actually
8922 applied whenever you press
8947 \begin_layout Section
8951 \begin_layout Standard
8952 In this section, we should include some examples of use of the external
8954 Those examples could include:
8957 \begin_layout Itemize
8958 External raster images
8961 \begin_layout Itemize
8962 External XFig figures
8965 \begin_layout Itemize
8969 \begin_layout Itemize
8973 \begin_layout Itemize
8974 The use of makefiles
8977 \begin_layout Itemize
8978 Recursive external LyX templates
8981 \begin_layout Section
8982 The external template configuration file
8985 \begin_layout Standard
8986 It is relatively easy to add custom external template definitions to LyX.
8987 However, be aware this doing this in an careless manner most probably
8991 introduce an easily exploitable security hole.
8992 So before you do this, please read the discussion about security which
8996 \begin_layout Standard
8997 Having said that, we encourage you to submit any interesting templates that
9002 \begin_layout Standard
9003 The external templates are defined in the
9005 lib/external_templates
9008 You can place your own version in
9010 .lyx/external_templates
9015 \begin_layout Standard
9016 A typical template looks like this:
9019 \begin_layout LyX-Code
9023 \begin_layout LyX-Code
9024 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
9027 \begin_layout LyX-Code
9031 \begin_layout LyX-Code
9035 \begin_layout LyX-Code
9039 \begin_layout LyX-Code
9043 \begin_layout LyX-Code
9047 \begin_layout LyX-Code
9048 AutomaticProduction true
9051 \begin_layout LyX-Code
9055 \begin_layout LyX-Code
9059 \begin_layout LyX-Code
9063 \begin_layout LyX-Code
9064 TransformCommand Rotate RotationLatexCommand
9067 \begin_layout LyX-Code
9068 TransformCommand Resize ResizeLatexCommand
9071 \begin_layout LyX-Code
9072 Product "$$RotateFront$$ResizeFront
9075 \begin_layout LyX-Code
9080 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
9083 \begin_layout LyX-Code
9084 $$ResizeBack$$RotateBack"
9087 \begin_layout LyX-Code
9091 \begin_layout LyX-Code
9092 UpdateResult "$$AbsPath$$Basename.pstex_t"
9095 \begin_layout LyX-Code
9096 Requirement "graphicx"
9099 \begin_layout LyX-Code
9100 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9103 \begin_layout LyX-Code
9104 ReferencedFile latex "$$AbsPath$$Basename.eps"
9107 \begin_layout LyX-Code
9108 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9111 \begin_layout LyX-Code
9115 \begin_layout LyX-Code
9119 \begin_layout LyX-Code
9120 TransformCommand Rotate RotationLatexCommand
9123 \begin_layout LyX-Code
9124 TransformCommand Resize ResizeLatexCommand
9127 \begin_layout LyX-Code
9128 Product "$$RotateFront$$ResizeFront
9131 \begin_layout LyX-Code
9136 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9139 \begin_layout LyX-Code
9140 $$ResizeBack$$RotateBack"
9143 \begin_layout LyX-Code
9147 \begin_layout LyX-Code
9148 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9151 \begin_layout LyX-Code
9152 Requirement "graphicx"
9155 \begin_layout LyX-Code
9156 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9159 \begin_layout LyX-Code
9160 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9163 \begin_layout LyX-Code
9167 \begin_layout LyX-Code
9171 \begin_layout LyX-Code
9172 Product "$$Contents(
9174 "$$AbsPath$$Basename.asc
9179 \begin_layout LyX-Code
9180 UpdateFormat asciixfig
9183 \begin_layout LyX-Code
9184 UpdateResult "$$AbsPath$$Basename.asc"
9187 \begin_layout LyX-Code
9191 \begin_layout LyX-Code
9195 \begin_layout LyX-Code
9196 Product "<graphic fileref=
9198 "$$AbsOrRelPathMaster$$Basename.eps
9203 \begin_layout LyX-Code
9207 \begin_layout LyX-Code
9211 \begin_layout LyX-Code
9212 UpdateResult "$$AbsPath$$Basename.eps"
9215 \begin_layout LyX-Code
9216 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9219 \begin_layout LyX-Code
9220 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9223 \begin_layout LyX-Code
9227 \begin_layout LyX-Code
9231 \begin_layout LyX-Code
9232 Product "[XFig: $$FName]"
9235 \begin_layout LyX-Code
9239 \begin_layout LyX-Code
9243 \begin_layout Standard
9244 As you can see, the template is enclosed in
9248 \SpecialChar \ldots{}
9254 It contains a header specifying some general settings, and for each supported
9255 primary document file format a section
9259 \SpecialChar \ldots{}
9267 \begin_layout Subsection
9271 \begin_layout Description
9275 Template\InsetSpace ~
9279 A unique name for the template.
9280 It must not contain substitution macros (see below).
9283 \begin_layout Description
9287 GuiName\InsetSpace ~
9291 The text that is displayed on the button.
9292 This command must occur exactly once.
9295 \begin_layout Description
9299 HelpText\InsetSpace ~
9304 The help text that is used in the External dialog.
9305 Provide enough information to explain to the user just what the template
9306 can provide him with.
9307 This command must occur exactly once.
9310 \begin_layout Description
9314 InputFormat\InsetSpace ~
9318 The file format of the original file.
9319 This must be the name of a format that is known to LyX (see the
9324 ools\SpecialChar \menuseparator
9329 references:Conversion
9336 if the template can handle original files of more than one format.
9337 LyX will attempt to interrogate the file itself in order to deduce its
9338 format in this case.
9339 This command must occur exactly once.
9342 \begin_layout Description
9346 FileFilter\InsetSpace ~
9350 A glob pattern that is used in the file dialog to filter out the desired
9352 If there is more than one possible file extension (e.g.\InsetSpace ~
9361 ), use something like
9366 This command must occur exactly once.
9369 \begin_layout Description
9373 AutomaticProduction\InsetSpace ~
9377 Wether the file represented by the template must be generated by LyX.
9378 This command must occur exactly once.
9381 \begin_layout Description
9385 Transform\InsetSpace ~
9386 Rotate|Resize|Clip|Extra
9389 This command specifies which transformations are supported by this template.
9390 It may occur zero or more times.
9391 This command enables the corresponding tabs in the external dialog.
9396 command must have either a corresponding
9409 Otherwise the transformation will not be supported by that format.
9412 \begin_layout Subsection
9416 \begin_layout Description
9421 LaTeX|PDFLaTeX|Ascii|DocBook|LinuxDoc
9424 The primary document file format that this format definition is for.
9425 Not every template has a sensible representation in all document file formats.
9426 Please define nevertheless a
9430 section for all formats.
9431 Use a dummy text when no representation is available (see the LinuxDoc
9432 format in the example above).
9433 Then you can at least see a reference to the external material in the exported
9437 \begin_layout Description
9441 TransformCommand\InsetSpace ~
9443 RotationLatexCommand
9446 This command specifies that the built in LaTeX command should be used for
9448 This command may occur once or not at all.
9451 \begin_layout Description
9455 TransformCommand\InsetSpace ~
9460 This command specifies that the built in LaTeX command should be used for
9462 This command may occur once or not at all.
9465 \begin_layout Description
9469 TransformOption\InsetSpace ~
9474 This command specifies that rotation is done via an optional argument.
9475 This command may occur once or not at all.
9478 \begin_layout Description
9482 TransformOption\InsetSpace ~
9487 This command specifies that resizing is done via an optional argument.
9488 This command may occur once or not at all.
9491 \begin_layout Description
9495 TransformOption\InsetSpace ~
9500 This command specifies that clipping is done via an optional argument.
9501 This command may occur once or not at all.
9504 \begin_layout Description
9508 TransformOption\InsetSpace ~
9513 This command specifies that an extra optional argument is used.
9514 This command may occur once or not at all.
9517 \begin_layout Description
9521 Product\InsetSpace ~
9525 The text that is inserted in the exported document.
9526 This is actually the most important command and can be quite complex.
9527 This command must occur exactly once.
9530 \begin_layout Description
9534 UpdateFormat\InsetSpace ~
9538 The file format of the converted file.
9539 This must be the name of a format that is known to LyX (see the
9544 ools\SpecialChar \menuseparator
9549 references:Conversion
9552 This command must occur exactly once.
9555 \begin_layout Description
9559 UpdateResult\InsetSpace ~
9563 The file name of the converted file.
9564 The file name must be absolute.
9565 This command must occur exactly once.
9568 \begin_layout Description
9572 ReferencedFile\InsetSpace ~
9573 <format>\InsetSpace ~
9577 This command denotes files that are created by the conversion process and
9578 are needed for a particular export format.
9579 If the filename is relative, it is interpreted relative to the master document.
9580 This command may be given zero or more times.
9583 \begin_layout Description
9587 Requirement\InsetSpace ~
9591 The name of a required LaTeX package.
9592 The package is included via
9598 in the LaTeX preamble.
9599 This command may occur zero or more times.
9602 \begin_layout Description
9606 Preamble\InsetSpace ~
9610 This command specifies a preamble snippet that will be included in the
9612 It has to be defined using
9616 \SpecialChar \ldots{}
9622 This command may occur zero or more times.
9625 \begin_layout Description
9634 This command defines an additional macro
9647 itself may contain substitution macros.
9648 The advantage over using
9656 is that the substituted value of
9660 is sanitized so that it is a valid optional argument in the document format.
9661 This command may occur zero or more times.
9664 \begin_layout Subsection
9665 Preamble definitions
9668 \begin_layout Standard
9669 The external template configuration file may contain additional preamble
9670 definitions enclosed by
9674 \SpecialChar \ldots{}
9680 They can be used by the templates in the
9687 \begin_layout Section
9688 The substitution mechanism
9691 \begin_layout Standard
9692 When the external material facility invokes an external program, it is done
9693 on the basis of a command defined in the template configuration file.
9694 These commands can contain various macros that are expanded before execution.
9695 Execution always take place in the directory of the containing document.
9698 \begin_layout Standard
9699 Also, whenever external material is to be displayed, the name will be produced
9700 by the substitution mechanism, and most other commands in the template
9701 definition support substitution as well.
9704 \begin_layout Standard
9705 The available macros are the following:
9708 \begin_layout Description
9709 $$FName The filename of the file specified in the external material dialog.
9710 This is either an absolute name, or it is relative to the LyX document.
9713 \begin_layout Description
9714 $$Basename The filename without path and without the extension.
9717 \begin_layout Description
9718 $$Extension The file extension (including the dot).
9721 \begin_layout Description
9722 $$FPath The path part of
9726 (absolute name or relative to the LyX document).
9729 \begin_layout Description
9730 $$AbsPath The absolute file path.
9733 \begin_layout Description
9734 $$RelPathMaster The file path, relative to the master LyX document.
9737 \begin_layout Description
9738 $$RelPathParent The file path, relative to the LyX document.
9741 \begin_layout Description
9742 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
9746 \begin_layout Description
9747 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
9750 \begin_layout Description
9751 $$Tempname A name and full path to a temporary file which will be automatically
9752 deleted whenever the containing document is closed, or the external material
9756 \begin_layout Description
9758 \begin_inset Quotes eld
9762 \begin_inset Quotes erd
9765 ) This macro will expand to the contents of the file with the name
9772 \begin_layout Description
9773 $$Sysdir This macro will expand to the absolute path of the system directory.
9774 This is typically used to point to the various helper scripts that are
9778 \begin_layout Standard
9779 All path macros contain a trailing directory separator, so you can construct
9781 the absolute filename with
9783 $$AbsPath$$Basename$$Extension
9788 \begin_layout Standard
9789 The macros above are substituted in all commands unless otherwise noted.
9794 supports additionally the following substitutions if they are enabled by
9806 \begin_layout Description
9807 $$ResizeFront The front part of the resize command.
9810 \begin_layout Description
9811 $$ResizeBack The back part of the resize command.
9814 \begin_layout Description
9815 $$RotateFront The front part of the rotation command.
9818 \begin_layout Description
9819 $$RotateBack The back part of the rotation command.
9822 \begin_layout Standard
9823 The value string of the
9827 command supports additionally the following substitutions if they are enabled
9839 \begin_layout Description
9840 $$Clip The clip option.
9843 \begin_layout Description
9844 $$Extra The extra option.
9847 \begin_layout Description
9848 $$Resize The resize option.
9851 \begin_layout Description
9852 $$Rotate The rotation option.
9855 \begin_layout Standard
9856 You may ask why there are so many path macros.
9857 There are mainly two reasons:
9860 \begin_layout Standard
9861 First, relative and absolute file names should remain relative or absolute,
9863 Users may have reasons to prefer either form.
9864 Relative names are useful for portable documents that should work on different
9865 machines, for example.
9866 Absolute names may be required by some programs.
9869 \begin_layout Standard
9870 Second, LaTeX treats relative file names differently than LyX and other
9871 programs in nested included files.
9872 For LyX, a relative file name is always relative to the document that contains
9874 For LaTeX, it is always relative to the master document.
9875 These two definitions are identical if you have only one document, but
9876 differ if you have a master document that includes part documents.
9877 That means that relative filenames must be transformed when presented to
9879 Fortunately LyX does this automatically for you if you choose the right
9883 \begin_layout Standard
9884 So which path macro should be used in new template definitions? The rule
9888 \begin_layout Itemize
9893 if an absolute path is required.
9896 \begin_layout Itemize
9899 $$AbsOrRelPathMaster
9901 if the substituted string is some kind of LaTeX input.
9904 \begin_layout Itemize
9907 $$AbsOrRelPathParent
9909 in order to preserve the user's choice.
9912 \begin_layout Standard
9913 There are special cases where this rule does not work and e.g.\InsetSpace ~
9915 are needed, but normally it will work just fine.
9916 One example for such a case is the command
9918 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9920 in the XFig template above: We can't use the absolute name because the
9925 files needs the relative name in order to rewrite the file content.
9928 \begin_layout Section
9932 \begin_layout Standard
9933 \begin_inset Note Note
9936 \begin_layout Standard
9937 This section is outdated
9942 The external material feature interfaces with a lot of external programs
9943 and does so automatically, so we have to consider the security implications
9945 In particular, since you have the option of including your own filenames
9946 and/or parameter strings and those are expanded into a command, it seems
9947 that it would be possible to create a malicious document which executes
9948 arbitrary commands when a user views or prints the document.
9949 This is something we definately want to avoid.
9952 \begin_layout Standard
9953 However, since the external program commands are specified in the template
9954 configuration file only, there are no security issues if LyX is properly
9955 configured with safe templates only.
9956 This is so because the external programs are invoked with the
9960 -system call rather than the
9964 system-call, so it's not possible to execute arbitrary commands from the
9965 filename or parameter section via the shell.
9968 \begin_layout Standard
9969 This also implies that you are restricted in what command strings you can
9970 use in the external material templates.
9971 In particular, pipes and redirection are not readily available.
9972 This has to be so if LyX should remain safe.
9973 If you want to use some of the shell features, you should write a safe
9974 script to do this in a controlled manner, and then invoke the script from
9980 directory of the LyX installation, you can find a safe wrapper script
9982 general_command_wrapper.py
9984 that supports redirection of input and output.
9985 That can serve as an example for how to write safe template scripts.
9986 For a more advanced example that uses
9990 and friends, take a look at the
9997 \begin_layout Standard
9998 It is possible to design a template that interacts directly with the shell,
9999 but since this would allow a malicious user to execute arbitrary commands
10000 by writing clever filenames and/or parameters, we generally recommend that
10001 you only use safe scripts that work with the
10005 system call in a controlled manner.
10006 Of course, for use in a controlled environment, it can be tempting to just
10007 fall back to use ordinary shell scripts.
10008 If you do so, be aware that you
10012 provide an easily exploitable security hole in your system.
10013 Of course it stands to reason that such unsafe templates will never be
10014 included in the standard LyX distribution, although we do encourage people
10015 to submit new templates in the open source tradition.
10016 But LyX as shipped from the official distribution channels will never have
10020 \begin_layout Standard
10021 Including external material provides a lot of power, and you have to be
10022 careful not to introduce security hazards with this power.
10023 A subtle error in a single line in an innocent looking script can open
10024 the door to huge security problems.
10025 So if you do not fully understand the issues, we recommend that you consult
10026 a knowledgable security professional or the LyX development team if you
10027 have any questions about whether a given template is safe or not.
10028 And do this before you use it in an uncontrolled environment.
10031 \begin_layout Chapter
10035 \begin_layout Section
10039 \begin_layout Standard
10040 The LyX server is a method implemented in LyX that will enable other programs
10041 to talk to LyX, invoke LyX commands, and retrieve information about the
10042 LyX internal state.
10043 This is only intended for advanced users, but they should find it useful.
10046 \begin_layout Section
10047 Starting the LyX Server
10050 \begin_layout Standard
10051 The LyX server works through the use of a pair of named pipes.
10052 These are usually located in your home directory and have the names
10053 \begin_inset Quotes eld
10061 \begin_inset Quotes erd
10065 \begin_inset Quotes eld
10073 \begin_inset Quotes erd
10077 External programs write into
10081 and read back data from
10086 The stem of the pipe names can be defined in the
10091 ools\SpecialChar \menuseparator
10098 dialog, for example
10100 "/home/myhome/.lyxpipe"
10105 \begin_layout Standard
10114 ' to create the pipes.
10115 The above setting also has the effect of activating the LyX server.
10116 If one of the pipes already exists, LyX will assume that another LyX process
10117 is already running and will not start the server.
10118 To have several LyX processes with servers at the same time, you have to
10119 change the configuration between the start of the programs.
10122 \begin_layout Standard
10123 If you are developing a client program, you might find it useful to enable
10124 debugging information from the LyX server.
10125 Do this by starting LyX as
10127 lyx -dbg lyxserver.
10130 \begin_layout Standard
10131 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10132 case you must remove them manually.
10133 If LyX starts and the pipes exist already, it will not start any server.
10136 \begin_layout Standard
10137 Other than this, there are a few points to consider:
10140 \begin_layout Itemize
10141 Both server and clients must run on UNIX or OS/2 machines.
10142 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10143 not possible right now.
10146 \begin_layout Itemize
10147 On OS/2, only one client can connect to LyXServer at a time.
10150 \begin_layout Itemize
10151 On OS/2, clients must open inpipe with
10158 \begin_layout Standard
10159 You can find a complete example client written in C in the source distribution
10162 development/server_monitor.c
10167 \begin_layout Section
10168 Normal communication
10171 \begin_layout Standard
10172 To issue a LyX call, the client writes a line of ASCII text into the input
10174 This line has the following format:
10177 \begin_layout Quote
10191 \begin_layout Standard
10196 is a name that the client can choose arbitrarily.
10197 Its only use is that LyX will echo it if it sends an answer - so a client
10198 can dispatch results from different requesters.
10201 \begin_layout Standard
10206 is the function you want LyX to perform.
10207 It is the same as the commands you'd use in the minibuffer.
10210 \begin_layout Standard
10215 is an optional argument which is meaningful only to some functions (for
10217 \begin_inset Quotes eld
10221 \begin_inset Quotes erd
10224 which will insert the argument as text at the cursor position.)
10227 \begin_layout Standard
10228 The answer from LyX will arrive in the output pipe and be of the form
10231 \begin_layout Quote
10245 \begin_layout Standard
10254 are just echoed from the command request, while
10258 is more or less useful information filled according to how the command
10259 execution worked out.
10260 Some commands will return information about the internal state of LyX,
10262 \begin_inset Quotes eld
10266 \begin_inset Quotes erd
10269 , while other will return an empty data-response.
10270 This means that the command execution went fine.
10273 \begin_layout Standard
10274 In case of errors, the response from LyX will have this form
10277 \begin_layout Quote
10291 \begin_layout Standard
10296 should contain an explanation of why the command failed.
10299 \begin_layout Standard
10303 \begin_layout LyX-Code
10304 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10307 \begin_layout LyX-Code
10308 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10310 read a <~/.lyxpipe.out
10315 \begin_layout Section
10319 \begin_layout Standard
10320 LyX can notify clients of events going on asynchronously.
10321 Currently it will only do this if the user binds a key sequence with the
10323 \begin_inset Quotes eld
10327 \begin_inset Quotes erd
10331 The format of the string LyX sends is as follows:
10334 \begin_layout Quote
10343 \begin_layout Standard
10348 is the printed representation of the key sequence that was actually typed
10352 \begin_layout Standard
10353 This mechanism can be used to extend LyX's command set and implement macros:
10354 bind some key sequence to
10355 \begin_inset Quotes eld
10359 \begin_inset Quotes erd
10362 , start a client that listens on the out pipe, dispatches the command according
10363 to the sequence and starts a function that may use LyX calls and LyX requests
10364 to issue a command or a series of commands to LyX.
10367 \begin_layout Section
10368 The simple LyX Server Protocol
10371 \begin_layout Standard
10372 LyX implements a simple protocol that can be used for session management.
10373 All messages are of the form
10376 \begin_layout Quote
10386 \begin_layout Standard
10392 \begin_inset Quotes eld
10396 \begin_inset Quotes erd
10400 \begin_inset Quotes eld
10404 \begin_inset Quotes erd
10409 \begin_inset Quotes eld
10413 \begin_inset Quotes erd
10416 is received from a client, LyX will report back to inform the client that
10417 it's listening to it's messages, while
10418 \begin_inset Quotes eld
10422 \begin_inset Quotes erd
10425 sent from LyX will inform clients that LyX is closing.
10428 \begin_layout Chapter
10433 \begin_layout Standard
10434 This appendix is a huge cross-reference to all the English language keybindings.
10435 Originally, we simply wanted to list all of the key bindings followed by
10436 the function it's bound to.
10437 That way, a user can look up a key to find out what it does.
10438 We then decided, what the hey, why not include the default toolbar and
10439 menu bindings, too.
10440 Please note this section is likely to be very out of date.
10443 \begin_layout Standard
10444 The form is really self-explanatory, but here are a few tips: all entries
10445 are arranged roughly alphabetically for a given modifier (
10454 For the general keyboard layout, simpler prefixes precede the more complex
10464 All entries were gleaned from the default user interface and binding files
10465 located in the directories
10467 \SpecialChar \ldots{}
10472 \SpecialChar \ldots{}
10475 ; they should be treated as the final word on the bindings.
10478 \begin_layout Standard
10479 As a final note, be aware that some window managers (such as FVWM) take
10480 control of some of the function keys or motion keys.
10485 is listed here as generating
10489 , but FVWM grabs it and uses it to change virtual desktops instead.
10490 Very annoying unless you instruct your window manager to stop intercepting
10494 \begin_layout Section
10498 \begin_layout LyX-Code
10502 \begin_layout LyX-Code
10506 \begin_layout LyX-Code
10510 \begin_layout LyX-Code
10511 Icon "buffer-write"
10514 \begin_layout LyX-Code
10515 Icon "buffer-print"
10518 \begin_layout LyX-Code
10522 \begin_layout LyX-Code
10526 \begin_layout LyX-Code
10530 \begin_layout LyX-Code
10534 \begin_layout LyX-Code
10538 \begin_layout LyX-Code
10542 \begin_layout LyX-Code
10546 \begin_layout LyX-Code
10550 \begin_layout LyX-Code
10554 \begin_layout LyX-Code
10558 \begin_layout LyX-Code
10562 \begin_layout LyX-Code
10566 \begin_layout LyX-Code
10567 Icon "footnote-insert"
10570 \begin_layout LyX-Code
10571 Icon "marginpar-insert"
10574 \begin_layout LyX-Code
10578 \begin_layout LyX-Code
10582 \begin_layout LyX-Code
10583 Icon "figure-insert"
10586 \begin_layout LyX-Code
10587 Icon "dialog-tabular-insert"
10590 \begin_layout LyX-Code
10594 \begin_layout Section
10598 \begin_layout Subsection
10603 \labelwidthstring 00.00.0000
10613 \labelwidthstring 00.00.0000
10625 \labelwidthstring 00.00.0000
10637 \labelwidthstring 00.00.0000
10651 \labelwidthstring 00.00.0000
10661 \labelwidthstring 00.00.0000
10675 \labelwidthstring 00.00.0000
10685 \labelwidthstring 00.00.0000
10697 \labelwidthstring 00.00.0000
10709 \labelwidthstring 00.00.0000
10721 \labelwidthstring 00.00.0000
10727 buffer-new-template
10731 \labelwidthstring 00.00.0000
10744 \labelwidthstring 00.00.0000
10753 \labelwidthstring 00.00.0000
10762 \labelwidthstring 00.00.0000
10771 \labelwidthstring 00.00.0000
10780 \labelwidthstring 00.00.0000
10789 \labelwidthstring 00.00.0000
10799 \labelwidthstring 00.00.0000
10808 \begin_layout Subsection
10813 \labelwidthstring 00.00.0000
10825 \labelwidthstring 00.00.0000
10837 \labelwidthstring 00.00.0000
10849 \labelwidthstring 00.00.0000
10861 \labelwidthstring 00.00.0000
10873 \labelwidthstring 00.00.0000
10885 \labelwidthstring 00.00.0000
10900 \labelwidthstring 00.00.0000
10907 tabular-feature append-row
10911 \labelwidthstring 00.00.0000
10918 tabular-feature toggle-line-bottom
10922 \labelwidthstring 00.00.0000
10929 tabular-feature align-center
10933 \labelwidthstring 00.00.0000
10940 tabular-feature delete-column
10944 \labelwidthstring 00.00.0000
10951 tabular-feature align-left
10955 \labelwidthstring 00.00.0000
10962 tabular-feature align-right
10966 \labelwidthstring 00.00.0000
10973 tabular-feature toggle-line-left
10977 \labelwidthstring 00.00.0000
10984 tabular-feature multicolumn
10988 \labelwidthstring 00.00.0000
10995 tabular-feature valign-center
10999 \labelwidthstring 00.00.0000
11006 tabular-feature valign-top
11010 \labelwidthstring 00.00.0000
11017 tabular-feature toggle-line-right
11021 \labelwidthstring 00.00.0000
11028 tabular-feature toggle-line-top
11032 \labelwidthstring 00.00.0000
11039 tabular-feature append-column
11043 \labelwidthstring 00.00.0000
11050 tabular-feature valign-bottom
11054 \labelwidthstring 00.00.0000
11061 tabular-feature delete-row
11066 \labelwidthstring 00.00.0000
11079 \labelwidthstring 00.00.0000
11084 floats-operate openfoot
11088 \labelwidthstring 00.00.0000
11093 floats-operate closefoot
11097 \labelwidthstring 00.00.0000
11102 floats-operate openfig
11106 \labelwidthstring 00.00.0000
11115 \labelwidthstring 00.00.0000
11124 \labelwidthstring 00.00.0000
11129 floats-operate closefig
11134 \labelwidthstring 00.00.0000
11146 \labelwidthstring 00.00.0000
11160 \labelwidthstring 00.00.0000
11172 \labelwidthstring 00.00.0000
11184 \labelwidthstring 00.00.0000
11198 \labelwidthstring 00.00.0000
11208 \labelwidthstring 00.00.0000
11221 \labelwidthstring 00.00.0000
11228 primary-selection-paste
11232 \labelwidthstring 00.00.0000
11239 primary-selection-paste paragraph
11243 \begin_layout Subsection
11248 \labelwidthstring 00.00.0000
11263 \labelwidthstring 00.00.0000
11270 buffer-float-insert algorithm
11274 \labelwidthstring 00.00.0000
11281 buffer-float-insert wide-tab
11285 \labelwidthstring 00.00.0000
11292 buffer-float-insert figure
11296 \labelwidthstring 00.00.0000
11303 buffer-float-insert table
11307 \labelwidthstring 00.00.0000
11314 buffer-float-insert wide-fig
11319 \labelwidthstring 00.00.0000
11327 dialog-tabular-insert
11331 \labelwidthstring 00.00.0000
11343 \labelwidthstring 00.00.0000
11355 \labelwidthstring 00.00.0000
11363 buffer-child-insert
11367 \labelwidthstring 00.00.0000
11379 \labelwidthstring 00.00.0000
11391 \labelwidthstring 00.00.0000
11403 \labelwidthstring 00.00.0000
11415 \labelwidthstring 00.00.0000
11427 \labelwidthstring 00.00.0000
11439 \labelwidthstring 00.00.0000
11451 \labelwidthstring 00.00.0000
11466 \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
11533 \labelwidthstring 00.00.0000
11545 \labelwidthstring 00.00.0000
11560 \labelwidthstring 00.00.0000
11567 protected-space-insert
11571 \labelwidthstring 00.00.0000
11578 end-of-sentence-period-insert
11582 \labelwidthstring 00.00.0000
11593 \labelwidthstring 00.00.0000
11604 \labelwidthstring 00.00.0000
11615 \labelwidthstring 00.00.0000
11622 menu-separator-insert
11626 \labelwidthstring 00.00.0000
11633 hyphenation-point-insert
11637 \labelwidthstring 00.00.0000
11648 \labelwidthstring 00.00.0000
11655 command-sequence math-insert ^;math-mode;
11659 \labelwidthstring 00.00.0000
11666 command-sequence math-insert _;math-mode;
11671 \labelwidthstring 00.00.0000
11686 \labelwidthstring 00.00.0000
11693 file-insert-ascii lines
11697 \labelwidthstring 00.00.0000
11704 file-insert-ascii paragraphs
11708 \labelwidthstring 00.00.0000
11720 \labelwidthstring 00.00.0000
11732 \labelwidthstring 00.00.0000
11744 \labelwidthstring 00.00.0000
11755 \begin_layout Subsection
11760 \labelwidthstring 00.00.0000
11772 \labelwidthstring 00.00.0000
11784 \labelwidthstring 00.00.0000
11796 \labelwidthstring 00.00.0000
11808 \labelwidthstring 00.00.0000
11820 \labelwidthstring 00.00.0000
11832 \labelwidthstring 00.00.0000
11844 \labelwidthstring 00.00.0000
11856 \labelwidthstring 00.00.0000
11864 layout-save-default
11868 \labelwidthstring 00.00.0000
11880 \labelwidthstring 00.00.0000
11892 \labelwidthstring 00.00.0000
11903 \begin_layout Subsubsection
11906 Layout\SpecialChar \menuseparator
11913 \labelwidthstring 00.00.0000
11923 \labelwidthstring 00.00.0000
11933 \labelwidthstring 00.00.0000
11943 \labelwidthstring 00.00.0000
11953 \labelwidthstring 00.00.0000
11965 \labelwidthstring 00.00.0000
11975 \labelwidthstring 00.00.0000
11985 \labelwidthstring 00.00.0000
11995 \labelwidthstring 00.00.0000
12005 \labelwidthstring 00.00.0000
12015 \labelwidthstring 00.00.0000
12025 \labelwidthstring 00.00.0000
12035 \labelwidthstring 00.00.0000
12045 \labelwidthstring 00.00.0000
12057 \labelwidthstring 00.00.0000
12069 \labelwidthstring 00.00.0000
12081 \labelwidthstring 00.00.0000
12093 \labelwidthstring 00.00.0000
12103 \labelwidthstring 00.00.0000
12115 \labelwidthstring 00.00.0000
12127 \labelwidthstring 00.00.0000
12137 \labelwidthstring 00.00.0000
12149 \labelwidthstring 00.00.0000
12161 \labelwidthstring 00.00.0000
12173 \labelwidthstring 00.00.0000
12185 \labelwidthstring 00.00.0000
12195 \labelwidthstring 00.00.0000
12205 \labelwidthstring 00.00.0000
12217 \labelwidthstring 00.00.0000
12229 \labelwidthstring 00.00.0000
12241 \labelwidthstring 00.00.0000
12251 \labelwidthstring 00.00.0000
12260 \begin_layout Subsection
12264 \begin_layout Subsection
12268 \begin_layout Subsection
12272 \begin_layout Subsection
12277 \labelwidthstring 00.00.0000
12289 \labelwidthstring 00.00.0000
12301 \labelwidthstring 00.00.0000
12313 \labelwidthstring 00.00.0000
12325 \labelwidthstring 00.00.0000
12337 \labelwidthstring 00.00.0000
12345 layout ShortFoilhead
12349 \labelwidthstring 00.00.0000
12361 \labelwidthstring 00.00.0000
12373 \labelwidthstring 00.00.0000
12385 \labelwidthstring 00.00.0000
12397 \labelwidthstring 00.00.0000
12405 layout ShortRotatefoilhead
12409 \labelwidthstring 00.00.0000
12421 \labelwidthstring 00.00.0000
12433 \labelwidthstring 00.00.0000
12445 \labelwidthstring 00.00.0000
12453 drop-layouts-choice
12457 \labelwidthstring 00.00.0000
12472 \labelwidthstring 00.00.0000
12487 \labelwidthstring 00.00.0000
12499 \labelwidthstring 00.00.0000
12511 \labelwidthstring 00.00.0000
12519 layout Subsubsection
12523 \labelwidthstring 00.00.0000
12535 \labelwidthstring 00.00.0000
12543 layout Subparagraph
12547 \labelwidthstring 00.00.0000
12551 asterisk\InsetSpace ~
12560 \labelwidthstring 00.00.0000
12564 asterisk\InsetSpace ~
12573 \labelwidthstring 00.00.0000
12577 asterisk\InsetSpace ~
12586 \labelwidthstring 00.00.0000
12590 asterisk\InsetSpace ~
12599 \labelwidthstring 00.00.0000
12603 asterisk\InsetSpace ~
12608 layout Subsubsection*
12612 \labelwidthstring 00.00.0000
12616 asterisk\InsetSpace ~
12625 \labelwidthstring 00.00.0000
12629 asterisk\InsetSpace ~
12634 layout Subparagraph*
12638 \labelwidthstring 00.00.0000
12650 \labelwidthstring 00.00.0000
12658 layout Bibliography
12662 \labelwidthstring 00.00.0000
12674 \labelwidthstring 00.00.0000
12686 \labelwidthstring 00.00.0000
12698 \labelwidthstring 00.00.0000
12710 \labelwidthstring 00.00.0000
12722 \labelwidthstring 00.00.0000
12730 layout Rotatefoilhead
12734 \labelwidthstring 00.00.0000
12742 layout RightAddress
12746 \labelwidthstring 00.00.0000
12758 \labelwidthstring 00.00.0000
12770 \labelwidthstring 00.00.0000
12782 \labelwidthstring 00.00.0000
12793 \begin_layout Standard
12794 These ones are kept for backwards compatibility, but only make sense on
12799 \labelwidthstring 00.00.0000
12811 \labelwidthstring 00.00.0000
12819 layout Subsubsection*
12823 \labelwidthstring 00.00.0000
12834 \begin_layout Section
12838 \begin_layout Subsection
12845 \labelwidthstring 00.00.0000
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
12918 hyphenation-point-insert
12922 \labelwidthstring 00.00.0000
12933 \labelwidthstring 00.00.0000
12940 line-delete-forward
12944 \labelwidthstring 00.00.0000
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
13008 \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
13086 \labelwidthstring 00.00.0000
13098 \labelwidthstring 00.00.0000
13110 \labelwidthstring 00.00.0000
13122 \labelwidthstring 00.00.0000
13135 \labelwidthstring 00.00.0000
13147 \labelwidthstring 00.00.0000
13159 \labelwidthstring 00.00.0000
13171 \labelwidthstring 00.00.0000
13183 \labelwidthstring 00.00.0000
13196 \labelwidthstring 00.00.0000
13208 \labelwidthstring 00.00.0000
13220 \labelwidthstring 00.00.0000
13233 \labelwidthstring 00.00.0000
13246 \labelwidthstring 00.00.0000
13259 \labelwidthstring 00.00.0000
13272 \labelwidthstring 00.00.0000
13285 \labelwidthstring 00.00.0000
13298 \labelwidthstring 00.00.0000
13310 \labelwidthstring 00.00.0000
13322 \labelwidthstring 00.00.0000
13334 \labelwidthstring 00.00.0000
13342 menu-open Documents
13346 \labelwidthstring 00.00.0000
13358 \labelwidthstring 00.00.0000
13370 \labelwidthstring 00.00.0000
13382 \labelwidthstring 00.00.0000
13394 \labelwidthstring 00.00.0000
13406 \labelwidthstring 00.00.0000
13414 buffer-toggle-read-only
13418 \labelwidthstring 00.00.0000
13430 \labelwidthstring 00.00.0000
13442 \labelwidthstring 00.00.0000
13454 \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
13615 word-delete-forward
13619 \labelwidthstring 00.00.0000
13626 word-delete-backward
13630 \labelwidthstring 00.00.0000
13641 \labelwidthstring 00.00.0000
13648 end-of-sentence-period-insert
13652 \labelwidthstring 00.00.0000
13659 protected-space-insert
13663 \labelwidthstring 00.00.0000
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
13736 buffer-begin-select
13740 \labelwidthstring 00.00.0000
13751 \labelwidthstring 00.00.0000
13758 paragraph-up-select
13762 \labelwidthstring 00.00.0000
13769 paragraph-down-select
13773 \labelwidthstring 00.00.0000
13780 word-backward-select
13784 \labelwidthstring 00.00.0000
13791 word-forward-select
13795 \labelwidthstring 00.00.0000
13806 \labelwidthstring 00.00.0000
13813 word-delete-forward
13817 \labelwidthstring 00.00.0000
13828 \labelwidthstring 00.00.0000
13839 \labelwidthstring 00.00.0000
13850 \labelwidthstring 00.00.0000
13861 \labelwidthstring 00.00.0000
13868 break-paragraph-keep-layout
13872 \labelwidthstring 00.00.0000
13880 \begin_layout Subsection
13887 \labelwidthstring 00.00.0000
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
14136 protected-space-insert
14140 \labelwidthstring 00.00.0000
14151 \labelwidthstring 00.00.0000
14162 \labelwidthstring 00.00.0000
14173 \labelwidthstring 00.00.0000
14180 buffer-new-template
14184 \labelwidthstring 00.00.0000
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
14268 end-of-sentence-period-insert
14272 \labelwidthstring 00.00.0000
14283 \labelwidthstring 00.00.0000
14294 \labelwidthstring 00.00.0000
14301 hyphenation-point-insert
14305 \labelwidthstring 00.00.0000
14316 \labelwidthstring 00.00.0000
14323 protected-space-insert
14327 \labelwidthstring 00.00.0000
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
14499 word-delete-forward
14503 \labelwidthstring 00.00.0000
14510 word-delete-backward
14514 \labelwidthstring 00.00.0000
14525 \labelwidthstring 00.00.0000
14536 \labelwidthstring 00.00.0000
14547 \labelwidthstring 00.00.0000
14558 \labelwidthstring 00.00.0000
14565 paragraph-down-select
14569 \labelwidthstring 00.00.0000
14580 \labelwidthstring 00.00.0000
14587 buffer-begin-select
14591 \labelwidthstring 00.00.0000
14598 word-backward-select
14602 \labelwidthstring 00.00.0000
14609 word-forward-select
14613 \labelwidthstring 00.00.0000
14620 paragraph-up-select
14624 \labelwidthstring 00.00.0000
14635 \labelwidthstring 00.00.0000
14642 break-paragraph-keep-layout
14646 \labelwidthstring 00.00.0000
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
14710 \labelwidthstring 00.00.0000
14721 \labelwidthstring 00.00.0000
14732 \labelwidthstring 00.00.0000
14743 \labelwidthstring 00.00.0000
14754 \labelwidthstring 00.00.0000
14764 \begin_layout Subsection
14770 \begin_layout Standard
14771 These are LyX keyboard definitions for mathematics, similar to those of
14775 \begin_layout Standard
14776 The bindings file and the present documentation were prepared by Serge Winitzki
14777 with assistance from Jean-Marc Lasgouttes.
14778 Version 1.3, for LyX 1.2.x and 1.3.x.
14781 \begin_layout Standard
14782 These definitions make it a lot easier to type equations without using the
14783 mouse, especially for people familiar with Scientific Word.
14784 The standard LyX bindings such as
14795 \begin_layout Standard
14796 Tip: to find the "LyX bind name" for a key, look at the status bar after
14797 typing some non-existent key combination.
14799 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
14800 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
14804 \labelwidthstring 00.00.0000
14813 -- Copy, cut, paste is as in Sciword,
14829 \labelwidthstring 00.00.0000
14838 -- Display equation toggle: type
14842 to insert a displayed formula (
14847 \begin_inset Quotes eld
14851 \begin_inset Quotes erd
14859 in a displayed formula to convert it back to an inline formula.
14863 \labelwidthstring 00.00.0000
14878 to insert a fraction (
14883 \begin_inset Quotes eld
14887 \begin_inset Quotes erd
14891 You can also select an expression and type
14895 to convert it to the numerator of a fraction.
14904 end of the denominator will delete the numerator and convert the denominator
14909 \labelwidthstring 00.00.0000
14921 \begin_inset Formula $\int$
14929 \begin_inset Quotes eld
14933 \begin_inset Quotes erd
14940 \labelwidthstring 00.00.0000
14947 line-delete-forward
14949 -- Emacs-like binding: delete forward of cursor to end of line.
14953 \labelwidthstring 00.00.0000
14962 -- A text/math toggle (
14967 \begin_inset Quotes eld
14971 \begin_inset Quotes erd
14974 ): switches to math in text mode, and also inserts roman text in math mode.
14984 \begin_inset Quotes eld
14988 \begin_inset Quotes erd
14995 \labelwidthstring 00.00.0000
15004 -- Add/remove numbering in a single equation.
15008 \labelwidthstring 00.00.0000
15017 -- Add/remove numbering at a line in equation arrays.
15020 \begin_layout Standard
15021 The above commands are toggles that control the numbering of equations (
15026 \begin_inset Quotes eld
15030 \begin_inset Quotes erd
15034 Note: when deleting a number in a labeled eqnarray, the label is not really
15035 removed (the TeX code becomes
15036 \begin_inset Quotes eld
15048 \begin_inset Quotes erd
15051 ) and this generates a (harmless) LaTeX warning.
15055 \labelwidthstring 00.00.0000
15064 -- Open a new document.
15069 \labelwidthstring 00.00.0000
15078 -- Insert a quote character " (
15083 \begin_inset Quotes eld
15087 \begin_inset Quotes erd
15092 \begin_inset Quotes eld
15096 \begin_inset Quotes erd
15099 double quote character that you get by default.
15103 \labelwidthstring 00.00.0000
15114 -- Square root sign
15115 \begin_inset Formula $\sqrt{x}$
15123 \begin_inset Quotes eld
15127 \begin_inset Quotes erd
15134 \labelwidthstring 00.00.0000
15146 \begin_inset Formula $\sqrt[n]{x}$
15153 \labelwidthstring 00.00.0000
15162 -- Another binding for a switch between the text and the math mode (
15167 \begin_inset Quotes eld
15171 \begin_inset Quotes erd
15175 Note that the roman text inserted in math mode is special.
15179 \labelwidthstring 00.00.0000
15192 the selected text (text mode only, use things like
15208 \labelwidthstring 00.00.0000
15217 -- W*ndows heritage.
15221 \labelwidthstring 00.00.0000
15230 -- Close the current document (again, a W*ndows heritage).
15234 \labelwidthstring 00.00.0000
15245 \labelwidthstring 00.00.0000
15256 \labelwidthstring 00.00.0000
15266 \begin_inset Quotes eld
15270 \begin_inset Quotes erd
15274 \begin_inset Quotes eld
15278 \begin_inset Quotes erd
15284 \begin_layout Standard
15285 Bracket delimiters: press
15289 -<bracket key> to insert a matching pair of delimiters.
15294 inserts a pair of parentheses
15295 \begin_inset Formula $\left[\right]$
15303 does the same thing.) It will switch to math mode if needed.
15304 The supported characters are ( [ { < |.
15305 It is the same to press the right or the left bracket.
15306 The corresponding delimiters are
15307 \begin_inset Formula $\left(\right)$
15311 \begin_inset Formula $\left[\right]$
15315 \begin_inset Formula $\left\{ \right\} $
15319 \begin_inset Formula $\left\langle \right\rangle $
15323 \begin_inset Formula $\left|\right|$
15328 \begin_inset Quotes eld
15332 \begin_inset Quotes erd
15335 and resize with their contents.
15336 Use Math Panel to get other or non-matching delimiters.
15337 Press backspace on the
15341 delimiter to remove both
15342 \begin_inset Quotes eld
15346 \begin_inset Quotes erd
15349 delimiters without removing their contents.
15353 \labelwidthstring 00.00.0000
15362 -- for convenience, pressing
15376 \labelwidthstring 00.00.0000
15387 \labelwidthstring 00.00.0000
15398 \labelwidthstring 00.00.0000
15409 \labelwidthstring 00.00.0000
15420 \labelwidthstring 00.00.0000
15431 \labelwidthstring 00.00.0000
15438 math-delim langle rangle
15440 -- angular delimiters
15441 \begin_inset Formula $\left\langle \right\rangle $
15444 , not to confuse with ordinary < > signs.
15448 \labelwidthstring 00.00.0000
15455 math-delim langle rangle
15458 \begin_layout Standard
15459 The bar bracket: on some keyboards (e.g.\InsetSpace ~
15460 some British ones), the bar character
15465 -something and on some wayward Unices to "brokenbar".
15466 So we define all of these keys as well.
15470 \labelwidthstring 00.00.0000
15481 \labelwidthstring 00.00.0000
15492 \labelwidthstring 00.00.0000
15503 \labelwidthstring 00.00.0000
15514 \labelwidthstring 00.00.0000
15524 \begin_layout Standard
15525 Accents are in most cases
15529 -<accent key>, e.g.\InsetSpace ~
15543 for tilde (you also need to press
15549 \begin_inset Quotes eld
15561 \begin_inset Quotes erd
15565 Some accents work only in math mode and others only in text mode.
15569 \labelwidthstring 00.00.0000
15578 -- overdot accent, \i \.{a}
15583 \labelwidthstring 00.00.0000
15595 \begin_inset Formula $\dot{a}$
15598 (math mode only -- in physics this denotes a first derivative).
15602 \labelwidthstring 00.00.0000
15613 -- Vector accent over math
15614 \begin_inset Formula $\overrightarrow{x}$
15621 \labelwidthstring 00.00.0000
15630 -- umlaut accent, ä (text mode only)
15634 \labelwidthstring 00.00.0000
15645 -- double dot accent,
15646 \begin_inset Formula $\ddot{a}$
15649 (math mode only -- in physics this denotes a second derivative).
15650 To get a triple dot in math mode, use
15658 \labelwidthstring 00.00.0000
15667 -- grave accent à (text mode only, use
15677 \labelwidthstring 00.00.0000
15686 -- tilde accent ã (text mode only, use
15696 \labelwidthstring 00.00.0000
15705 -- acute accent á (text mode only, use
15715 \labelwidthstring 00.00.0000
15724 -- circumflex (caret) accent â (text mode only, use
15733 \begin_layout Standard
15735 The new key S-F2 for creating a LaTeX file seems handy.
15739 \labelwidthstring 00.00.0000
15748 -- Save current document.
15752 \labelwidthstring 00.00.0000
15759 buffer-export latex
15761 -- Write a LaTeX file for the current document.
15765 \labelwidthstring 00.00.0000
15774 -- Find and replace dialog.
15778 \labelwidthstring 00.00.0000
15795 \labelwidthstring 00.00.0000
15808 to quit LyX is the W*ndows w*ndow manager's mnemonic.
15811 \begin_layout Standard
15820 are used to switch fonts.
15825 to switch back to the normal font.
15826 The non-default font switches
15834 all work as toggles.
15835 They also work on the whole word if you put the cursor in the middle of
15836 the word, or if you select some text.
15840 \labelwidthstring 00.00.0000
15849 -- stop using any special font
15853 \labelwidthstring 00.00.0000
15870 \labelwidthstring 00.00.0000
15887 \labelwidthstring 00.00.0000
15904 \labelwidthstring 00.00.0000
15918 (Used sometimes for people's names.)
15921 \begin_layout Standard
15927 \begin_inset Quotes eld
15931 \begin_inset Quotes erd
15938 key (useful e.g.\InsetSpace ~
15939 if the keyboard has no working
15946 \begin_layout Standard
15947 Here are some Sciword-inspired mnemonics for frequently used math symbols.
15948 Many symbols start with a
15957 cannot be itself bound to anything.
15961 \labelwidthstring 00.00.0000
15973 \begin_inset Quotes eld
15977 \begin_inset Quotes erd
15981 \begin_inset Formula $\prime$
15985 This is frequently unnecessary: in most cases the normal apostrophe works
15988 \begin_inset Formula $x'+2x=0$
15991 , but in some cases this would generate a double superscript error in LaTeX.
15993 \begin_inset Formula $x^{\prime2}$
15997 \begin_inset Formula $x$
16000 prime squared) must be entered with the prime character.
16004 \labelwidthstring 00.00.0000
16012 command-sequence math-superscript; math-insert
16016 -- Insert a prime as a superscript (see example above).
16020 \labelwidthstring 00.00.0000
16029 -- Insert an upper index.
16036 \labelwidthstring 00.00.0000
16045 -- Insert a lower index.
16052 \labelwidthstring 00.00.0000
16064 -- Partial derivative symbol
16065 \begin_inset Formula $\partial$
16072 \labelwidthstring 00.00.0000
16084 -- Summation symbol
16085 \begin_inset Formula $\sum$
16088 (not the same as the Greek letter uppercase Sigma
16089 \begin_inset Formula $\Sigma$
16092 because it can resize and allows smart upper/lower limits).
16096 \labelwidthstring 00.00.0000
16109 \begin_inset Formula $\prod$
16112 (not the same as the Greek letter uppercase Pi,
16113 \begin_inset Formula $\Pi$
16120 \labelwidthstring 00.00.0000
16133 \begin_inset Formula $\infty$
16140 \labelwidthstring 00.00.0000
16153 \begin_inset Formula $\times$
16160 \labelwidthstring 00.00.0000
16170 -- Insert a stacked array
16171 \begin_inset Formula $\begin{array}{c}
16173 \end{array}\end{array}$
16177 (Frequently useful in formulae.)
16181 \labelwidthstring 00.00.0000
16192 \begin_inset Formula $\times$
16196 \begin_inset Formula $\begin{array}{ccc}
16201 (Then you can modify its size using the
16203 Edit\SpecialChar \menuseparator
16210 \labelwidthstring 00.00.0000
16223 \begin_inset Quotes eld
16227 \begin_inset Quotes erd
16231 \begin_inset Formula $\dagger$
16238 \labelwidthstring 00.00.0000
16251 \begin_inset Quotes eld
16255 \begin_inset Quotes erd
16259 \begin_inset Formula $\equiv$
16266 \labelwidthstring 00.00.0000
16278 \begin_inset Quotes eld
16281 Approximate equality
16282 \begin_inset Quotes erd
16286 \begin_inset Formula $\approx$
16293 \labelwidthstring 00.00.0000
16305 \begin_inset Quotes eld
16309 \begin_inset Quotes erd
16313 \begin_inset Formula $\sim$
16320 \labelwidthstring 00.00.0000
16332 \begin_inset Formula $\rightarrow$
16336 \begin_inset Formula $\lim_{x\rightarrow0}$
16343 \labelwidthstring 00.00.0000
16355 \begin_inset Formula $\leq$
16362 \labelwidthstring 00.00.0000
16373 -- Greater-or-equal
16374 \begin_inset Formula $\geq$
16381 \labelwidthstring 00.00.0000
16394 \begin_inset Quotes eld
16398 \begin_inset Quotes erd
16402 \begin_inset Formula $\ll$
16405 (useful in physics)
16409 \labelwidthstring 00.00.0000
16422 \begin_inset Quotes eld
16426 \begin_inset Quotes erd
16430 \begin_inset Formula $\gg$
16436 \begin_layout Subsection
16437 Standard math bindings
16441 \labelwidthstring 00.00.0000
16455 \labelwidthstring 00.00.0000
16467 \labelwidthstring 00.00.0000
16479 \labelwidthstring 00.00.0000
16493 \labelwidthstring 00.00.0000
16505 \labelwidthstring 00.00.0000
16517 \labelwidthstring 00.00.0000
16531 \labelwidthstring 00.00.0000
16543 \labelwidthstring 00.00.0000
16555 \labelwidthstring 00.00.0000
16567 \labelwidthstring 00.00.0000
16581 \labelwidthstring 00.00.0000
16595 \labelwidthstring 00.00.0000
16609 \labelwidthstring 00.00.0000
16623 \labelwidthstring 00.00.0000
16637 \labelwidthstring 00.00.0000
16651 \labelwidthstring 00.00.0000
16663 \labelwidthstring 00.00.0000
16677 \labelwidthstring 00.00.0000
16689 \labelwidthstring 00.00.0000
16701 \labelwidthstring 00.00.0000
16713 \labelwidthstring 00.00.0000
16725 \labelwidthstring 00.00.0000
16739 \labelwidthstring 00.00.0000
16751 \labelwidthstring 00.00.0000
16763 \labelwidthstring 00.00.0000
16775 \labelwidthstring 00.00.0000
16783 math-delim langle rangle
16787 \labelwidthstring 00.00.0000
16795 math-delim rangle langle
16799 \labelwidthstring 00.00.0000
16811 \labelwidthstring 00.00.0000
16825 \labelwidthstring 00.00.0000
16838 \begin_layout Subsection
16843 \labelwidthstring 00.00.0000
16853 \labelwidthstring 00.00.0000
16863 \labelwidthstring 00.00.0000
16873 \labelwidthstring 00.00.0000
16883 \labelwidthstring 00.00.0000