1 #LyX 1.6.0svn created this file. For more info see http://www.lyx.org/
8 \IfFileExists{isolatin.def}
9 {\usepackage[isolatin]{inputenc}}
10 {\usepackage[latin1]{inputenc}}
13 \inputencoding default
16 \font_typewriter default
17 \font_default_family default
23 \paperfontsize default
31 \paperorientation portrait
34 \paragraph_separation indent
36 \quotes_language english
39 \paperpagestyle headings
40 \tracking_changes false
49 Customizing LyX: Features for the Advanced User
57 \begin_layout Standard
59 Principal maintainer of this file is
64 If you have comments or error corrections, please send them to the LyX
65 Documentation mailing list, <lyx-docs@lists.lyx.org>.
73 \begin_layout Standard
74 \begin_inset LatexCommand tableofcontents
85 \begin_layout Standard
86 This manual covers the customization features present in LyX.
87 In it, we discuss issues like keyboard shortcuts, screen previewing options,
88 printer options, sending commands to LyX via the LyX Server, internationalizati
89 on, installing new LaTeX classes and LyX layouts, etc.
90 We can't possibly hope to touch on everything you can change---our developers
91 add new features faster than we can document them---but we will explain
92 the most common customizations and hopefully point you in the right direction
93 for some of the more obscure ones.
97 LyX configuration files
100 \begin_layout Standard
101 \begin_inset LatexCommand label
106 This chapter aims to help you to find your way through the LyX configuration
108 Before continuing to read this chapter, you should find out where your
109 LyX library directory is by using
114 elp\SpecialChar \menuseparator
122 This directory is the place where LyX places its system-wide configuration
123 files, and we will simply name it
127 in the remainder of this document.
131 \begin_layout Section
139 \begin_layout Standard
144 and its sub-directories contain a number of files and that can be used
145 to customise LyX's behaviour.
146 You can change many of these files from within LyX itself through the
151 ools\SpecialChar \menuseparator
159 Most customization that you might want to do to LyX is possible through
161 However, many other inner aspects of LyX can be customized by modifying
167 They fall in different categories, described in the following subsections.
170 \begin_layout Subsection
171 Automatically generated files
174 \begin_layout Standard
175 These files are generated when you configure LyX.
176 They contain various default values that are guessed by inspection.
177 In general, it is not a good idea to modify them, since they might be overwritt
182 \labelwidthstring 00.00.0000
189 contains defaults for various commands.
193 \labelwidthstring 00.00.0000
200 contains the list of packages that have been recognized by LyX.
201 It is currently unused by the LyX program itself, but the information extracted
202 , and more, is made available with
207 elp\SpecialChar \menuseparator
219 \labelwidthstring 00.00.0000
226 is the list of text classes that have been found in your
230 directory, along with the associated LaTeX document class and their description.
234 \labelwidthstring 00.00.0000
239 is automatically generated during configuration from the file
246 \begin_layout Subsection
251 \labelwidthstring 00.00.0000
258 this directory contains files with the extension
262 that define the keybindings used in LyX (see section\InsetSpace ~
264 \begin_inset LatexCommand ref
265 reference "sec:bindings"
270 If there exists an internationalized version of the bind file named
274 , that will be used first.
275 See Chapter\InsetSpace ~
277 \begin_inset LatexCommand ref
278 reference "chap:i18n"
283 \begin_inset LatexCommand ref
284 reference "sec:bindings"
292 \labelwidthstring 00.00.0000
299 contains graphics files that can be included in documents.
304 \labelwidthstring 00.00.0000
311 contains LyX documentation files (including the one you are currently reading).
316 deserves special attention, as noted above.
317 If there exists an internationalized version of the help-document with
322 prepended to the name, that will be used first.
323 See Chapter\InsetSpace ~
325 \begin_inset LatexCommand ref
326 reference "chap:i18n"
334 \labelwidthstring 00.00.0000
341 contains example files that explain how to use some features.
342 In the file browser, press the
350 \labelwidthstring 00.00.0000
355 contains image files that are used by the
360 In addition, it also contains the individual icons used in the toolbar
361 and the banners that can be shown when LyX is launched.
365 \labelwidthstring 00.00.0000
372 contains keyboard keymapping files.
373 See Chapter\InsetSpace ~
375 \begin_inset LatexCommand ref
376 reference "sec:keymap"
384 \labelwidthstring 00.00.0000
391 contains the text class files described in Chapter\InsetSpace ~
393 \begin_inset LatexCommand ref
394 reference "chap:textclass"
402 \labelwidthstring 00.00.0000
407 contains some files that demonstrate the capabilities of the
409 External\InsetSpace ~
416 \labelwidthstring 00.00.0000
421 contains the standard LyX template files described in Chapter\InsetSpace ~
423 \begin_inset LatexCommand ref
424 reference "sec:templates"
432 \labelwidthstring 00.00.0000
437 contains some LaTeX cls files distributed with LyX.
441 \labelwidthstring 00.00.0000
446 contains files with the extension
450 that define the user interface to LyX.
451 That is, the files define which items appear in which menus and the items
452 appearing on the toolbar.
453 See Chapter\InsetSpace ~
455 \begin_inset LatexCommand ref
463 \begin_layout Subsection
464 Files you don't want to modify
467 \begin_layout Standard
468 These files are used internally by LyX and you generally do not need to
469 modify them unless you are a developer.
473 \labelwidthstring 00.00.0000
480 this file contains the list of LyX developers.
481 The contents are displayed with the menu entry
486 elp\SpecialChar \menuseparator
494 \labelwidthstring 00.00.0000
501 this is a LaTeX script used during the configuration process.
506 \labelwidthstring 00.00.0000
513 this is the script that is used to re-configure LyX.
514 It creates configuration files in the directory it was run from.
517 \begin_layout Subsection
518 Other files needing a line or two...
522 \labelwidthstring 00.00.0000
527 this contains tables describing how different character encodings can be
532 \labelwidthstring 00.00.0000
537 this file contains the templates available to the new
539 External\InsetSpace ~
546 \labelwidthstring 00.00.0000
551 this file contains a list of all the languages currently supported by LyX.
554 \begin_layout Section
555 Your local configuration directory
558 \begin_layout Standard
559 Even if you are using LyX as an unprivileged user, you might want to change
560 LyX configuration for your own use.
565 directory contains all your personal configuration files.
566 This is the directory described as
567 \begin_inset Quotes eld
571 \begin_inset Quotes erd
579 elp\SpecialChar \menuseparator
584 This directory is used as a mirror of
588 , which means that every file in
592 is a replacement for the corresponding file in
597 Any configuration file described in the above sections can be placed either
598 in the system-wide directory, in which case it will affect all users, or
599 in your local directory for your own use.
602 \begin_layout Standard
603 To make things clearer, let's provide a few examples:
606 \begin_layout Itemize
607 The preferences set in the
612 ools\SpecialChar \menuseparator
619 dialog are saved to a file
630 \begin_layout Itemize
631 When you reconfigure using
636 ools\SpecialChar \menuseparator
647 and the resulting files are written in your local configuration directory
648 (see section\InsetSpace ~
650 \begin_inset LatexCommand ref
651 reference "sec:autodetected"
655 to have a list of the
659 settings affected by this section).
660 This means that any additional text class file that you might have added
665 will be added to the list of classes in the
670 ayout\SpecialChar \menuseparator
680 \begin_layout Itemize
681 Similarly, if you have installed some LaTeX document classes in your home
682 directory, that LaTeX can find with your
686 path, they will show up in your list of text classes.
690 \begin_layout Standard
691 as long as LyX or yourself have a
695 file for it, of course.
703 \begin_layout Itemize
704 If you get some updated documentation from LyX ftp site and cannot install
705 it because you do not have sysadmin rights on your system, you can just
720 \begin_layout Section
721 Running LyX with multiple configurations
724 \begin_layout Standard
725 The configuration freedom of the local configuration directory may not suffice
726 if you want to have more than one configuration at your disposal.
727 For example, you may want to be use different key bindings or printer settings
729 You can achieve this by having several such directories.
730 You then specify which directory to use at run-time.
733 \begin_layout Standard
734 Invoking LyX with the command line switch
742 instructs the program to read the configuration from that directory, and
743 not from the default directory (you can determine the default directory
744 by running LyX without this switch as described above).
745 If this directory does not exist, LyX offers to create it for you, just
746 like it does for the default directory on the first time you run the program.
747 You can modify the configuration options in this additional
751 exactly as you would for the default directory.
752 These directories are completely independent (but read on).
753 Note that setting the environment variable
757 to some value has exactly the same effect
762 \begin_layout Standard
763 Having several configurations also requires more maintenance: if you want
764 to add a new layout to
768 which you want available from all your configurations, you must add it
769 to each directory separately.
770 You can avoid this with the following trick: after LyX creates the additional
771 directory, most of the subdirectories (see above) are empty.
772 If you want the new configuration to mirror an existing one, replace the
773 empty subdirectory with a symbolic link to the matching subdirectory in
774 the existing configuration.
781 subirectory, however, since it contains a file written by the configuration
782 script (also accessible through
787 ools\SpecialChar \menuseparator
793 \begin_inset LatexCommand ref
794 reference "sec:autodetected"
800 which is configuration-specific.
803 \begin_layout Chapter
814 \begin_layout Section
815 Using the dialog for the first time
818 \begin_layout Standard
823 file will contain only changes that you have made to the default behaviour,
824 some of which is hard-coded into LyX and some of which is contained in
827 LyXDir/lyxrc.defaults
830 Note that in both files lines beginning with a
831 \begin_inset Quotes eld
839 \begin_inset Quotes erd
842 are just comments and not interpreted.
843 However, only system administrators should edit
853 ools\SpecialChar \menuseparator
860 dialog to create and modify their own
867 \begin_layout Standard
873 ools\SpecialChar \menuseparator
880 dialog will be largely self-explanatory.
881 Almost all the commands have an associated comment, so you shouldn't have
882 too much trouble modifying it to taste.
883 Before we highlight a few of the more important commands below, however,
888 ing some of your changes (e.g., screen fonts) will have an instant effect.
890 changing the bind file) will not.
891 If nothing appears to have changed, just
895 the changes and restart LyX.
898 \begin_layout Section
902 \begin_layout Standard
903 The font used to display your documents on the LyX screen is very important,
904 since you'll be reading all your documents with this font.
905 Therefore it is important that the font is as readable and good-looking
907 The LyX team tried to provide the best possible default font for you, but
908 since practically all X11 systems are different, it's likely that the default
909 fonts will be sub-optimal on your system.
910 Fortunately, you can do something about this.
911 Before we explain how to do this, you should learn a bit more about fonts
912 so that you are better prepared for choosing your fonts, because it is
913 a trade-off that is specific to your preferences and the capabilities of
917 \begin_layout Standard
918 Notice that this section only deals with the fonts on the
922 inside the LyX window.
923 The fonts that appear on the
931 are independent from these fonts, and are determined by the document class.
936 to learn how to change the font of the printed version of your document.
939 \begin_layout Standard
940 Basically, screen fonts come in two different kinds: scalable outline fonts
941 and non-scalable bitmap fonts.
942 This distinction seems a bit arbitrary, since non-scalable fonts are actually
943 scalable in most modern font renderers.
944 The difference lies in the
948 of the scaling, and the
953 The most important decision is thus whether you should use non-scalable
954 bitmap fonts or scalable outline fonts.
957 \begin_layout Standard
958 The scalable fonts are built from
962 of the single glyphs (i.e.
963 characters) in the font.
964 This means that each glyph is defined using mathematical curves that are
965 well suited for scaling to any requested size.
966 This mathematical definition is interpreted by the font renderer and turned
967 into a small picture composed of pixels according to which size and glyph,
968 the programmer requests.
969 This means that scalable fonts will look pretty good in all sizes.
970 Well, almost all sizes.
971 Since scalable fonts are defined in an abstract way, it can be hard to
972 provide a good rendering at small sizes, where each pixel has to be very
973 carefully computed to provide a good image.
974 Technically it is possible to do this from the mathematical definition,
975 but in order to keep the rendering reasonably fast, tradeoffs have to be
976 made, and the result is that scalable fonts can be difficult to read at
980 \begin_layout Standard
981 Bitmap fonts on the other hand, are defined by bitmap graphics from the
982 start, so they will look good at all the sizes they are meant for.
983 However, they don't scale well, because in order to scale a glyph, each
984 pixel is enlarged into several pixels.
985 It is the same effect that happens if you try to enlarge a picture in
989 or any other picture manipulation program.
990 In order to relieve this effect, bitmap fonts are typically provided in
991 several fixed sizes typically from around 8 pixels high up to 34 pixels
992 or so high in steps according to what is believed to be useful.
993 The advantage of bitmap fonts is that no complicated computations are necessary
994 to display each glyph, so bitmap fonts are thus faster displayed than scalable
996 The disadvantage is that sizes that don't exists as fixed versions have
997 to be scaled by doubling pixels, and thus look bad.
1000 \begin_layout Standard
1001 The net result of all this, is that bitmap fonts are generally best for
1002 the small sizes, where they are available, while scalable fonts are generally
1003 best for large sizes.
1004 The logical conclusion would thus be to use bitmap fonts for the small
1005 sizes, and scalable fonts for the large sizes.
1006 Unfortunately, this is not a good idea, since bitmap fonts and scalable
1007 fonts are not designed to be used together, so the overall look of such
1008 a scheme would be bad.
1009 The best you can do is thus to try both schemes and decide for yourself
1013 \begin_layout Standard
1014 By default, LyX uses non-scalable bitmap fonts (when using the XForms frontend).
1019 is used, for sans serif fonts,
1027 is used as the monospaced/typewriter font.
1030 \begin_layout Standard
1031 In the following, we will describe what to do if the text does not look
1033 We'll start with the most important parameters: DPI and font zoom.
1036 \begin_layout Subsection
1037 DPI setting and Font Zoom
1040 \begin_layout Standard
1041 LyX automatically tries to scale the fonts to look as close as the paper
1042 output size as possible, except for the so-called font zoom factor.
1045 \begin_layout Standard
1046 In order for this to work on all systems, it relies on the screen DPI (dots
1047 per inch) setting to be correct.
1048 The DPI setting for your system is autodetected by LyX using the information
1049 the X server can provide.
1050 You can check what LyX autodetects the DPI setting to, by running LyX as
1058 \begin_layout Standard
1059 On many systems, X is not set up correctly, so you should check that it
1062 \begin_inset Quotes eld
1070 \begin_inset Quotes erd
1073 and write down what the DPI is for the resolution you use (this will be
1074 close to the value LyX detects).
1075 It is the number mentioned as
1076 \begin_inset Quotes eld
1080 \begin_inset Quotes erd
1084 Also write down the number of pixels you have in the width (the first number
1086 \begin_inset Quotes eld
1090 \begin_inset Quotes erd
1096 \begin_layout Standard
1097 Then get the good old ruler out of the closet, and measure the width of
1098 the visible screen-image on your monitor.
1099 Convert this measurement to inches if you used a centimeter ruler by dividing
1101 Now you can determine the correct DPI setting for your screen by dividing
1102 the number of pixels in the width by the width of the screen-image on the
1104 If this number is more than, say, 5 DPI from the detected value, you should
1105 either fix the X setup, or at least tell LyX that the DPI is different
1106 than the detected value.
1109 \begin_layout Standard
1110 If you can't fix the X setup (which of course is best since other programs
1111 than LyX will benefit from this as well), you can tell LyX the correct
1119 \begin_layout Standard
1120 If the text is too small or too big for your taste, you should fiddle with
1121 the font zoom setting.
1122 This setting is used to scale the point size of the text.
1123 If your DPI setting is correct, and the font zoom setting is set to 100,
1124 this means that LyX will try to display the text exactly the same size
1125 as it will appear on the paper-output.
1126 If you set the zoom factor to 200, the text will try to be 2 times as big
1128 Of course, this will only happen if LyX can find a font that has the appropriat
1129 e size, which you can't count on.
1130 Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
1134 \begin_layout Standard
1135 The default font zoom setting is 150, since a monitor is typically wider
1136 than a piece of paper, but you should try to fiddle with it through the
1150 dialog to find a size that you like.
1151 When you've found a setting that seems to work nicely for you (tip: use
1159 button to keep the dialog open while you experiment), you can make this
1160 setting the default by using the
1170 \begin_layout Standard
1171 While it is often possible to find a suitable size for the text on the screen,
1172 this doesn't necessarily mean that the fonts are the best ones available
1174 In order to help you get the most out of your system, you can use the font
1175 definition commands to fine-tune the look of the text in greater detail
1179 \begin_layout Subsection
1180 Font definition commands
1183 \begin_layout Standard
1184 As mentioned, LyX uses non-scalable bitmap fonts by default with the XForms
1190 is used, for sans serif fonts,
1198 is used as the monospaced/typewriter font.
1201 \begin_layout Standard
1202 You can change all of these from within the
1207 The number of fonts that are available on different systems vary, but the
1212 should be available everywhere.
1213 Use that program to find candidate fonts.
1214 When you've found a font that you like, try to insert the first two elements
1216 \begin_inset Quotes eld
1220 \begin_inset Quotes erd
1224 \begin_inset Quotes eld
1228 \begin_inset Quotes erd
1235 ) in the appropriate field in the
1247 LyX will then reformat your document using the new font, and if you like
1248 the font, you should
1256 One place to start for a new font is to see if the scalable font
1257 \begin_inset Quotes eld
1261 \begin_inset Quotes erd
1265 Tip: You can see whether a font is a bitmap font or a scalable font by
1267 \begin_inset Quotes eld
1271 \begin_inset Quotes erd
1275 \begin_inset Quotes eld
1279 \begin_inset Quotes erd
1287 If the value 0 is available, the font is scalable.
1288 If the value 0 isn't available, the font is a bitmap font.
1291 \begin_layout Standard
1292 Before you go about scrapping a bitmap font because the larger sizes look
1294 \begin_inset Quotes eld
1298 \begin_inset Quotes erd
1301 , you should toggle the
1302 \begin_inset Quotes eld
1306 \begin_inset Quotes erd
1310 This is only useful if you use bitmap fonts, because only these don't scale
1312 If you define this flag, LyX will only use the fixed font sizes that are
1313 available, and this guarantees that all bitmap fonts look well.
1314 (You can see which individual font sizes are available with the
1323 .) However, the prize is that the difference between the size of the fonts
1324 on screen and the size of fonts on paper will be larger because LyX will
1325 have to be satisfied with the closest available size, and not try to scale
1327 Also, you can risk that some logically different sizes, such as
1335 , will be mapped to the same screen font, making it hard for you to see
1336 the difference on screen.
1337 We've decided not to use scalable fonts by default because of these artifacts,
1338 but since LyX is a WYSIWYM system, many people like to use the flag anyways,
1339 well-knowing that the font size on the screen can't be trusted.
1340 But remember that this flag only makes a difference when you use bitmap
1342 Scalable fonts won't be affected for reasons you should understand by now.
1345 \begin_layout Standard
1346 One final note regarding this flag: you should know that there is nothing
1347 wrong with using bitmap and scalable fonts at the same time for different
1349 For instance, it's common to use the scalable
1350 \begin_inset Quotes eld
1354 \begin_inset Quotes erd
1357 for the serif text together with a bitmap version of
1358 \begin_inset Quotes eld
1362 \begin_inset Quotes erd
1366 And you can safely select the
1367 \begin_inset Quotes eld
1371 \begin_inset Quotes erd
1374 button without worries: It will only apply to the Helvetica font.
1377 \begin_layout Standard
1378 Sometimes the artifacts introduced by use of the flag can be relieved by
1379 using the fine-detail screen font sizes which defines which point sizes
1380 the different logical font sizes correspond to.
1385 to see exactly what concrete fonts the logical sizes map to, and try adjusting
1386 the corresponding entries in the
1390 dialog until you've managed to hit the nail and get the fonts you want.
1391 This can be hard to do, because LyX uses the DPI setting and the font zoom
1392 settings to calculate which exact screen font size to ask the X server
1393 for, thus obfuscating the mapping.
1394 If you can't make it by trial-and-error, you can make the process more
1395 transparent if you set both the DPI setting and font zoom settings to 100---eve
1396 n when this is known to be wrong.
1397 This will of course make your scalable fonts look weird, so use with care.
1400 \begin_layout Subsection
1404 \begin_layout Standard
1405 By default, LyX will use fonts meant to write Western European text, including
1406 all kinds of English.
1407 This is defined through the so-called
1416 If you want to use LyX to write for instance Eastern European text, Cyrillic
1417 or any other language not covered by the ISO-8859-1 font encoding, you
1418 can define a different one with the encoding setting.
1419 This requires you to have special fonts installed.
1424 to see whether this is the case: check the
1425 \begin_inset Quotes eld
1429 \begin_inset Quotes erd
1433 \begin_inset Quotes eld
1437 \begin_inset Quotes erd
1440 fields for ISO-8859-X values different from ISO-8859-1, and search for
1441 one that contains the national characters of your language.
1442 If you find any, enter this encoding in the dialog.
1443 If not, go searching the Web for appropriate fonts.
1444 For the Qt frontend, it's recommended you use an iso646 font set.
1447 \begin_layout Standard
1448 When you've set LyX up to use a different font encoding, you should also
1449 consider changing the font used by dialog windows in LyX.
1456 dialog will not be understandable unless you tell LyX to use a different
1458 By default the menu font is set to
1460 -*-helvetica-medium-r
1462 , but often Helvetica is not available in the font encoding you need, so
1463 the dialog allows this to be changed.
1466 \begin_layout Standard
1467 As you can see, there are quite a few options that can be used to fine tune
1468 the look of your fonts.
1469 This should not scare you from fiddling with the settings, because after
1470 all, you will hopefully be using LyX for many hours in the future.
1471 And contrary to real WYSIWYG word processors where you are tied to using
1472 fonts that have to look good both on paper and on screen, LyX gives you
1473 the possibility of using fonts that are designed to look good on the screen
1474 while using a different set of fonts to look good on paper.
1477 \begin_layout Section
1479 \begin_inset LatexCommand label
1487 \begin_layout Standard
1488 Bindings are used to, well, bind a function to a key.
1489 Several prepackaged binding files are available: a CUA set of bindings
1490 (familiar as the typical set of PC and CDE set of keyboard shortcuts),
1491 an Emacs set of bindings, for those of us who follow the One True Way and
1492 refuse to lower our standards,
1496 \begin_layout Standard
1497 I'm kidding here, of course!
1502 as well as specialty bindings (broadway and hollywood) and other languages
1503 (French, German, etc.).
1506 \begin_layout Standard
1507 If, however, you'd like to customise the keybindings to your own exacting
1508 tastes, then copy the best-fit file in
1517 Don't forget to load this new file into LyX using the
1522 (For the moment you'll have to restart LyX for these changes to take effect.)
1525 \begin_layout Standard
1526 LyX supports internationalization of the user interface (see Chapter\InsetSpace ~
1528 \begin_inset LatexCommand ref
1529 reference "chap:i18n"
1538 is set, with the environment variable
1542 , LyX will try to use bindfiles by prepending
1547 For example, you can put a translated copy of some standard bind file in
1552 directory, and LyX will use it automatically.
1555 \begin_layout Standard
1560 files is straightforward:
1563 \begin_layout Standard
1568 bind <key combination> <lyx-function>
1571 \begin_layout Standard
1572 Both key combination and lyx-function (including any arguments) must be
1573 enclosed in "double quotes".
1574 All the LyX functions are listed in the
1581 \begin_layout Section
1583 \begin_inset LatexCommand label
1591 \begin_layout Standard
1592 The appearance of both the menu and toolbar may both be changed using the
1607 For the moment, only one file exists,
1611 , but feel free to experiment.
1612 Just copy the file to the
1616 directory and play! Note that, for the moment, you'll have to restart LyX
1617 for these changes to take effect.
1620 \begin_layout Standard
1625 files is straightforward: have a look at
1638 entries must be ended with an explicit
1663 s and in the case of the
1664 \begin_inset Quotes eld
1668 \begin_inset Quotes erd
1676 One small word of warning.
1681 s may be inserted in a
1689 , but they are defined as
1700 \begin_layout Section
1701 \begin_inset LatexCommand label
1702 name "sec:converters-etc"
1706 Converters, Formats, and Copiers
1709 \begin_layout Standard
1710 LyX has a powerful mechanism to convert to and from any file format using
1715 \begin_layout Subsection
1719 \begin_layout Standard
1720 The first step is to define your file formats if they are not already defined.
1723 Tools\SpecialChar \menuseparator
1724 Preferences:Converters
1727 Enter a new format name; a new GUI name (used in e.\InsetSpace \thinspace{}
1737 menus); and a file extension.
1742 \begin_layout Standard
1747 option tells LyX that a format is suitable for document export.
1748 If this is is set and if a suitable conversion route exists, the format
1751 File\SpecialChar \menuseparator
1755 The format will also appear in the
1759 menu if it has a specified viewer.
1760 Pure image formats, e.\InsetSpace \thinspace{}
1766 , should not use this option.
1767 Formats that can both represent vector graphics and documents like e.\InsetSpace \thinspace{}
1776 \begin_layout Standard
1779 Vector graphics format
1781 tells LyX that a format can contain vector graphics.
1782 This information is used to determine the target format of included graphics
1788 Included graphics may need to be converted to either
1804 cannot handle other image formats.
1805 If an included graphic is not already in
1817 format, it is converted to
1821 if the vector format option is set, and otherwise to
1828 \begin_layout Standard
1829 A Format can have a Viewer and Editor program associated with it.
1830 For example, you might want to use
1834 to view PostScript files.
1835 You can enter the program call and its options to the corresponding fields.
1836 For the call you can use the four variable listed in the next section.
1837 The viewer is launched when you view an image in LyX or use the
1842 If the operating system has a default viewer associated to a format, this
1843 viewer is used instead of the one defined here when you enter in the Viewer
1845 \begin_inset Quotes eld
1853 \begin_inset Quotes erd
1857 The editor is for example launched when you press the
1872 \begin_layout Subsection
1876 \begin_layout Standard
1877 Each format can have a Copier associated with it.
1878 These are defined in the
1880 Tools\SpecialChar \menuseparator
1884 Since all conversions from one format to another take place in LyX's temporary
1885 directory, it is sometimes necessary to modify a file before copying it
1886 to the temporary directory in order that the conversion may be performed.
1890 \begin_layout Standard
1891 For example, the file may refer to other files---images, for example---using
1892 relative filenames, and these may become invalid when the file is copied
1893 to the temporary directory.
1898 This is done by the Copier: It copies a file to (or from) the temporary
1899 directory and may modify it in the process.
1902 \begin_layout Standard
1903 Copiers may also be used for other purposes.
1904 For example, if appropriate converters are found, LyX will automatically
1905 install copiers for the
1915 When these formats are exported, the copier sees that not just the main
1916 HTML file but various associated files (style files, images, etc.) are also
1918 All these files are written to a subdirectory of the directory in which
1919 the original LyX file was found.
1922 \begin_layout Standard
1923 Copier can of course be customized.
1925 \begin_inset Quotes eld
1929 \begin_inset Quotes erd
1932 argument takes a comma-separated list of extensions to be copied; if it
1933 is omitted, all files will be copied.
1935 \begin_inset Quotes eld
1939 \begin_inset Quotes erd
1942 argument determines the extension added to the generated directory.
1944 \begin_inset Quotes eld
1952 \begin_inset Quotes erd
1955 , so HTML generated from
1957 /path/to/filename.lyx
1961 /path/to/filename.html.LyXconv
1967 \begin_layout Standard
1968 The definitions of the copiers may use four variables:
1972 \labelwidthstring 00.00.0000
1973 $$s The LyX system directory (e.\InsetSpace \thinspace{}
1983 \labelwidthstring 00.00.0000
1988 \labelwidthstring 00.00.0000
1993 \labelwidthstring 00.00.0000
1994 $$l The `LaTeX name'
1997 \begin_layout Standard
1998 The latter is to be given in a form suitable for inclusion in a LaTeX's
2005 command and is relevant only when exporting files suitable for such inclusion.
2008 \begin_layout Subsection
2012 \begin_layout Standard
2013 To define a new converter, select an existing one, select a different format
2019 and\InsetSpace \thinspace{}
2020 /\InsetSpace \thinspace{}
2026 drop-down list, modify the
2030 field, and press the
2037 \begin_layout Standard
2038 You do not have to define converters between all the formats between which
2039 you want to convert.
2040 For example, you will note that there is no `LyX to PostScript' converter,
2041 but LyX will export PostScript.
2042 It does so by first creating a LaTeX file (no converter needs to be defined
2043 for this) which is then converted to DVI using the `LaTeX to DVI' converter,
2044 and finally converts the resulting DVI file to PostScript.
2045 LyX finds such `chains' of converters automatically, and it will always
2046 choose the shortest possible chain.
2047 You can, though, still define multiple conversion methods between file
2049 For example, the standard LyX configuration provides three ways to convert
2050 LaTeX to PDF: Directly, using
2054 ; via (DVI and) PostScript, using
2063 To define such alternate chains, you must define multiple target `file
2064 formats', as described in the next section.
2065 For example in the standard configuration the formats named
2077 are defined, all of which share the extension
2084 \begin_layout Standard
2085 Several variables can be used in the definition of converters:
2089 \labelwidthstring 00.00.0000
2090 $$s The LyX system directory
2094 \labelwidthstring 00.00.0000
2099 \labelwidthstring 00.00.0000
2104 \labelwidthstring 00.00.0000
2105 $$b The base filename of the input file
2109 \labelwidthstring 00.00.0000
2110 $$p The path to the input file
2113 \begin_layout Standard
2119 field you can enter the following flags, separated by commas:
2123 \labelwidthstring 00.00.0000
2124 latex This converter runs some form of LaTeX.
2125 This will make LyX's LaTeX error logs available.
2129 \labelwidthstring 00.00.0000
2130 needaux Needs the LaTeX
2134 file for the conversion.
2138 \labelwidthstring 00.00.0000
2142 \begin_layout Standard
2143 The following three flags are not really flags at all because they take
2154 \labelwidthstring 00.00.0000
2155 parselog If set, the converter's standard error will be redirected to a
2160 , and the script given as argument will be run as:
2162 script <infile.out >infile.log
2165 The argument may contain $$s.
2169 \labelwidthstring 00.00.0000
2170 resultdir The name of the directory in which the
2174 will dump the generated files.
2175 LyX will not create this directory, and it does not copy anything into
2176 it, though it will copy this directory to the destination.
2177 The argument may contain $$b, which will be replaced by the basename of
2178 the input and output files, respectively, when the directory is copied.
2181 that resultdir and usetempdir make no sense together.
2182 The latter will be ignored if the former is given.
2186 \labelwidthstring 00.00.0000
2187 resultfile Determines the output filename and may, contain $$b.
2188 Sensible only with resultdir, and optional even then; if not given, it
2189 defaults to `index'.
2192 \begin_layout Standard
2193 None of these last three are presently used in any of the converters that
2194 are installed with LyX.
2196 \begin_inset LatexCommand ref
2197 reference "sub:LyX-and-Literate"
2201 of the Extended Features guide for some examples of how you might use parselog.
2204 \begin_layout Section
2205 BibTeX and makeindex
2208 \begin_layout Standard
2209 Both the bibliography generating command (default
2213 ) and the index generating command (default
2226 As an alternative for
2238 \begin_layout Standard
2239 The command to enter is
2245 makeindex.sh -m $$lang
2248 \begin_layout Standard
2249 where the placeholder
2253 will be replaced by the chosen document (babel) language.
2257 \begin_layout Standard
2258 have installed the packages
2275 at a shell prompt for a help page.
2278 \begin_layout Section
2279 Plain text export options
2282 \begin_layout Standard
2283 \begin_inset VSpace bigskip
2289 \begin_layout Standard
2291 There are a couple of commands that can be used to
2292 \begin_inset Quotes eld
2296 \begin_inset Quotes erd
2299 exported plain text files.
2300 Note that LyX automatically detects and uses the best settings for your
2301 system at installation time, but you can modify them if you disagree with
2305 \begin_layout Description
2309 Plain text\InsetSpace ~
2313 This option defines the command used to produce better plain text tables
2318 UNIX-commands (refer to their manpages for more information about them).
2319 Setting this as empty tells LyX to use the internal (inferior) formatter.
2322 \begin_layout Description
2326 Plain text\InsetSpace ~
2331 With this command you can set the default line length of the plain text
2333 Setting it to 0 means endless lines.
2336 \begin_layout Section
2340 \begin_layout Standard
2341 There are a bunch of configuration options that are used for interaction
2342 with the external print command from LyX.
2343 Normally the defaults are fine: if, however, your print command takes different
2344 option names, you can modify them here.
2347 \begin_layout Subsection
2351 \begin_layout Standard
2352 You can change the colors used by LyX on-screen using the new
2357 Alternatively, if you're feeling particularly perverse you could use the
2362 bindable function (see the
2367 Input would have the format:
2370 \begin_layout Standard
2373 set-color LyXName X11Color
2376 \begin_layout Standard
2377 Here is a (partial) list of the functions and default colors:
2380 \begin_layout Standard
2382 \begin_inset Tabular
2383 <lyxtabular version="3" rows="10" columns="3">
2385 <column alignment="left" valignment="top" leftline="true" width="0pt">
2386 <column alignment="left" valignment="top" leftline="true" width="0pt">
2387 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
2388 <row topline="true" bottomline="true">
2389 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2392 \begin_layout Standard
2407 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2410 \begin_layout Standard
2425 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2428 \begin_layout Standard
2444 <row topline="true">
2445 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2448 \begin_layout Standard
2463 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2466 \begin_layout Standard
2481 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2484 \begin_layout Standard
2500 <row topline="true">
2501 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2504 \begin_layout Standard
2519 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2522 \begin_layout Standard
2537 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2540 \begin_layout Standard
2556 <row topline="true">
2557 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2560 \begin_layout Standard
2575 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2578 \begin_layout Standard
2593 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2596 \begin_layout Standard
2612 <row topline="true">
2613 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2616 \begin_layout Standard
2631 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2634 \begin_layout Standard
2649 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2652 \begin_layout Standard
2668 <row topline="true">
2669 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2672 \begin_layout Standard
2687 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2690 \begin_layout Standard
2700 fraction Lines, brackets, etc.
2705 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2708 \begin_layout Standard
2724 <row topline="true">
2725 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2728 \begin_layout Standard
2743 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2746 \begin_layout Standard
2752 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2755 \begin_layout Standard
2771 <row topline="true">
2772 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2775 \begin_layout Standard
2790 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2793 \begin_layout Standard
2799 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2802 \begin_layout Standard
2818 <row topline="true">
2819 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2822 \begin_layout Standard
2837 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2840 \begin_layout Standard
2846 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2849 \begin_layout Standard
2865 <row topline="true" bottomline="true">
2866 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2869 \begin_layout Standard
2884 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2887 \begin_layout Standard
2897 selection background
2902 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2905 \begin_layout Standard
2928 \begin_layout Section
2929 The autodetected settings
2932 \begin_layout Standard
2933 \begin_inset LatexCommand label
2934 name "sec:autodetected"
2938 There are several items that are detected for you when you run
2945 \SpecialChar \menuseparator
2951 In this section, we list those which pertain to the user preferences.
2954 \begin_layout Description
2960 plaintext_roff_command
2975 , depending on what is available.
2978 \begin_layout Description
2991 plus a bunch of options.
2994 \begin_layout Description
3007 on systems (so-called System V) who have this command, and
3011 otherwise (BSD systems).
3014 \begin_layout Description
3020 print_spool_printerprefix
3031 , depending on whether
3042 \begin_layout Description
3059 fonts are found and LaTeX has support for these fonts built-in.
3060 You can set it manually if you only have the so-called
3067 \begin_layout Section
3071 \begin_layout Standard
3072 There are many other configuration options that can be used to customize
3074 We still need to document them here, but again, most should be fairly obvious.
3075 Please ask on the mailing lists if you need some more information; it may
3076 even prompt us to expand this section.
3079 \begin_layout Chapter
3080 Internationalizing LyX
3081 \begin_inset LatexCommand label
3089 \begin_layout Standard
3090 LyX supports using a translated interface.
3091 Last time we checked, LyX provided text in 14 languages together with the
3092 default English text.
3093 The language of choice is called your
3098 (For further reading on locale settings, see also the documentation for
3099 locale that comes with your operating system.
3100 For Linux, the manual page for locale(5) could be a good place to start).
3103 \begin_layout Standard
3104 Notice that these translations will work, but do contain a few flaws.
3105 In particular, all dialogs have been designed with the English text in
3106 mind, which means that some of the translated text will be too large to
3107 fit within the space allocated.
3108 This is only a display problem and will not cause any harm.
3109 Also, you will find that some of the translations do not define short-cut
3110 keys for everything.
3111 Sometimes, there are simply not enough free letters to do it.
3112 Other times, the translator just hasn't got around to doing it yet.
3113 Our localization team -- which you may wish to join -- will try to fix
3114 these shortcomings in future versions of LyX.
3117 \begin_layout Section
3118 Selecting an alternative language for the user interface
3121 \begin_layout Standard
3122 This feature is disabled by default, meaning that system default language
3124 To enable an alternative language, you have to set an appropriate environment
3132 for csh class shells
3147 with the two letter code (or four letter code, like
3151 for British English) for the language you want.
3157 Besides the user interface texts being translated, also the appropriate
3158 manuals will be presented under the Help menu -- if available.
3161 \begin_layout Standard
3162 On some systems, you may have to redefine
3174 , to override the system settings; their preference is in this order
3178 \begin_layout Standard
3179 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
3185 , which corresponds to the way GNU
3190 Consult your system documentation.
3191 Normally, you'll want to put the appropriate line in a shell script run
3192 on start-up, so that the translation is on by default.
3193 Remember that this affects
3197 localized packages, not only LyX!
3200 \begin_layout Standard
3201 If LyX is configured and compiled with
3202 \begin_inset Quotes eld
3210 \begin_inset Quotes erd
3213 , this mechanism will not work.
3216 \begin_layout Section
3220 \begin_layout Subsection
3221 Translating the graphical user interface (text messages).
3224 \begin_layout Standard
3229 library to handle the internationalization of the interface.
3230 To have LyX speak your favorite language in all menus and dialogs, you
3235 -file for that language.
3236 When this is available, you'll have to generate a mo-file from it and install
3242 The process of doing all of this is explained in the documentation for
3247 , but in short, this is what you do (
3251 denotes the language code):
3254 \begin_layout Standard
3258 \begin_layout Standard
3270 \begin_layout Itemize
3273 LYX-SOURCE-DIR/po/lyx.pot
3286 doesn't exist, it can be remade with
3290 in that directory, or you can use an existing po-file for some other language
3294 \begin_layout Itemize
3301 \begin_layout Standard
3302 We recommend that you use Emacs to do this, since the
3306 distribution includes a nice mode that supports you in doing this.
3314 For some menu- and widget-labels, there are also shortcut keys that should
3316 Those keys are marked after a `|', and should be translated according to
3317 the words and phrases of the
3322 There is a tool named
3326 written in Prolog in
3328 LYX-SOURCE-DIR/development/tools/
3330 that may be useful to help determine short-cut keys.
3331 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
3332 characters as shortcut keys.
3333 You should also fill also out the information at the beginning of the new
3338 -file with your email-address, etc., so people know where to reach you with
3339 suggestions and entertaining flames.
3342 \begin_layout Itemize
3351 This can be done with
3372 \begin_layout Itemize
3377 -file to your locale-tree, at the correct directory for application messages
3382 , and under the name
3391 /usr/local/share/locale/
3402 \begin_layout Standard
3406 \begin_layout Standard
3418 \begin_layout Standard
3419 Adding a new po-file to the
3423 of LyX involves altering the configure scripts and more, but the way
3427 works, you don't actually need the source-code of LyX to translate it---having
3443 \begin_layout Standard
3444 If you've written a translation file for a language that LyX does not currently
3445 support, feel free to submit it for inclusion by sending a patch.
3446 In this case, we recommend that you read the
3454 directory for more instructions.
3457 \begin_layout Subsubsection
3461 \begin_layout Standard
3462 Sometimes it turns out that one english message needs to be translated into
3463 different messages in the target language.
3464 One example is the message
3468 which has the german translation
3485 does not handle such ambigous translations.
3486 Therefore you have to add some context information to the message: Instead
3493 To[[as in 'From format x to format y']]
3497 To[[as in 'From page x to page y']].
3500 Now the two occurences of
3508 and can be translated correctly to
3523 \begin_layout Standard
3524 Of course the context information needs to be stripped off the original
3525 message when no translation is used.
3526 Therefore you have to put it in double square brackets at the end of the
3527 message (see the example above).
3528 The translation mechanism of LyX ensures that everything in double square
3529 brackets at the end of messages is removed before displaying the message.
3532 \begin_layout Subsection
3533 Translating the documentation.
3536 \begin_layout Standard
3537 The online documentation (in the
3544 -menu) can (and should!) be translated.
3545 If there are translated versions of the documentation available
3549 \begin_layout Standard
3550 As of February 2003, almost all of the docs have been translated into German
3556 has been translated into at least 12 other languages, with other translations
3558 The library of translated documents is growing rapidly.
3563 , and the locale is set accordingly, these will be used automagically by
3565 LyX looks for translated versions as
3579 denotes the language as set by the environmental variable
3584 If there are none, the default English versions will be displayed.
3585 Note that the translated versions must have the same filenames (
3589 above) as the original.
3590 If you feel up to translating the documentation (an excellent way to proof-read
3591 the original documentation BTW!), there are a few things you should do
3595 \begin_layout Itemize
3600 , the guide to writing LyX documentation.
3601 Pay special attention to the translator's section.
3604 \begin_layout Itemize
3605 Check out the documentation translation web page at
3606 \begin_inset LatexCommand url
3607 name "The LyX Developer's Web Site"
3608 target "http://www.devel.lyx.org"
3613 That way, you can find out which (if any) documents have already been translate
3614 d into your language.
3615 You can also find out who (if anyone) is organizing the effort to translate
3616 the documentation into your language.
3617 If no one is organizing the effort, please let us know that you're interested.
3620 \begin_layout Standard
3621 Once you get to actually translating, here's a few hints for you that may
3625 \begin_layout Itemize
3626 Join the documentation team! There is information on how to do that in
3635 elp\SpecialChar \menuseparator
3642 ), which by the way is the first document you should translate.
3645 \begin_layout Itemize
3646 Learn the typographic conventions for the language you are translating to.
3647 Typography is an ancient art and over the centuries, a great variety of
3648 conventions have developed throughout different parts of the world.
3649 Also study the professional terminology amongst typographers in your country.
3650 Inventing your own terminology will only confuse the users.
3653 (Warning! Typography is addictive!)
3656 \begin_layout Itemize
3657 Make a copy of the document.
3658 This will be your working copy.
3659 You can use this as your personal translated help-file by placing it in
3667 \begin_layout Itemize
3668 Sometimes the original document (from the LyX-team) will be updated.
3669 Use the ViewCVS tool available at
3670 \begin_inset LatexCommand htmlurl
3671 target "http://www.lyx.org/viewcvs.cgi/lyxdoc/"
3675 to see what has been changed
3679 \begin_layout Standard
3680 Alternatively, you can keep a copy of the latest version of the English
3681 document which you've translated.
3687 That way you can easily see which parts of the translated document need
3691 \begin_layout Itemize
3692 If you ever find an error in the original document, fix it and notify the
3693 rest of the documentation team of the changes! (You didn't forget to join
3694 the documentation team did you?)
3697 \begin_layout Section
3698 International Keyboard Support
3701 \begin_layout Standard
3704 [Editor's Note: The following section is by
3712 It needs to be fixed to conform to the new Documentation Style sheet and
3713 to make use of the new v1.0 features.
3714 The whole thing also needs to be merged with the section following it.-jw]
3717 \begin_layout Subsection
3718 Defining Own Keymaps: Keymap File Format
3721 \begin_layout Standard
3722 Let's look at a keyboard definition file a little closer.
3723 It is a plain text file defining
3726 \begin_layout Itemize
3727 key-to-key or key-to-string translations
3730 \begin_layout Itemize
3734 \begin_layout Itemize
3735 dead keys exceptions
3738 \begin_layout Standard
3739 To define key-to-key or key-to-string translation, use this command:
3742 \begin_layout Quotation
3758 \begin_layout Standard
3763 is the key to be translated and
3767 is the string to be inserted into the document.
3768 To define dead keys, use:
3771 \begin_layout Quotation
3787 \begin_layout Standard
3797 The following dead keys are supported (shortcut name is in parentheses):
3800 \begin_layout Quotation
3808 \begin_layout Quotation
3814 \begin_layout Quotation
3820 \begin_layout Quotation
3826 \begin_layout Quotation
3832 \begin_layout Quotation
3839 \begin_layout Standard
3851 \begin_layout Quotation
3857 \begin_layout Quotation
3864 \begin_layout Standard
3876 \begin_layout Quotation
3882 \begin_layout Quotation
3888 \begin_layout Quotation
3895 \begin_layout Standard
3907 \begin_layout Quotation
3914 \begin_layout Standard
3926 \begin_layout Quotation
3932 \begin_layout Quotation
3933 hungarian umlaut (hug)
3938 \begin_layout Quotation
3944 \begin_layout Quotation
3951 \begin_layout Standard
3963 \begin_layout Standard
3964 Since in many international keyboards there are exceptions to what some
3965 dead keys should do, you can define them using
3968 \begin_layout Quotation
3977 deadkey key outstring
3980 \begin_layout Standard
3981 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3985 \begin_layout Quotation
3999 \begin_layout Standard
4000 to make it work correctly.
4001 Also, you have to define as exceptions dead keys over i and j, to remove
4002 the dot from them before inserting an accent mark.
4003 I will change this when the time comes, but so far I haven't had time.
4006 \begin_layout Standard
4007 Oh, and about characters: backslash is escaped, so to enter it, you'll need
4013 have different meaning.
4018 marks comments, quotes start and end LaTeX-style commands.
4019 To enter quote, you'll need to use
4038 \begin_layout Standard
4039 If you make a keyboard description file that works for your language, please
4040 mail it to me, so I can include it in the next keymap distribution.
4043 \begin_layout Standard
4044 More keywords will be supported in keymap configuration file in future,
4048 \begin_layout Itemize
4066 \begin_layout Itemize
4081 an external keymap translation program
4084 \begin_layout Standard
4085 Also, it should look into
4089 file for defaults, too (for example, a
4095 option to include default keyboard).
4098 \begin_layout Section
4099 International Keymap Stuff
4100 \begin_inset LatexCommand label
4108 \begin_layout Standard
4109 The next two sections describe the
4121 file syntax in detail.
4122 These sections should help you design your own key map if the ones provided
4123 do not meet your needs.
4126 \begin_layout Subsection
4130 \begin_layout Standard
4139 file maps keystrokes to characters or strings.
4140 As the name suggests it sets a keyboard mapping.
4165 are described in this section.
4169 \labelwidthstring 00.00.0000
4176 Map a character to a string
4179 \begin_layout LyX-Code
4194 \begin_layout Standard
4227 the double-quote (")
4244 must be escaped with a preceding backslash (
4255 \begin_layout Standard
4262 statement to cause the symbol
4268 to be output for the keystroke
4277 \begin_layout LyX-Code
4284 \labelwidthstring 00.00.0000
4291 Specify an accent character
4294 \begin_layout LyX-Code
4303 \begin_layout Standard
4304 This will make the cha
4342 This is the dead key
4346 \begin_layout Standard
4353 refers to a key that does not produce a character by itself, but when followed
4354 with another key, produces the desired accent character.
4355 For example, a German characte
4357 r with an umlaut like
4367 can be produced in this manner.
4376 \begin_layout Standard
4389 and then another key not in
4406 followed by the other, unallowed key, as output.
4415 cancels a dead key, so if
4432 , the cursor will not go one position backwards but will instead cancel
4449 might have had on the next keystroke.
4453 \begin_layout Standard
4454 The following example specifies that the character ' is to be an acute accent,
4455 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4458 \begin_layout LyX-Code
4461 kmod ' acute aeiouAEIOU
4465 \labelwidthstring 00.00.0000
4470 Specify an exception to the accent character
4473 \begin_layout LyX-Code
4482 \begin_layout Standard
4483 This defines an exce
4524 have been assigned a keystroke with a previous
4547 must not belong in the
4599 If such a declaration does not exist in
4655 \begin_layout Standard
4656 The following command produces causes äi to be produced when you enter acute-i
4660 \begin_layout LyX-Code
4675 \labelwidthstring 00.00.0000
4680 Combine two accent characters
4683 \begin_layout LyX-Code
4689 accent1 accent2 allowed
4692 \begin_layout Standard
4693 This one is getting pretty esoteric.
4694 It allows you to combine the effect
4775 \begin_layout Standard
4776 Consider this example from the
4785 \begin_layout LyX-Code
4788 kmod ; acute aeioyvhAEIOYVH
4792 kcomb acute umlaut iyIY
4795 \begin_layout Standard
4796 This allows you to press
4802 and get the effect of
4819 in this case cancels the last dead key, so if you press
4836 \begin_layout Subsection
4840 \begin_layout Standard
4847 mapping is performed, a
4854 file maps the strings that the symbols generate to characters in the current
4856 The LyX distribution currently includes at least the
4871 \begin_layout Standard
4878 file is a sequence of declarations of the form
4881 \begin_layout LyX-Code
4894 \begin_layout Standard
4895 For example, in order to map
4903 to the corresponding character in the iso-8859-1 set (233), the following
4907 \begin_layout LyX-Code
4915 \begin_layout Standard
4938 the same character can apply to more than one string.
4949 \begin_layout LyX-Code
4975 \begin_layout Standard
4976 If LyX cannot find a mapping for the string produced by the keystroke or
4977 a deadkey sequence, it will check if it looks like an accented char and
4978 try to draw an accent over the character on screen.
4981 \begin_layout Subsection
4985 \begin_layout Standard
4986 There is a second way to add support for international characters through
4987 so-called dead-keys.
4988 A dead-key works in combination with a letter to produce an accented character.
4989 Here, we'll explain how to create a really simple dead-key to illustrate
4993 \begin_layout Standard
4994 Suppose you happen to need the circumflex character,
4995 \begin_inset Quotes eld
4999 \begin_inset Quotes erd
5007 -key [a.k.a.\InsetSpace ~
5012 ] to the LyX command
5021 Now, whenever you type the
5025 -key followed by a letter, that letter will have a circumflex accent on
5027 For example, the sequence
5028 \begin_inset Quotes eld
5036 \begin_inset Quotes erd
5039 produces the letter:
5040 \begin_inset Quotes eld
5044 \begin_inset Quotes erd
5048 If you tried to type
5049 \begin_inset Quotes eld
5057 \begin_inset Quotes erd
5060 , however, LyX will complain with a beep, since a
5061 \begin_inset Quotes eld
5069 \begin_inset Quotes erd
5072 never takes a circumflex accent.
5077 after a dead-key produces the bare-accent.
5078 Please note this last point! If you bind a key to a dead-key, you'll need
5079 to rebind the character on that key to yet another key.
5084 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
5087 \begin_layout Standard
5088 One common way to bind dead-keys is to use
5100 in combination with an accent, like
5101 \begin_inset Quotes eld
5109 \begin_inset Quotes erd
5113 \begin_inset Quotes eld
5121 \begin_inset Quotes erd
5125 \begin_inset Quotes eld
5133 \begin_inset Quotes erd
5137 Another way involves using
5145 [remember them from section?] to set up the special
5154 acts in some ways just like
5158 and permits you to bind keys to accented characters.
5159 You can also turn keys into dead-keys by binding them to something like
5164 and then binding this symbolic key to the corresponding LyX command.
5168 \begin_layout Standard
5173 : This is exactly what I do in my
5191 and a bunch of these
5192 \begin_inset Quotes eld
5200 \begin_inset Quotes erd
5203 symbolic keys bound such things as
5214 This is how I produce my accented characters.
5219 You can make just about anything into the
5227 keys, a spare function key, etc.
5228 As for the LyX commands that produce accents, check the entry for
5237 You'll find the complete list there.
5240 \begin_layout Subsection
5241 Saving your Language Configuration
5244 \begin_layout Standard
5245 \begin_inset LatexCommand label
5250 You can edit your preferences so that your desired language environment
5251 is automatically configured when LyX starts up, via the
5256 dit\SpecialChar \menuseparator
5266 \begin_layout Chapter
5267 Installing New Document Classes, Layouts, and Templates
5268 \begin_inset LatexCommand label
5269 name "chap:textclass"
5277 \begin_layout Standard
5278 Installing New Document Classes
5286 \begin_layout Standard
5287 In this chapter, we describe the procedures for creating and installing
5288 new LyX layout and template files, as well as offer a refresher on correctly
5289 installing new LaTeX document classes.
5290 Some definitions: a document class is a LaTeX file (usually ending in
5298 ) which describes the format of a document such as an article, report, journal
5300 and all the commands needed to realize that format.
5301 A layout file is a LyX file which corresponds to a LaTeX document class
5302 and which tells LyX how to
5303 \begin_inset Quotes eld
5307 \begin_inset Quotes erd
5310 things on the screen to make the display look something like the final
5312 More precisely, a layout file describes a
5313 \begin_inset Quotes eld
5317 \begin_inset Quotes erd
5320 which is the internal construct LyX uses to render the screen display.
5322 \begin_inset Quotes eld
5326 \begin_inset Quotes erd
5330 \begin_inset Quotes eld
5334 \begin_inset Quotes erd
5337 can be used somewhat interchangeably, but it is better to refer to the
5338 file as the layout, and the thing living in LyX's memory as the text class.
5339 A template file is simply a LyX document which contains a set of predefined
5340 entries for a given document class which are generally required for that
5342 Templates are especially useful for things like journal manuscripts which
5343 are to be submitted electronically.
5346 \begin_layout Section
5347 Installing a new LaTeX package
5350 \begin_layout Standard
5351 Some installations may not include a LaTeX package that you would like to
5353 For example, you might need FoilTeX, a common (and very powerful) package
5354 for preparing slides or viewgraphs for overhead projectors.
5355 Here are the formal steps involved in getting the package up and running
5356 if you are using teTeX or some other web2c based distribution.
5360 \begin_layout Enumerate
5361 Get the package from CTAN or wherever.
5365 \begin_layout Standard
5368 Inventory of your LaTeX configuration
5370 manual for details of what CTAN is and where supported document classes
5379 \begin_layout Enumerate
5384 (this usually lives in the directory
5388 , though you can run
5393 It describes how to add a local
5397 directory; follow the instructions.
5398 You need to insert the name of your local
5411 is a logical place to install software that did not come with your distribution
5417 Usually, you will have to modify only two things:
5421 \begin_layout Enumerate
5426 to the directory you chose; e.g.
5431 TEXMFLOCAL = /usr/local/texmf
5434 \begin_layout Enumerate
5448 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
5452 \begin_layout Enumerate
5463 You must follow the directory structure of your existing
5467 directory (for example, latex packages should go under
5469 /usr/local/texmf/tex/latex/
5474 \begin_layout Enumerate
5475 Install the package.
5476 For example, you would unpack the FoilTeX tarball and create
5478 /usr/local/texmf/tex/latex/foiltex
5485 directory contains various files.
5488 \begin_layout Enumerate
5496 /usr/local/texmf/ls-R
5501 \begin_layout Enumerate
5502 From within LyX, do:
5507 ools\SpecialChar \menuseparator
5518 \begin_layout Standard
5519 Now you should see your new package---for example
5528 ayout\SpecialChar \menuseparator
5543 Note that there are simpler ways of installing packages: you can add a
5544 link to the new package directory in the system LaTeX directory (
5548 , don't forget to then run
5552 ), or sometimes simply set the
5556 environment variable to include the new package.
5557 However, the formal procedure described in
5561 is guaranteed to work, so you should follow it unless circumstances absolutely
5562 prevent it: such as, when you don't have superuser access.
5565 \begin_layout Section
5569 \begin_layout Standard
5570 This section describes how to write and install your own LyX layout files
5571 (also known as text classes) and walks through the
5575 text class format as an example.
5580 files describe what paragraph styles are available for a given document
5581 class and how LyX should display them.
5582 We try to provide a thorough description of the process here; however,
5583 there are so many different types of documents supported by LaTeX classes
5584 we can't hope to cover every different possibility or problem you might
5589 \begin_layout Standard
5590 When you plan to write a new layout, it is extremely helpful to look at
5591 the example layouts distributed with LyX.
5592 If you use a nice LaTeX document class that might be of interest for others,
5593 too, and have a nice corresponding LyX layout, feel free to contribute
5594 the stuff to us, so we may put it into the distribution.
5597 \begin_layout Standard
5598 All the tags described in this chapter are case-insensitive; this means
5611 are really the same command.
5612 The possible values are printed in brackets after the feature's name.
5613 The default value if a feature isn't specified inside a text class-description
5621 If the argument has a datatype like
5622 \begin_inset Quotes eld
5626 \begin_inset Quotes erd
5630 \begin_inset Quotes eld
5634 \begin_inset Quotes erd
5637 , the default is shown like this:
5647 \begin_layout Subsection
5648 Supporting new document classes
5651 \begin_layout Standard
5652 There are two situations you are likely to encounter when wanting to support
5653 a new LaTeX document class, involving LaTeX2e class (
5664 \begin_layout Subsection
5672 \begin_layout Standard
5673 If your new document class is provided as a style file that is used in conjuncti
5674 on with an existing, supported document class, start by copying the existing
5675 class's layout file into your local directory.
5676 For the sake of example we'll assume that the style file is called
5680 and it is meant to be used with
5684 which is a standard class.
5687 \begin_layout LyX-Code
5688 cp report.layout ~/.lyx/layouts/myclass.layout
5691 \begin_layout Standard
5696 and change the line:
5699 \begin_layout LyX-Code
5702 DeclareLaTeXClass{report}
5705 \begin_layout Standard
5709 \begin_layout LyX-Code
5712 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
5715 \begin_layout Standard
5719 \begin_layout LyX-Code
5729 \begin_layout Standard
5730 near the top of the file.
5733 \begin_layout Standard
5734 Start LyX and select
5739 ools\SpecialChar \menuseparator
5747 Restart LyX and try creating a new document.
5752 " as a document class option in the
5757 ocument\SpecialChar \menuseparator
5765 It is likely that some of the sectioning commands and such will differ
5766 from how the base class
5770 \begin_layout Standard
5780 works, so you can fiddle around with the settings for the different sections
5782 See below for more discussion on this.
5785 \begin_layout Subsection
5793 \begin_layout Standard
5794 In this case, you will probably have to
5795 \begin_inset Quotes eld
5799 \begin_inset Quotes erd
5803 We strongly suggest copying an existing layout file which uses a similar
5804 LaTeX class and modifying it if at all possible.
5805 At least use an existing file as a starting point so you can find out what
5806 items you need to worry about.
5807 Again, the specifics are covered below.
5810 \begin_layout Section
5811 Declaring a new text class
5814 \begin_layout Standard
5815 When it's finally time to get your hands dirty and create or edit your own
5816 layout file, the following sections describe what you're up against.
5817 Our advice is to go slowly, save and test often, listen to soothing music,
5818 and enjoy one or two of your favorite adult beverages; more if you are
5819 getting particularly stuck.
5820 It's really not that hard, except that the multitude of options can become
5821 overwhelming if you try to do to much in one sitting.
5822 Go have another adult beverage, just for good measure.
5825 \begin_layout Standard
5829 \begin_layout Standard
5830 Lines in a layout file which begin with a
5835 There is one exception to this rule: all layouts should begin with lines
5839 \begin_layout LyX-Code
5842 #% Do not delete the line below; configure depends on this
5845 \begin_layout LyX-Code
5850 DeclareLaTeXClass{article}
5853 \begin_layout Standard
5854 The second line is used when you configure LyX.
5855 The layout file is read by the LaTeX script
5859 , in a special mode where
5864 The first line is just a LaTeX comment, and the second one contains the
5865 declaration of the text class.
5866 If these lines appear in a file named
5870 , then they define a text class of name
5874 (the name of the layout file) which uses the LaTeX document class
5878 (the default is to use the same name as the layout).
5880 \begin_inset Quotes eld
5884 \begin_inset Quotes erd
5887 that appears above is used as a description of the text class in the
5892 ocument\SpecialChar \menuseparator
5902 \begin_layout Standard
5903 Let's assume that you wrote your own text class that uses the
5907 documentclass, but where you changed the appearance of the section headings.
5908 If you put it in a file
5912 , the header of this file should be:
5915 \begin_layout LyX-Code
5918 #% Do not delete the line below; configure depends on this
5921 \begin_layout LyX-Code
5926 DeclareLaTeXClass[article]{article (with my own headings)}
5929 \begin_layout Standard
5930 This declares a text class
5934 , associated with the LaTeX document class
5939 \begin_inset Quotes eld
5942 article (with my own headings)
5943 \begin_inset Quotes erd
5947 If your text class depends on several packages, you can declare it as:
5950 \begin_layout LyX-Code
5953 #% Do not delete the line below; configure depends on this
5956 \begin_layout LyX-Code
5961 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5964 \begin_layout Standard
5965 This indicates that your text class uses the foo.sty package.
5966 Finally, it is also possible to declare classes for DocBook code.
5967 Typical declarations will look like
5970 \begin_layout LyX-Code
5973 #% Do not delete the line below; configure depends on this
5976 \begin_layout LyX-Code
5981 DeclareDocBookClass[article]{SGML (DocBook article)}
5984 \begin_layout Standard
5985 Note that these declarations can also be given an optional parameter declaring
5986 the name of the document class (but not a list).
5989 \begin_layout Standard
5990 When the text class has been modified to your taste, all you have to do
5991 is to copy it either in
6004 ools\SpecialChar \menuseparator
6012 Exit LyX and restart it; then your new text class should be available along
6016 \begin_layout Subsection
6020 \begin_layout Standard
6021 The first non-comment line must contain the file format number:
6024 \begin_layout Description
6035 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
6036 don't have an explicit file format).
6037 The file format that is documented here is
6044 \begin_layout Subsection
6045 General text class parameters
6048 \begin_layout Standard
6049 These are the general parameters which describe the form of the entire document:
6052 \begin_layout Standard
6056 \begin_layout Standard
6068 \begin_layout Description
6082 ] Whether the class-default should have one or two columns.
6083 Can be changed in the
6088 ocument\SpecialChar \menuseparator
6096 This setting (same goes for
6100 , too) is important: if your text class has two columns by default but you
6101 forget to set it correctly, the
6109 be output when you select
6118 ocument\SpecialChar \menuseparator
6126 \begin_layout Description
6140 ] Whether the class-default should be printing on one or both sides of the
6142 Can be changed in the
6147 ocument\SpecialChar \menuseparator
6157 \begin_layout Description
6171 ] The class default pagestyle.
6172 Can be changed in the
6177 ocument\SpecialChar \menuseparator
6187 \begin_layout Description
6191 ClassOptions\SpecialChar \ldots{}
6195 This section describes various global options supported by the document
6197 See Section\InsetSpace ~
6199 \begin_inset LatexCommand ref
6200 reference "sec:classoptions"
6207 \begin_layout Description
6225 ] Whether the class already provides the feature
6230 A feature is in general the name of a package (amsmath, makeidx, \SpecialChar \ldots{}
6232 macro (url, boldsymbol,\SpecialChar \ldots{}
6233 ); the complete list of supported features is unfortunat
6237 \begin_layout Description
6244 This is used to describe the default font of the document.
6245 See Section\InsetSpace ~
6247 \begin_inset LatexCommand ref
6248 reference "sec:fonts"
6255 \begin_layout Description
6266 ] This is the style that will be assigned to new paragraphs, usually
6271 This will default to the first defined style if not given, but you are
6272 highly encouraged to use this directive.
6275 \begin_layout Description
6292 ] Indicates what kind of markup is used to define the title of a document.
6297 means that the macro with name
6301 will be inserted after the last layout which has
6302 \begin_inset Quotes eld
6310 \begin_inset Quotes erd
6318 corresponds to the case where the block of paragraphs which have
6319 \begin_inset Quotes eld
6327 \begin_inset Quotes erd
6330 should be enclosed into the
6339 \begin_layout Description
6350 ] The name of the command/environment mentionned above.
6353 \begin_layout Description
6357 Preamble\SpecialChar \ldots{}
6361 A set of macro definitions that will be output at the beginning of the
6363 Use this for global definitions.
6366 \begin_layout Description
6373 As its name implies, this command allows you to include another layout
6374 definition file within yours to avoid duplicating commands.
6375 Common examples are the standard layout files, for example,
6379 , which contains most of the basic layouts.
6382 \begin_layout Description
6386 Style\SpecialChar \ldots{}
6390 This sequence defines a new style.
6391 If the style already exists, it will redefine some of its parameters instead.
6392 See Section\InsetSpace ~
6394 \begin_inset LatexCommand ref
6395 reference "sec:style"
6402 \begin_layout Description
6409 This command deletes an existing style.
6410 This is particularly useful when you want to suppress a style that has
6411 be defined in an input file.
6414 \begin_layout Description
6418 Float\SpecialChar \ldots{}
6422 This sequence defines a new float.
6423 See Section\InsetSpace ~
6425 \begin_inset LatexCommand ref
6426 reference "sec:floats"
6433 \begin_layout Description
6440 This command deletes an existing float.
6441 This is particularly useful when you want to suppress a float that has
6442 be defined in an input file.
6445 \begin_layout Description
6449 InsetLayout\SpecialChar \ldots{}
6453 This section (re-)defines the layout of an inset.
6454 It can be applied to an existing inset of to a new, user-defined inset,
6455 e.g., a new character style.
6456 See Section\InsetSpace ~
6458 \begin_inset LatexCommand ref
6459 reference "sec:charstyle"
6466 \begin_layout Description
6470 Counter\SpecialChar \ldots{}
6474 This sequence defines a new counter.
6475 See Section\InsetSpace ~
6477 \begin_inset LatexCommand ref
6478 reference "sec:counter"
6485 \begin_layout Standard
6489 \begin_layout Standard
6501 \begin_layout Subsection
6509 \begin_layout Standard
6510 \begin_inset LatexCommand label
6511 name "sec:classoptions"
6519 section can contain the following entries:
6522 \begin_layout Description
6533 ] The list of available font sizes for the document's main font, separated
6535 \begin_inset Quotes eld
6543 \begin_inset Quotes erd
6549 \begin_layout Description
6558 string="empty|plain|headings|fancy"
6560 ] The list of available page styles, separated by
6561 \begin_inset Quotes eld
6569 \begin_inset Quotes erd
6575 \begin_layout Description
6586 ] Some document class options, separated by a comma, that will be added
6587 to the optional part of the
6596 \begin_layout Subsection
6597 Specific Paragraph Layouts
6600 \begin_layout Standard
6601 \begin_inset LatexCommand label
6606 A paragraph layout description looks like this
6610 \begin_layout Standard
6611 Note that this will either define a new layout or modify an existing one.
6619 \begin_layout LyX-Code
6626 \begin_layout LyX-Code
6630 \begin_layout LyX-Code
6634 \begin_layout Standard
6635 where the following commands are allowed:
6638 \begin_layout Standard
6642 \begin_layout Standard
6654 \begin_layout Description
6665 This is used to copy all the features of an existing layout into the current
6670 \begin_layout Description
6682 , Command, Environment, Item_Environment,
6688 ] How the layout should be translated into LaTeX.
6693 means nothing special.
6706 {\SpecialChar \ldots{}
6721 }\SpecialChar \ldots{}
6745 is generated for each paragraph of this environment.
6758 is passed as an argument to the environment.
6763 can be defined in the
6768 ayout\SpecialChar \menuseparator
6782 is perhaps a bit misleading, since these rules apply to SGML classes, too.
6783 Visit the SGML class files for specific examples.
6786 \begin_layout Description
6797 If 1, marks the layout as being part of a title block (see also the
6808 \begin_layout Description
6815 The name of the corresponding LaTeX stuff.
6816 Either the environment or command name.
6819 \begin_layout Description
6826 The optional parameter for the corresponding
6833 This parameter cannot be changed from within LyX.
6836 \begin_layout Description
6847 ] The number of optional arguments that can be used with this layout.
6848 This is useful for things like section headings, and only makes sense with
6852 \begin_layout Description
6864 , Manual, Dynamic, First_Dynamic, Right_Address_Box
6868 The kind of margin that the layout has on the left side.
6873 just means a fixed margin.
6878 means that the left margin depends on the string entered in the
6883 dit\SpecialChar \menuseparator
6888 aragraph\InsetSpace ~
6892 This is used to typeset nice lists without tabulators.
6897 means that the margin depends on the size of the label.
6898 This is used for automatic enumerated headlines.
6899 It is obvious that the headline
6900 \begin_inset Quotes eld
6903 5.4.3.2.1 Very long headline
6904 \begin_inset Quotes erd
6907 must have a wider left margin (as wide as
6908 \begin_inset Quotes eld
6912 \begin_inset Quotes erd
6915 plus the space) than
6916 \begin_inset Quotes eld
6919 3.2 Very long headline
6920 \begin_inset Quotes erd
6923 , even if other word processors are not able to do this.
6928 is similar, but only the very first row of the paragraph is dynamic, while
6929 the others are static; this is used, for example, for descriptions.
6934 means the margin is chosen in a way that the longest row of this paragraph
6935 fits to the right margin.
6936 This is used to typeset an address on the right edge of the page.
6939 \begin_layout Description
6956 ] Whether the following Paragraph is allowed to indent its very first row.
6961 means that it is not allowed to do so,
6965 means it could do so if it wants to.
6968 \begin_layout Description
6979 ] The indent of the very first line of a paragraph.
6980 The argument is passed as a string.
6985 means that the paragraph is indented with the width of
6994 You can get a negative width by prefixing the string with
6999 This way was chosen so that the look is the same with each used screen
7005 will be fixed for a certain layout.
7006 The exception is Standard layout, since the indentation of a Standard layout
7007 paragraph can be prohibited with
7012 Also, Standard layout paragraphs inside environments use the
7016 of the environment, not their native one.
7017 For example, Standard paragraphs inside an enumeration are not indented.
7020 \begin_layout Description
7031 ] LyX allows to choose either
7032 \begin_inset Quotes eld
7036 \begin_inset Quotes erd
7040 \begin_inset Quotes eld
7044 \begin_inset Quotes erd
7047 to typeset a document.
7049 \begin_inset Quotes eld
7053 \begin_inset Quotes erd
7056 is chosen, this value is completely ignored.
7058 \begin_inset Quotes eld
7062 \begin_inset Quotes erd
7065 is chosen, the parindent of a LaTeXtype
7066 \begin_inset Quotes eld
7070 \begin_inset Quotes erd
7073 layout is ignored and all paragraphs are additionally separated by this
7075 The vertical space is calculated with
7077 value*DefaultHeight()
7083 is the height of a row with the normal font.
7084 This way, the look stays the same with different screen fonts.
7087 \begin_layout Description
7098 ] The vertical space with which the very first of a chain of paragraphs
7099 with this layout is separated from the previous paragraph.
7100 If the previous paragraph has another layout, the separations are not simply
7101 added, but the maximum is taken.
7104 \begin_layout Description
7119 for the very last paragraph.
7122 \begin_layout Description
7133 ] The vertical space between two paragraphs of this layout.
7136 \begin_layout Description
7147 ] This is an extra space between the paragraphs of an environment layout.
7148 If you put other layouts into an environment, each is separated with the
7154 But the whole items of the environment are additionally separated with
7163 \begin_layout Description
7174 ] If you put layouts into environments, the leftmargins are not simply added,
7175 but added with a factor
7176 \begin_inset Formula $\frac{4}{depth+4}$
7180 Note that this parameter is also used when the border is defined as
7189 Then it is added to the manual or dynamic border.
7190 This string has the same meaning as for
7197 \begin_layout Description
7215 \begin_layout Description
7227 , Manual, Static, Top_Environment,
7229 Centered_Top_Environment, Sensitive,
7238 means the label is the very first word (up to the first real blank).
7243 means it is defined in the layout (see
7254 Centered_Top_Environment
7256 are special cases of
7261 The label will be printed above the paragraph, but only at the top of an
7262 environment or the top of a chain of paragraphs with this layout.
7263 Usage is for example the
7272 This is also the case for
7276 labels with latex type
7280 , in order to make layouts for theorems work correctly.
7285 is a special case for the caption-labels
7286 \begin_inset Quotes eld
7290 \begin_inset Quotes erd
7294 \begin_inset Quotes eld
7298 \begin_inset Quotes erd
7306 means the (hardcoded) label string depends on the kind of float.
7311 label type defines automatically numbered labels.
7314 \begin_layout Description
7327 The name of the counter for automatic numbering (see Section\InsetSpace ~
7329 \begin_inset LatexCommand ref
7330 reference "sec:counter"
7335 This must be given if
7348 \begin_layout Description
7359 ] The horizontal space between the label and the text body.
7360 Only used for labels that are not above the text body.
7363 \begin_layout Description
7370 [float=0] The vertical space between the label and the text body.
7371 Only used for labels that are above the text body (
7377 Centered_Top_Environment
7382 \begin_layout Description
7393 ] The string used for a label with a
7402 this string is also used as a suggestion for the
7406 that can be set in the
7411 dit\SpecialChar \menuseparator
7416 aragraph\InsetSpace ~
7426 is set, this string can be contain the special formatting commands described
7427 in Section\InsetSpace ~
7429 \begin_inset LatexCommand ref
7430 reference "sec:counter"
7435 For the sake of backwards compatibility, the string
7443 will be replaced by the expanded
7454 This feature is now obsolete and should be replaced by the mechanisms of
7455 Section\InsetSpace ~
7457 \begin_inset LatexCommand ref
7458 reference "sec:counter"
7465 \begin_layout Description
7476 ] This is used inside the appendix instead of
7497 \begin_layout Description
7504 The level of the style in the table of contents.
7505 This is used for automatic numbering of section headings.
7508 \begin_layout Description
7520 , Box, Filled_Box, Static
7522 ] The type of label that stands at the end of the paragraph (or sequence
7545 \begin_inset Quotes eld
7549 \begin_inset Quotes erd
7561 ) is a white (resp.\InsetSpace ~
7562 black) square suitable for end of proof markers,
7566 is an explicit text string.
7569 \begin_layout Description
7580 ] The string used for a label with a
7592 \begin_layout Description
7604 , left, right, center
7606 ] Paragraph alignment.
7609 \begin_layout Description
7621 , left, right, center
7628 Some LaTeX styles prohibit certain alignments, since those wouldn't make
7630 For example a right-aligned or centered enumeration isn't possible.
7633 \begin_layout Description
7647 ] With this parameter the
7652 \begin_inset Quotes eld
7655 Vertical space above
7656 \begin_inset Quotes erd
7664 dit\SpecialChar \menuseparator
7669 aragraph\InsetSpace ~
7672 dialog can be set when initializing a paragraph with this layout
7676 \begin_layout Standard
7679 Note from Jean-Marc:
7681 I'm not sure that this setting has much use, and it should probably be
7682 removed in later versions.
7691 \begin_layout Description
7712 \begin_layout Description
7726 ] Whether fragile commands in this layout should be
7735 \begin_layout Description
7752 ] Whether newlines are translated into LaTeX newlines (
7761 The translation can be switched off to allow more comfortable LaTeX editing
7765 \begin_layout Description
7779 ] Whether the contents of this paragraph should be output in raw form, meaning
7780 without special translations that LaTeX would require.
7781 This somehow replaces the older
7788 \begin_layout Description
7802 ] Usually LyX doesn't allow you to insert more than one space between words,
7803 since a space is considered as the separation between two words, not a
7804 character or symbol of its own.
7805 This is a very fine thing but sometimes annoying, for example when typing
7806 program code or plain LaTeX code.
7812 Note that LyX will create protected blanks for the additional blanks when
7813 in another mode than LaTeX-mode.
7816 \begin_layout Description
7830 ] Usually LyX does not allow you to leave a paragraph empty, since it would
7831 lead to empty LaTeX output.
7832 There are some cases where this could be desirable however: in a letter
7833 template, the required fields can be provided as empty fields, so that
7834 people do not forget them; in some special classes, a layout can be used
7835 as some kind of break, which does not contain actual text.
7838 \begin_layout Description
7850 , onehalf, double, other
7856 ] This defines what the default spacing should be in the layout.
7869 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
7870 If you specify the argument
7874 , then you should also provide a numerical argument which will be the actual
7876 Note that, contrary to other parameters,
7880 implies the generation of specific LaTeX code, using the package
7887 \begin_layout Description
7894 The font used for both the text body
7899 See section\InsetSpace ~
7901 \begin_inset LatexCommand ref
7902 reference "sec:fonts"
7907 Note that defining this font automatically defines the
7914 \begin_layout Description
7921 The font used for the text body .
7922 See section\InsetSpace ~
7924 \begin_inset LatexCommand ref
7925 reference "sec:fonts"
7932 \begin_layout Description
7939 The font used for the label.
7940 See section\InsetSpace ~
7942 \begin_inset LatexCommand ref
7943 reference "sec:fonts"
7950 \begin_layout Description
7954 Preamble\SpecialChar \ldots{}
7958 A set of macro definitions that will be output at the beginning of the
7959 LaTeX files when the layout is used.
7960 Use this to define the macros needed by this particular layout.
7963 \begin_layout Description
7970 the name of a style which preamble should be output
7974 the one mentionned above.
7975 This allows to ensure some ordering of the preamble snippets when macros
7976 definitions depend on one another
7980 \begin_layout Standard
7981 Note that, besides that functionality, there is no way to ensure any ordering
7983 The ordering that you see in a given version of LyX may change without
7984 warning in later versions.
7992 \begin_layout Standard
7996 \begin_layout Standard
8008 \begin_layout Subsection
8012 \begin_layout Standard
8013 \begin_inset LatexCommand label
8018 Since version 1.3.0 of LyX, it is necessary to define the floats (
8026 , \SpecialChar \ldots{}
8027 ) in the text class itself.
8028 If you are looking here to learn how to upgrade an existing text class,
8029 it will probably turn out that all you have to do is to add
8032 \begin_layout LyX-Code
8036 \begin_layout Standard
8037 at a reasonable location of the text class.
8041 \begin_layout Standard
8042 Don't forget to also have a look at counters in next section.
8047 If you want to implement a text class that proposes some other float types
8048 (like the AGU class bundled with LyX), the information below will hopefully
8052 \begin_layout Description
8064 \begin_inset Quotes erd
8068 \begin_inset Quotes erd
8072 \begin_inset Quotes eld
8076 \begin_inset Quotes erd
8079 of the new class of floats, like program or algorithm.
8080 After the appropriate
8101 \begin_layout Description
8113 \begin_inset Quotes erd
8117 \begin_inset Quotes erd
8120 ] The string that will be used in the menus and also for the caption.
8123 \begin_layout Description
8144 if the float is already defined by the documentclass.
8149 , the float will be defined using the LaTeX package
8156 \begin_layout Description
8168 \begin_inset Quotes erd
8172 \begin_inset Quotes erd
8175 ] This (optional) argument determines whether floats of this class will
8176 be numbered within some sectional unit of the document.
8177 For example, if within is equal to
8181 , the floats will be numbered within chapters.
8185 \begin_layout Description
8197 \begin_inset Quotes erd
8201 \begin_inset Quotes erd
8204 ] The style used when defining the float using
8213 \begin_layout Description
8225 \begin_inset Quotes erd
8229 \begin_inset Quotes erd
8232 ] The default placement for the given class of floats.
8233 They are like in standard LaTeX:
8249 for top, bottom, page, and here, respectively.
8253 \begin_layout Standard
8254 Note that the order of these letters in the string is irrelevant, like in
8260 On top of that there is a new type,
8264 , which does not really correspond to a float, since it means: put it
8265 \begin_inset Quotes eld
8269 \begin_inset Quotes erd
8273 Note, however that the
8277 specifier is special and, because of implementation details cannot be used
8278 in non-builtin float types.
8279 If you do not understand what this means, just use
8286 \begin_layout Description
8298 \begin_inset Quotes erd
8302 \begin_inset Quotes erd
8305 ] The file name extension of an auxiliary file for the list of figures (or
8307 LaTeX writes the captions to this file.
8310 \begin_layout Description
8322 \begin_inset Quotes erd
8326 \begin_inset Quotes erd
8329 ] The heading used for the list of floats.
8332 \begin_layout Standard
8333 Note that defining a float with type
8339 automatically defines the corresponding counter with name
8348 \begin_layout Subsection
8349 Inset layouts and Flex insets
8352 \begin_layout Standard
8353 \begin_inset LatexCommand label
8354 name "sec:charstyle"
8358 You can define character styles since version 1.4.0 of LyX; since version
8359 1.6.0 these are called Flex insets.
8363 \begin_layout Standard
8364 Furthermore it is possible to define the general layout of many different
8366 Currently layout parameters can be defined for footnotes, marginal notes,
8367 note insets, ERT insets, branch insets, and Flex insets.
8368 The latter are definable from the user GUI and come in three different
8369 kinds: character style (
8377 ), and XML element (
8385 \begin_layout Standard
8390 definition starting line is of the form
8393 \begin_layout LyX-Code
8394 InsetLayout <Type> <Name>
8397 \begin_layout Standard
8401 \begin_layout Standard
8408 Foot, Margin, Note, Flex
8413 \begin_layout Standard
8418 can be empty (for foot- and marginal notes, branches and ERT) or one of
8436 Here, the second part of the name can be chosen freely (for CharStyle,
8437 Custom and Element), or from a predefined list (for Note).
8440 \begin_layout Standard
8445 section can contain the following entries:
8448 \begin_layout Description
8471 (indicating a dummy definition ending definitions of charstyles etc.).
8472 This entry is only meaningful for Flex (user definable) insets, the three
8473 types of which are CharStyle, Custom and Element.
8476 \begin_layout Description
8492 Minimalistic or Conglomerate
8495 , describing the rendering style used for the inset's frame and buttons.
8498 \begin_layout Description
8505 defines what will be displayed on the button or elsewhere as the inset
8507 Some inset types (ERT and Branch) modify this label on the fly.
8510 \begin_layout Description
8517 The font used for both the text body
8522 See section\InsetSpace ~
8524 \begin_inset LatexCommand ref
8525 reference "sec:fonts"
8530 Note that defining this font automatically defines the
8537 \begin_layout Description
8544 The font used for the label.
8545 See section\InsetSpace ~
8547 \begin_inset LatexCommand ref
8548 reference "sec:fonts"
8553 Note that this definition can never appear before
8557 , lest it be ineffective (see above)
8560 \begin_layout Description
8567 The name of the corresponding LaTeX stuff.
8568 Either the environment or command name.
8571 \begin_layout Description
8578 The optional parameter for the corresponding
8584 stuff, including possible bracket pairs like
8589 This parameter cannot be changed from within LyX.
8592 \begin_layout Description
8599 See section\InsetSpace ~
8601 \begin_inset LatexCommand ref
8602 reference "sec:style"
8609 \begin_layout Description
8613 Preamble\SpecialChar \ldots{}
8617 See section\InsetSpace ~
8619 \begin_inset LatexCommand ref
8620 reference "sec:style"
8627 \begin_layout Subsection
8631 \begin_layout Standard
8632 \begin_inset LatexCommand label
8637 Since version 1.3.0 of LyX, it is necessary to define the counters (
8645 , \SpecialChar \ldots{}
8646 ) in the text class itself.
8647 If you are looking here to learn how to upgrade an existing text class,
8648 it will probably turn out that all you have to do is to add
8651 \begin_layout LyX-Code
8652 Input stdcounters.inc
8655 \begin_layout Standard
8656 The following parameters can be used:
8659 \begin_layout Description
8671 \begin_inset Quotes erd
8675 \begin_inset Quotes erd
8678 ] The name of the counter.
8681 \begin_layout Description
8693 \begin_inset Quotes erd
8697 \begin_inset Quotes erd
8700 ] If this is set to the name of another counter, the present counter will
8701 be reset everytime the other one is increased.
8713 \begin_layout Description
8717 LabelString [string=""]
8720 when this is defined, this string defines how the counter is displayed.
8721 Setting this value resets
8726 The following special constructs can be used in the string:
8730 \begin_layout Itemize
8737 will be replaced by the expansion of the
8750 If these are empty, a default value is constructed as follows: if the counter
8751 has a master counter
8763 is used; otherwise the string
8772 \begin_layout Itemize
8773 counter values can be expressed using LaTeX-like macros
8797 \begin_layout Description
8808 to arabic numerals, like 1, 2, 3\SpecialChar \ldots{}
8813 \begin_layout Standard
8823 Actually, the situation is a bit more complicated than that: any
8842 other than those descibed below will produce arabic numerals.
8843 It would not be surprising to see this change in the future.
8851 \begin_layout Description
8858 for lower-case letters: a, b, c, \SpecialChar \ldots{}
8862 \begin_layout Description
8869 for upper-case letters: A, B, C, \SpecialChar \ldots{}
8873 \begin_layout Description
8880 for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
8884 \begin_layout Description
8891 for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
8895 \begin_layout Description
8902 for hebrew numerals.
8907 \begin_layout Description
8911 LabelStringAppendix [string=""]
8918 , for use in appendix.
8921 \begin_layout Subsection
8925 \begin_layout Standard
8926 \begin_inset LatexCommand label
8931 A font description looks like that:
8934 \begin_layout LyX-Code
8944 \begin_layout LyX-Code
8948 \begin_layout LyX-Code
8952 \begin_layout Standard
8953 and the following commands are available:
8956 \begin_layout Description
8973 \begin_layout Description
8990 \begin_layout Description
9002 , Italic, SmallCaps, Slanted
9007 \begin_layout Description
9023 , large, larger, largest, huge, giant
9028 \begin_layout Description
9040 , black, white, red, green, blue, cyan, magenta, yellow
9045 \begin_layout Subsection
9046 Upgrading old layout files
9049 \begin_layout Standard
9050 The file format of layout files changes from time to time, so old layout
9051 files need to be converted.
9052 This process has been automated in LyX 1.4.0: If LyX reads an old format
9053 layout file it will call the conversion tool
9055 $LyXDir/scripts/layout2layout.py
9057 and convert it to a temporary file in current format.
9058 The original file is left untouched, so that you can still use it with
9060 If you want to convert the layout file permanently, just call the converter
9064 \begin_layout LyX-Code
9065 python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
9068 \begin_layout Standard
9080 \begin_layout Standard
9081 The automatic conversion does only handle syntax changes.
9082 It cannot handle the case where the contents of included files was changed.
9083 For example, layout files based on
9096 If you get error messages about undefined counters, try to convert your
9116 \begin_layout Section
9118 \begin_inset LatexCommand label
9119 name "sec:templates"
9126 \begin_layout Standard
9127 Templates are created just like usual documents.
9128 The only difference is that usual documents contain all possible settings,
9129 including the fontscheme and the papersize.
9130 Usually a user doesn't want a template to overwrite his defaults in these
9132 For that reason, the designer of a template should remove the corresponding
9145 from the template LyX file.
9146 This can be done with any simple text-editor, for example
9158 \begin_layout Standard
9159 Put the edited template files you create in
9163 , copy the ones you use from the global template directory in
9167 to the same place, and redefine the template path in the
9172 dit\SpecialChar \menuseparator
9191 \begin_layout Standard
9192 Note that there is a template which has a particular meaning:
9197 This template is loaded everytime you create a new document with
9204 \SpecialChar \menuseparator
9212 in order to provide useful defaults.
9213 To create this template from inside LyX, all you have to do is to open
9214 a document with the correct settings, and use the
9220 e as Document Defaults
9225 \begin_layout Chapter
9226 Including External Material
9229 \begin_layout Section
9233 \begin_layout Standard
9234 \begin_inset Note Note
9237 \begin_layout Standard
9238 This section is completely outdated.
9243 One often requested feature from LyX users is to be able to interface LyX
9244 with Xfig, Dia, or other similar applications that specialize in producing
9245 a certain kind of diagram, figure, schematic or whatever material might
9246 be relevant to include in your document.
9247 Previously, it was only possible to include boring, static, fixed images
9248 in LyX documents with the graphics feature, but there are several limitations
9249 attached to this approach:
9252 \begin_layout Itemize
9253 If you want to change the figure, you have to invoke an external program
9257 \begin_layout Itemize
9258 LyX does not notice that the referenced files change, so the on-screen display
9259 can fast become obsolete, and this is aggravated by the lack of a means
9260 of updating the display
9263 \begin_layout Itemize
9264 The graphics stuff does not provide any mechanisms for coping with different
9265 exported formats such as DocBook, HTML or plain text
9268 \begin_layout Standard
9269 The external material facility attempts to solve all of these problems
9273 \begin_layout Standard
9274 Even if the graphics facility can't solve all problems, it is still valuable
9275 because it does provide in-line preview of the graphics, and supports advanced
9276 geometric transformations with a comfortable user interface.
9282 It does this by offering a general method to interface LyX to external
9284 Instead of introducing a long list of different constructs tailored for
9285 each specific application, we chose to sacrifice the in-line displaying
9286 of the included material in order to provide a general construct to cover
9287 a wide range of applications.
9288 The result is the external material construct.
9289 External material presents itself in the document simply as a button, but
9290 don't let this fool you.
9291 When you click on it, a dialog will appear that allows you to chose exactly
9292 what material to include, and in the following sections you will learn
9293 that this is indeed a powerful mechanism that can solve all of the above
9297 \begin_layout Section
9301 \begin_layout Standard
9302 The external material feature is based on the concept of a
9307 A template is a specification of how LyX should interface with a certain
9309 As bundled, LyX comes with predefined templates for Xfig figures, Dia diagrams,
9310 various raster format images, gnuplot, and more.
9311 You can check the actual list by using the menu
9313 Insert\SpecialChar \menuseparator
9314 File\SpecialChar \menuseparator
9323 Furthermore, it is possible to roll your own template to support a specific
9325 Later we'll describe in more detail what is involved, and hopefully you
9326 will submit all the templates you create so we can include them in a later
9330 \begin_layout Standard
9331 Another basic idea of the external material feature is to distinguish between
9332 the original file that serves as a base for final material and the produced
9333 file that is included in your exported or printed document.
9334 For example, consider the case of a figure produced with
9339 The Xfig application itself works on an original file with the
9344 Within XFig, you create and change your figure, and when you are done,
9350 When you want to include the figure in your document, you invoke
9354 in order to create a PostScript file that can readily be included in your
9360 file is the original file, and the PostScript file is the produced file.
9363 \begin_layout Standard
9364 This distinction is important in order to allow updating of the material
9365 while you are in the process of writing the document.
9366 Furthermore, it provides us with the flexibility that is needed to support
9367 multiple export formats.
9368 For instance, in the case of a plain text file, it is not exactly an award-winn
9369 ing idea to include the figure as raw PostScript.
9370 Instead, you'd either prefer to just include a reference to the figure,
9371 or try to invoke some graphics to Ascii converter to make the final result
9372 look similar to the real graphics.
9373 The external material management allows you to do this, because it is parameter
9374 ized on the different export formats that LyX supports.
9377 \begin_layout Standard
9378 Besides supporting the production of different products according to the
9379 exported format, it supports tight integration with editing and viewing
9381 In the case of an XFig figure, you are able to invoke
9385 on the original file with a single click from within the external material
9386 dialog in LyX, and also preview the produced PostScript file with
9391 No more fiddling around with the command line and/or file browsers to locate
9392 and manipulate the original or produced files.
9393 In this way, you are finally able to take full advantage of the many different
9394 applications that are relevant to use when you write your documents, and
9395 ultimately be more productive.
9398 \begin_layout Section
9399 External material dialog
9402 \begin_layout Standard
9407 dialog is described in the
9416 \begin_layout Section
9420 \begin_layout Standard
9421 In this section, we should include some examples of use of the external
9423 Those examples could include:
9426 \begin_layout Itemize
9427 External raster images
9430 \begin_layout Itemize
9431 External XFig figures
9434 \begin_layout Itemize
9438 \begin_layout Itemize
9442 \begin_layout Itemize
9443 The use of makefiles
9446 \begin_layout Itemize
9447 Recursive external LyX templates
9450 \begin_layout Section
9451 The external template configuration file
9454 \begin_layout Standard
9455 It is relatively easy to add custom external template definitions to LyX.
9456 However, be aware this doing this in an careless manner most probably
9460 introduce an easily exploitable security hole.
9461 So before you do this, please read the discussion about security which
9465 \begin_layout Standard
9466 Having said that, we encourage you to submit any interesting templates that
9471 \begin_layout Standard
9472 The external templates are defined in the
9474 lib/external_templates
9477 You can place your own version in
9479 .lyx/external_templates
9484 \begin_layout Standard
9485 A typical template looks like this:
9488 \begin_layout LyX-Code
9492 \begin_layout LyX-Code
9493 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
9496 \begin_layout LyX-Code
9500 \begin_layout LyX-Code
9504 \begin_layout LyX-Code
9508 \begin_layout LyX-Code
9512 \begin_layout LyX-Code
9516 \begin_layout LyX-Code
9517 AutomaticProduction true
9520 \begin_layout LyX-Code
9524 \begin_layout LyX-Code
9528 \begin_layout LyX-Code
9532 \begin_layout LyX-Code
9533 TransformCommand Rotate RotationLatexCommand
9536 \begin_layout LyX-Code
9537 TransformCommand Resize ResizeLatexCommand
9540 \begin_layout LyX-Code
9541 Product "$$RotateFront$$ResizeFront
9544 \begin_layout LyX-Code
9549 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
9552 \begin_layout LyX-Code
9553 $$ResizeBack$$RotateBack"
9556 \begin_layout LyX-Code
9560 \begin_layout LyX-Code
9561 UpdateResult "$$AbsPath$$Basename.pstex_t"
9564 \begin_layout LyX-Code
9565 Requirement "graphicx"
9568 \begin_layout LyX-Code
9569 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
9572 \begin_layout LyX-Code
9573 ReferencedFile latex "$$AbsPath$$Basename.eps"
9576 \begin_layout LyX-Code
9577 ReferencedFile dvi "$$AbsPath$$Basename.eps"
9580 \begin_layout LyX-Code
9584 \begin_layout LyX-Code
9588 \begin_layout LyX-Code
9589 TransformCommand Rotate RotationLatexCommand
9592 \begin_layout LyX-Code
9593 TransformCommand Resize ResizeLatexCommand
9596 \begin_layout LyX-Code
9597 Product "$$RotateFront$$ResizeFront
9600 \begin_layout LyX-Code
9605 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
9608 \begin_layout LyX-Code
9609 $$ResizeBack$$RotateBack"
9612 \begin_layout LyX-Code
9616 \begin_layout LyX-Code
9617 UpdateResult "$$AbsPath$$Basename.pdftex_t"
9620 \begin_layout LyX-Code
9621 Requirement "graphicx"
9624 \begin_layout LyX-Code
9625 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
9628 \begin_layout LyX-Code
9629 ReferencedFile latex "$$AbsPath$$Basename.pdf"
9632 \begin_layout LyX-Code
9636 \begin_layout LyX-Code
9640 \begin_layout LyX-Code
9641 Product "$$Contents(
9643 "$$AbsPath$$Basename.asc
9648 \begin_layout LyX-Code
9649 UpdateFormat asciixfig
9652 \begin_layout LyX-Code
9653 UpdateResult "$$AbsPath$$Basename.asc"
9656 \begin_layout LyX-Code
9660 \begin_layout LyX-Code
9664 \begin_layout LyX-Code
9665 Product "<graphic fileref=
9667 "$$AbsOrRelPathMaster$$Basename.eps
9672 \begin_layout LyX-Code
9676 \begin_layout LyX-Code
9680 \begin_layout LyX-Code
9681 UpdateResult "$$AbsPath$$Basename.eps"
9684 \begin_layout LyX-Code
9685 ReferencedFile docbook "$$AbsPath$$Basename.eps"
9688 \begin_layout LyX-Code
9689 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
9692 \begin_layout LyX-Code
9696 \begin_layout LyX-Code
9697 Product "[XFig: $$FName]"
9700 \begin_layout LyX-Code
9704 \begin_layout LyX-Code
9708 \begin_layout Standard
9709 As you can see, the template is enclosed in
9713 \SpecialChar \ldots{}
9719 It contains a header specifying some general settings, and for each supported
9720 primary document file format a section
9724 \SpecialChar \ldots{}
9732 \begin_layout Subsection
9736 \begin_layout Description
9740 Template\InsetSpace ~
9744 A unique name for the template.
9745 It must not contain substitution macros (see below).
9748 \begin_layout Description
9752 GuiName\InsetSpace ~
9756 The text that is displayed on the button.
9757 This command must occur exactly once.
9760 \begin_layout Description
9764 HelpText\InsetSpace ~
9769 The help text that is used in the External dialog.
9770 Provide enough information to explain to the user just what the template
9771 can provide him with.
9772 This command must occur exactly once.
9775 \begin_layout Description
9779 InputFormat\InsetSpace ~
9783 The file format of the original file.
9784 This must be the name of a format that is known to LyX (see the
9789 ools\SpecialChar \menuseparator
9794 references:Conversion
9801 if the template can handle original files of more than one format.
9802 LyX will attempt to interrogate the file itself in order to deduce its
9803 format in this case.
9804 This command must occur exactly once.
9807 \begin_layout Description
9811 FileFilter\InsetSpace ~
9815 A glob pattern that is used in the file dialog to filter out the desired
9817 If there is more than one possible file extension (e.g.\InsetSpace ~
9826 ), use something like
9831 This command must occur exactly once.
9834 \begin_layout Description
9838 AutomaticProduction\InsetSpace ~
9842 Wether the file represented by the template must be generated by LyX.
9843 This command must occur exactly once.
9846 \begin_layout Description
9850 Transform\InsetSpace ~
9851 Rotate|Resize|Clip|Extra
9854 This command specifies which transformations are supported by this template.
9855 It may occur zero or more times.
9856 This command enables the corresponding tabs in the external dialog.
9861 command must have either a corresponding
9874 Otherwise the transformation will not be supported by that format.
9877 \begin_layout Subsection
9881 \begin_layout Description
9886 LaTeX|PDFLaTeX|PlainText|DocBook
9889 The primary document file format that this format definition is for.
9890 Not every template has a sensible representation in all document file formats.
9891 Please define nevertheless a
9895 section for all formats.
9896 Use a dummy text when no representation is available.
9897 Then you can at least see a reference to the external material in the exported
9901 \begin_layout Description
9905 TransformCommand\InsetSpace ~
9907 RotationLatexCommand
9910 This command specifies that the built in LaTeX command should be used for
9912 This command may occur once or not at all.
9915 \begin_layout Description
9919 TransformCommand\InsetSpace ~
9924 This command specifies that the built in LaTeX command should be used for
9926 This command may occur once or not at all.
9929 \begin_layout Description
9933 TransformOption\InsetSpace ~
9938 This command specifies that rotation is done via an optional argument.
9939 This command may occur once or not at all.
9942 \begin_layout Description
9946 TransformOption\InsetSpace ~
9951 This command specifies that resizing is done via an optional argument.
9952 This command may occur once or not at all.
9955 \begin_layout Description
9959 TransformOption\InsetSpace ~
9964 This command specifies that clipping is done via an optional argument.
9965 This command may occur once or not at all.
9968 \begin_layout Description
9972 TransformOption\InsetSpace ~
9977 This command specifies that an extra optional argument is used.
9978 This command may occur once or not at all.
9981 \begin_layout Description
9985 Product\InsetSpace ~
9989 The text that is inserted in the exported document.
9990 This is actually the most important command and can be quite complex.
9991 This command must occur exactly once.
9994 \begin_layout Description
9998 UpdateFormat\InsetSpace ~
10002 The file format of the converted file.
10003 This must be the name of a format that is known to LyX (see the
10008 ools\SpecialChar \menuseparator
10013 references:Conversion
10016 This command must occur exactly once.
10019 \begin_layout Description
10023 UpdateResult\InsetSpace ~
10027 The file name of the converted file.
10028 The file name must be absolute.
10029 This command must occur exactly once.
10032 \begin_layout Description
10036 ReferencedFile\InsetSpace ~
10037 <format>\InsetSpace ~
10041 This command denotes files that are created by the conversion process and
10042 are needed for a particular export format.
10043 If the filename is relative, it is interpreted relative to the master document.
10044 This command may be given zero or more times.
10047 \begin_layout Description
10051 Requirement\InsetSpace ~
10055 The name of a required LaTeX package.
10056 The package is included via
10062 in the LaTeX preamble.
10063 This command may occur zero or more times.
10066 \begin_layout Description
10070 Preamble\InsetSpace ~
10074 This command specifies a preamble snippet that will be included in the
10076 It has to be defined using
10080 \SpecialChar \ldots{}
10086 This command may occur zero or more times.
10089 \begin_layout Description
10093 Option\InsetSpace ~
10094 <name>\InsetSpace ~
10098 This command defines an additional macro
10102 for substitution in
10111 itself may contain substitution macros.
10112 The advantage over using
10120 is that the substituted value of
10124 is sanitized so that it is a valid optional argument in the document format.
10125 This command may occur zero or more times.
10128 \begin_layout Subsection
10129 Preamble definitions
10132 \begin_layout Standard
10133 The external template configuration file may contain additional preamble
10134 definitions enclosed by
10138 \SpecialChar \ldots{}
10144 They can be used by the templates in the
10151 \begin_layout Section
10152 The substitution mechanism
10155 \begin_layout Standard
10156 When the external material facility invokes an external program, it is done
10157 on the basis of a command defined in the template configuration file.
10158 These commands can contain various macros that are expanded before execution.
10159 Execution always take place in the directory of the containing document.
10162 \begin_layout Standard
10163 Also, whenever external material is to be displayed, the name will be produced
10164 by the substitution mechanism, and most other commands in the template
10165 definition support substitution as well.
10168 \begin_layout Standard
10169 The available macros are the following:
10172 \begin_layout Description
10173 $$FName The filename of the file specified in the external material dialog.
10174 This is either an absolute name, or it is relative to the LyX document.
10177 \begin_layout Description
10178 $$Basename The filename without path and without the extension.
10181 \begin_layout Description
10182 $$Extension The file extension (including the dot).
10185 \begin_layout Description
10186 $$FPath The path part of
10190 (absolute name or relative to the LyX document).
10193 \begin_layout Description
10194 $$AbsPath The absolute file path.
10197 \begin_layout Description
10198 $$RelPathMaster The file path, relative to the master LyX document.
10201 \begin_layout Description
10202 $$RelPathParent The file path, relative to the LyX document.
10205 \begin_layout Description
10206 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
10210 \begin_layout Description
10211 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
10214 \begin_layout Description
10215 $$Tempname A name and full path to a temporary file which will be automatically
10216 deleted whenever the containing document is closed, or the external material
10220 \begin_layout Description
10222 \begin_inset Quotes eld
10226 \begin_inset Quotes erd
10229 ) This macro will expand to the contents of the file with the name
10236 \begin_layout Description
10237 $$Sysdir This macro will expand to the absolute path of the system directory.
10238 This is typically used to point to the various helper scripts that are
10242 \begin_layout Standard
10243 All path macros contain a trailing directory separator, so you can construct
10245 the absolute filename with
10247 $$AbsPath$$Basename$$Extension
10252 \begin_layout Standard
10253 The macros above are substituted in all commands unless otherwise noted.
10258 supports additionally the following substitutions if they are enabled by
10270 \begin_layout Description
10271 $$ResizeFront The front part of the resize command.
10274 \begin_layout Description
10275 $$ResizeBack The back part of the resize command.
10278 \begin_layout Description
10279 $$RotateFront The front part of the rotation command.
10282 \begin_layout Description
10283 $$RotateBack The back part of the rotation command.
10286 \begin_layout Standard
10287 The value string of the
10291 command supports additionally the following substitutions if they are enabled
10303 \begin_layout Description
10304 $$Clip The clip option.
10307 \begin_layout Description
10308 $$Extra The extra option.
10311 \begin_layout Description
10312 $$Resize The resize option.
10315 \begin_layout Description
10316 $$Rotate The rotation option.
10319 \begin_layout Standard
10320 You may ask why there are so many path macros.
10321 There are mainly two reasons:
10324 \begin_layout Standard
10325 First, relative and absolute file names should remain relative or absolute,
10327 Users may have reasons to prefer either form.
10328 Relative names are useful for portable documents that should work on different
10329 machines, for example.
10330 Absolute names may be required by some programs.
10333 \begin_layout Standard
10334 Second, LaTeX treats relative file names differently than LyX and other
10335 programs in nested included files.
10336 For LyX, a relative file name is always relative to the document that contains
10338 For LaTeX, it is always relative to the master document.
10339 These two definitions are identical if you have only one document, but
10340 differ if you have a master document that includes part documents.
10341 That means that relative filenames must be transformed when presented to
10343 Fortunately LyX does this automatically for you if you choose the right
10347 \begin_layout Standard
10348 So which path macro should be used in new template definitions? The rule
10352 \begin_layout Itemize
10357 if an absolute path is required.
10360 \begin_layout Itemize
10363 $$AbsOrRelPathMaster
10365 if the substituted string is some kind of LaTeX input.
10368 \begin_layout Itemize
10371 $$AbsOrRelPathParent
10373 in order to preserve the user's choice.
10376 \begin_layout Standard
10377 There are special cases where this rule does not work and e.g.\InsetSpace ~
10379 are needed, but normally it will work just fine.
10380 One example for such a case is the command
10382 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
10384 in the XFig template above: We can't use the absolute name because the
10389 files needs the relative name in order to rewrite the file content.
10392 \begin_layout Section
10393 Security discussion
10396 \begin_layout Standard
10397 \begin_inset Note Note
10400 \begin_layout Standard
10401 This section is outdated
10406 The external material feature interfaces with a lot of external programs
10407 and does so automatically, so we have to consider the security implications
10409 In particular, since you have the option of including your own filenames
10410 and/or parameter strings and those are expanded into a command, it seems
10411 that it would be possible to create a malicious document which executes
10412 arbitrary commands when a user views or prints the document.
10413 This is something we definately want to avoid.
10416 \begin_layout Standard
10417 However, since the external program commands are specified in the template
10418 configuration file only, there are no security issues if LyX is properly
10419 configured with safe templates only.
10420 This is so because the external programs are invoked with the
10424 -system call rather than the
10428 system-call, so it's not possible to execute arbitrary commands from the
10429 filename or parameter section via the shell.
10432 \begin_layout Standard
10433 This also implies that you are restricted in what command strings you can
10434 use in the external material templates.
10435 In particular, pipes and redirection are not readily available.
10436 This has to be so if LyX should remain safe.
10437 If you want to use some of the shell features, you should write a safe
10438 script to do this in a controlled manner, and then invoke the script from
10439 the command string.
10444 directory of the LyX installation, you can find a safe wrapper script
10446 general_command_wrapper.py
10448 that supports redirection of input and output.
10449 That can serve as an example for how to write safe template scripts.
10450 For a more advanced example that uses
10454 and friends, take a look at the
10461 \begin_layout Standard
10462 It is possible to design a template that interacts directly with the shell,
10463 but since this would allow a malicious user to execute arbitrary commands
10464 by writing clever filenames and/or parameters, we generally recommend that
10465 you only use safe scripts that work with the
10469 system call in a controlled manner.
10470 Of course, for use in a controlled environment, it can be tempting to just
10471 fall back to use ordinary shell scripts.
10472 If you do so, be aware that you
10476 provide an easily exploitable security hole in your system.
10477 Of course it stands to reason that such unsafe templates will never be
10478 included in the standard LyX distribution, although we do encourage people
10479 to submit new templates in the open source tradition.
10480 But LyX as shipped from the official distribution channels will never have
10484 \begin_layout Standard
10485 Including external material provides a lot of power, and you have to be
10486 careful not to introduce security hazards with this power.
10487 A subtle error in a single line in an innocent looking script can open
10488 the door to huge security problems.
10489 So if you do not fully understand the issues, we recommend that you consult
10490 a knowledgable security professional or the LyX development team if you
10491 have any questions about whether a given template is safe or not.
10492 And do this before you use it in an uncontrolled environment.
10495 \begin_layout Chapter
10499 \begin_layout Section
10503 \begin_layout Standard
10504 The LyX server is a method implemented in LyX that will enable other programs
10505 to talk to LyX, invoke LyX commands, and retrieve information about the
10506 LyX internal state.
10507 This is only intended for advanced users, but they should find it useful.
10510 \begin_layout Section
10511 Starting the LyX Server
10514 \begin_layout Standard
10515 The LyX server works through the use of a pair of named pipes.
10516 These are usually located in your home directory and have the names
10517 \begin_inset Quotes eld
10525 \begin_inset Quotes erd
10529 \begin_inset Quotes eld
10537 \begin_inset Quotes erd
10541 External programs write into
10545 and read back data from
10550 The stem of the pipe names can be defined in the
10555 ools\SpecialChar \menuseparator
10562 dialog, for example
10564 "/home/myhome/.lyxpipe"
10569 \begin_layout Standard
10578 ' to create the pipes.
10579 The above setting also has the effect of activating the LyX server.
10580 If one of the pipes already exists, LyX will assume that another LyX process
10581 is already running and will not start the server.
10582 To have several LyX processes with servers at the same time, you have to
10583 change the configuration between the start of the programs.
10586 \begin_layout Standard
10587 If you are developing a client program, you might find it useful to enable
10588 debugging information from the LyX server.
10589 Do this by starting LyX as
10591 lyx -dbg lyxserver.
10594 \begin_layout Standard
10595 Warning: if LyX crashes, it may not manage to remove the pipes; in this
10596 case you must remove them manually.
10597 If LyX starts and the pipes exist already, it will not start any server.
10600 \begin_layout Standard
10601 Other than this, there are a few points to consider:
10604 \begin_layout Itemize
10605 Both server and clients must run on UNIX or OS/2 machines.
10606 Communications between LyX on UNIX and clients on OS/2 or vice versa is
10607 not possible right now.
10610 \begin_layout Itemize
10611 On OS/2, only one client can connect to LyXServer at a time.
10614 \begin_layout Itemize
10615 On OS/2, clients must open inpipe with
10622 \begin_layout Standard
10623 You can find a complete example client written in C in the source distribution
10626 development/server_monitor.c
10631 \begin_layout Section
10632 Normal communication
10635 \begin_layout Standard
10636 To issue a LyX call, the client writes a line of ASCII text into the input
10638 This line has the following format:
10641 \begin_layout Quote
10655 \begin_layout Standard
10660 is a name that the client can choose arbitrarily.
10661 Its only use is that LyX will echo it if it sends an answer - so a client
10662 can dispatch results from different requesters.
10665 \begin_layout Standard
10670 is the function you want LyX to perform.
10671 It is the same as the commands you'd use in the minibuffer.
10674 \begin_layout Standard
10679 is an optional argument which is meaningful only to some functions (for
10681 \begin_inset Quotes eld
10685 \begin_inset Quotes erd
10688 which will insert the argument as text at the cursor position.)
10691 \begin_layout Standard
10692 The answer from LyX will arrive in the output pipe and be of the form
10695 \begin_layout Quote
10709 \begin_layout Standard
10718 are just echoed from the command request, while
10722 is more or less useful information filled according to how the command
10723 execution worked out.
10724 Some commands will return information about the internal state of LyX,
10726 \begin_inset Quotes eld
10730 \begin_inset Quotes erd
10733 , while other will return an empty data-response.
10734 This means that the command execution went fine.
10737 \begin_layout Standard
10738 In case of errors, the response from LyX will have this form
10741 \begin_layout Quote
10755 \begin_layout Standard
10760 should contain an explanation of why the command failed.
10763 \begin_layout Standard
10767 \begin_layout LyX-Code
10768 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
10771 \begin_layout LyX-Code
10772 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
10774 read a <~/.lyxpipe.out
10779 \begin_layout Section
10783 \begin_layout Standard
10784 LyX can notify clients of events going on asynchronously.
10785 Currently it will only do this if the user binds a key sequence with the
10787 \begin_inset Quotes eld
10791 \begin_inset Quotes erd
10795 The format of the string LyX sends is as follows:
10798 \begin_layout Quote
10807 \begin_layout Standard
10812 is the printed representation of the key sequence that was actually typed
10816 \begin_layout Standard
10817 This mechanism can be used to extend LyX's command set and implement macros:
10818 bind some key sequence to
10819 \begin_inset Quotes eld
10823 \begin_inset Quotes erd
10826 , start a client that listens on the out pipe, dispatches the command according
10827 to the sequence and starts a function that may use LyX calls and LyX requests
10828 to issue a command or a series of commands to LyX.
10831 \begin_layout Section
10832 The simple LyX Server Protocol
10835 \begin_layout Standard
10836 LyX implements a simple protocol that can be used for session management.
10837 All messages are of the form
10840 \begin_layout Quote
10850 \begin_layout Standard
10856 \begin_inset Quotes eld
10860 \begin_inset Quotes erd
10864 \begin_inset Quotes eld
10868 \begin_inset Quotes erd
10873 \begin_inset Quotes eld
10877 \begin_inset Quotes erd
10880 is received from a client, LyX will report back to inform the client that
10881 it's listening to it's messages, while
10882 \begin_inset Quotes eld
10886 \begin_inset Quotes erd
10889 sent from LyX will inform clients that LyX is closing.
10892 \begin_layout Chapter
10897 \begin_layout Standard
10898 This appendix is a huge cross-reference to all the English language keybindings.
10899 Originally, we simply wanted to list all of the key bindings followed by
10900 the function it's bound to.
10901 That way, a user can look up a key to find out what it does.
10902 We then decided, what the hey, why not include the default toolbar and
10903 menu bindings, too.
10904 Please note this section is likely to be very out of date.
10907 \begin_layout Standard
10908 The form is really self-explanatory, but here are a few tips: all entries
10909 are arranged roughly alphabetically for a given modifier (
10918 For the general keyboard layout, simpler prefixes precede the more complex
10928 All entries were gleaned from the default user interface and binding files
10929 located in the directories
10931 \SpecialChar \ldots{}
10936 \SpecialChar \ldots{}
10939 ; they should be treated as the final word on the bindings.
10942 \begin_layout Standard
10943 As a final note, be aware that some window managers (such as FVWM) take
10944 control of some of the function keys or motion keys.
10949 is listed here as generating
10953 , but FVWM grabs it and uses it to change virtual desktops instead.
10954 Very annoying unless you instruct your window manager to stop intercepting
10958 \begin_layout Section
10962 \begin_layout LyX-Code
10966 \begin_layout LyX-Code
10970 \begin_layout LyX-Code
10974 \begin_layout LyX-Code
10975 Icon "buffer-write"
10978 \begin_layout LyX-Code
10979 Icon "buffer-print"
10982 \begin_layout LyX-Code
10986 \begin_layout LyX-Code
10990 \begin_layout LyX-Code
10994 \begin_layout LyX-Code
10998 \begin_layout LyX-Code
11002 \begin_layout LyX-Code
11006 \begin_layout LyX-Code
11010 \begin_layout LyX-Code
11014 \begin_layout LyX-Code
11018 \begin_layout LyX-Code
11022 \begin_layout LyX-Code
11026 \begin_layout LyX-Code
11030 \begin_layout LyX-Code
11031 Icon "footnote-insert"
11034 \begin_layout LyX-Code
11035 Icon "marginpar-insert"
11038 \begin_layout LyX-Code
11042 \begin_layout LyX-Code
11046 \begin_layout LyX-Code
11047 Icon "figure-insert"
11050 \begin_layout LyX-Code
11051 Icon "dialog-tabular-insert"
11054 \begin_layout LyX-Code
11058 \begin_layout Section
11062 \begin_layout Standard
11063 Note that the following bindings are for LyX with English menus.
11064 The second character of the binding depends on the menu language.
11066 \begin_inset Quotes eld
11074 \begin_inset Quotes erd
11077 is with German menus
11078 \begin_inset Quotes eld
11086 \begin_inset Quotes erd
11090 To find out the shortcuts of your language press the Meta (Alt)-key and
11091 press then the keys of the underlined characters of the menu names.
11094 \begin_layout Subsection
11099 \labelwidthstring 00.00.0000
11111 \labelwidthstring 00.00.0000
11123 \labelwidthstring 00.00.0000
11135 \labelwidthstring 00.00.0000
11149 \labelwidthstring 00.00.0000
11161 \labelwidthstring 00.00.0000
11175 \labelwidthstring 00.00.0000
11187 \labelwidthstring 00.00.0000
11199 \labelwidthstring 00.00.0000
11211 \labelwidthstring 00.00.0000
11223 \labelwidthstring 00.00.0000
11231 buffer-new-template
11235 \labelwidthstring 00.00.0000
11250 \labelwidthstring 00.00.0000
11261 \labelwidthstring 00.00.0000
11272 \labelwidthstring 00.00.0000
11283 \labelwidthstring 00.00.0000
11294 \labelwidthstring 00.00.0000
11305 \labelwidthstring 00.00.0000
11317 \labelwidthstring 00.00.0000
11328 \begin_layout Subsection
11333 \labelwidthstring 00.00.0000
11345 \labelwidthstring 00.00.0000
11357 \labelwidthstring 00.00.0000
11369 \labelwidthstring 00.00.0000
11381 \labelwidthstring 00.00.0000
11393 \labelwidthstring 00.00.0000
11405 \labelwidthstring 00.00.0000
11420 \labelwidthstring 00.00.0000
11427 tabular-feature append-row
11431 \labelwidthstring 00.00.0000
11438 tabular-feature toggle-line-bottom
11442 \labelwidthstring 00.00.0000
11449 tabular-feature align-center
11453 \labelwidthstring 00.00.0000
11460 tabular-feature delete-column
11464 \labelwidthstring 00.00.0000
11471 tabular-feature align-left
11475 \labelwidthstring 00.00.0000
11482 tabular-feature align-right
11486 \labelwidthstring 00.00.0000
11493 tabular-feature toggle-line-left
11497 \labelwidthstring 00.00.0000
11504 tabular-feature multicolumn
11508 \labelwidthstring 00.00.0000
11515 tabular-feature valign-center
11519 \labelwidthstring 00.00.0000
11526 tabular-feature valign-top
11530 \labelwidthstring 00.00.0000
11537 tabular-feature toggle-line-right
11541 \labelwidthstring 00.00.0000
11548 tabular-feature toggle-line-top
11552 \labelwidthstring 00.00.0000
11559 tabular-feature append-column
11563 \labelwidthstring 00.00.0000
11570 tabular-feature valign-bottom
11574 \labelwidthstring 00.00.0000
11581 tabular-feature delete-row
11586 \labelwidthstring 00.00.0000
11599 \labelwidthstring 00.00.0000
11606 floats-operate openfoot
11610 \labelwidthstring 00.00.0000
11617 floats-operate closefoot
11621 \labelwidthstring 00.00.0000
11628 floats-operate openfig
11632 \labelwidthstring 00.00.0000
11643 \labelwidthstring 00.00.0000
11654 \labelwidthstring 00.00.0000
11661 floats-operate closefig
11666 \labelwidthstring 00.00.0000
11678 \labelwidthstring 00.00.0000
11692 \labelwidthstring 00.00.0000
11704 \labelwidthstring 00.00.0000
11716 \labelwidthstring 00.00.0000
11730 \labelwidthstring 00.00.0000
11742 \labelwidthstring 00.00.0000
11757 \labelwidthstring 00.00.0000
11764 primary-selection-paste
11768 \labelwidthstring 00.00.0000
11775 primary-selection-paste paragraph
11779 \begin_layout Subsection
11784 \labelwidthstring 00.00.0000
11799 \labelwidthstring 00.00.0000
11806 buffer-float-insert algorithm
11810 \labelwidthstring 00.00.0000
11817 buffer-float-insert wide-tab
11821 \labelwidthstring 00.00.0000
11828 buffer-float-insert figure
11832 \labelwidthstring 00.00.0000
11839 buffer-float-insert table
11843 \labelwidthstring 00.00.0000
11850 buffer-float-insert wide-fig
11855 \labelwidthstring 00.00.0000
11863 dialog-tabular-insert
11867 \labelwidthstring 00.00.0000
11879 \labelwidthstring 00.00.0000
11891 \labelwidthstring 00.00.0000
11899 buffer-child-insert
11903 \labelwidthstring 00.00.0000
11915 \labelwidthstring 00.00.0000
11927 \labelwidthstring 00.00.0000
11939 \labelwidthstring 00.00.0000
11951 \labelwidthstring 00.00.0000
11963 \labelwidthstring 00.00.0000
11975 \labelwidthstring 00.00.0000
11987 \labelwidthstring 00.00.0000
12002 \labelwidthstring 00.00.0000
12013 \labelwidthstring 00.00.0000
12024 \labelwidthstring 00.00.0000
12035 \labelwidthstring 00.00.0000
12046 \labelwidthstring 00.00.0000
12057 \labelwidthstring 00.00.0000
12069 \labelwidthstring 00.00.0000
12081 \labelwidthstring 00.00.0000
12096 \labelwidthstring 00.00.0000
12103 protected-space-insert
12107 \labelwidthstring 00.00.0000
12114 end-of-sentence-period-insert
12118 \labelwidthstring 00.00.0000
12129 \labelwidthstring 00.00.0000
12140 \labelwidthstring 00.00.0000
12151 \labelwidthstring 00.00.0000
12158 menu-separator-insert
12162 \labelwidthstring 00.00.0000
12169 hyphenation-point-insert
12173 \labelwidthstring 00.00.0000
12184 \labelwidthstring 00.00.0000
12191 command-sequence math-insert ^;math-mode;
12195 \labelwidthstring 00.00.0000
12202 command-sequence math-insert _;math-mode;
12207 \labelwidthstring 00.00.0000
12222 \labelwidthstring 00.00.0000
12229 file-insert-plaintext lines
12233 \labelwidthstring 00.00.0000
12240 file-insert-plaintext paragraphs
12244 \labelwidthstring 00.00.0000
12256 \labelwidthstring 00.00.0000
12268 \labelwidthstring 00.00.0000
12280 \labelwidthstring 00.00.0000
12291 \begin_layout Subsection
12296 \labelwidthstring 00.00.0000
12308 \labelwidthstring 00.00.0000
12320 \labelwidthstring 00.00.0000
12332 \labelwidthstring 00.00.0000
12344 \labelwidthstring 00.00.0000
12356 \labelwidthstring 00.00.0000
12368 \labelwidthstring 00.00.0000
12380 \labelwidthstring 00.00.0000
12392 \labelwidthstring 00.00.0000
12400 layout-save-default
12404 \labelwidthstring 00.00.0000
12416 \labelwidthstring 00.00.0000
12428 \labelwidthstring 00.00.0000
12439 \begin_layout Subsubsection
12442 Layout\SpecialChar \menuseparator
12449 \labelwidthstring 00.00.0000
12461 \labelwidthstring 00.00.0000
12473 \labelwidthstring 00.00.0000
12485 \labelwidthstring 00.00.0000
12497 \labelwidthstring 00.00.0000
12509 \labelwidthstring 00.00.0000
12521 \labelwidthstring 00.00.0000
12533 \labelwidthstring 00.00.0000
12545 \labelwidthstring 00.00.0000
12557 \labelwidthstring 00.00.0000
12569 \labelwidthstring 00.00.0000
12581 \labelwidthstring 00.00.0000
12593 \labelwidthstring 00.00.0000
12605 \labelwidthstring 00.00.0000
12617 \labelwidthstring 00.00.0000
12629 \labelwidthstring 00.00.0000
12641 \labelwidthstring 00.00.0000
12653 \labelwidthstring 00.00.0000
12665 \labelwidthstring 00.00.0000
12677 \labelwidthstring 00.00.0000
12689 \labelwidthstring 00.00.0000
12701 \labelwidthstring 00.00.0000
12713 \labelwidthstring 00.00.0000
12725 \labelwidthstring 00.00.0000
12737 \labelwidthstring 00.00.0000
12749 \labelwidthstring 00.00.0000
12761 \labelwidthstring 00.00.0000
12773 \labelwidthstring 00.00.0000
12785 \labelwidthstring 00.00.0000
12797 \labelwidthstring 00.00.0000
12809 \labelwidthstring 00.00.0000
12821 \labelwidthstring 00.00.0000
12832 \begin_layout Subsection
12836 \begin_layout Subsection
12840 \begin_layout Subsection
12844 \begin_layout Subsection
12849 \labelwidthstring 00.00.0000
12861 \labelwidthstring 00.00.0000
12873 \labelwidthstring 00.00.0000
12885 \labelwidthstring 00.00.0000
12897 \labelwidthstring 00.00.0000
12909 \labelwidthstring 00.00.0000
12917 layout ShortFoilhead
12921 \labelwidthstring 00.00.0000
12933 \labelwidthstring 00.00.0000
12945 \labelwidthstring 00.00.0000
12957 \labelwidthstring 00.00.0000
12969 \labelwidthstring 00.00.0000
12977 layout ShortRotatefoilhead
12981 \labelwidthstring 00.00.0000
12993 \labelwidthstring 00.00.0000
13005 \labelwidthstring 00.00.0000
13017 \labelwidthstring 00.00.0000
13025 drop-layouts-choice
13029 \labelwidthstring 00.00.0000
13044 \labelwidthstring 00.00.0000
13059 \labelwidthstring 00.00.0000
13071 \labelwidthstring 00.00.0000
13083 \labelwidthstring 00.00.0000
13091 layout Subsubsection
13095 \labelwidthstring 00.00.0000
13107 \labelwidthstring 00.00.0000
13115 layout Subparagraph
13119 \labelwidthstring 00.00.0000
13123 asterisk\InsetSpace ~
13132 \labelwidthstring 00.00.0000
13136 asterisk\InsetSpace ~
13145 \labelwidthstring 00.00.0000
13149 asterisk\InsetSpace ~
13158 \labelwidthstring 00.00.0000
13162 asterisk\InsetSpace ~
13171 \labelwidthstring 00.00.0000
13175 asterisk\InsetSpace ~
13180 layout Subsubsection*
13184 \labelwidthstring 00.00.0000
13188 asterisk\InsetSpace ~
13197 \labelwidthstring 00.00.0000
13201 asterisk\InsetSpace ~
13206 layout Subparagraph*
13210 \labelwidthstring 00.00.0000
13222 \labelwidthstring 00.00.0000
13230 layout Bibliography
13234 \labelwidthstring 00.00.0000
13246 \labelwidthstring 00.00.0000
13258 \labelwidthstring 00.00.0000
13270 \labelwidthstring 00.00.0000
13282 \labelwidthstring 00.00.0000
13294 \labelwidthstring 00.00.0000
13302 layout Rotatefoilhead
13306 \labelwidthstring 00.00.0000
13314 layout RightAddress
13318 \labelwidthstring 00.00.0000
13330 \labelwidthstring 00.00.0000
13342 \labelwidthstring 00.00.0000
13354 \labelwidthstring 00.00.0000
13365 \begin_layout Standard
13366 These ones are kept for backwards compatibility, but only make sense on
13371 \labelwidthstring 00.00.0000
13383 \labelwidthstring 00.00.0000
13391 layout Subsubsection*
13395 \labelwidthstring 00.00.0000
13406 \begin_layout Section
13410 \begin_layout Subsection
13417 \labelwidthstring 00.00.0000
13428 \labelwidthstring 00.00.0000
13439 \labelwidthstring 00.00.0000
13450 \labelwidthstring 00.00.0000
13461 \labelwidthstring 00.00.0000
13472 \labelwidthstring 00.00.0000
13483 \labelwidthstring 00.00.0000
13490 hyphenation-point-insert
13494 \labelwidthstring 00.00.0000
13505 \labelwidthstring 00.00.0000
13512 line-delete-forward
13516 \labelwidthstring 00.00.0000
13527 \labelwidthstring 00.00.0000
13538 \labelwidthstring 00.00.0000
13549 \labelwidthstring 00.00.0000
13560 \labelwidthstring 00.00.0000
13571 \labelwidthstring 00.00.0000
13582 \labelwidthstring 00.00.0000
13593 \labelwidthstring 00.00.0000
13604 \labelwidthstring 00.00.0000
13615 \labelwidthstring 00.00.0000
13626 \labelwidthstring 00.00.0000
13637 \labelwidthstring 00.00.0000
13648 \labelwidthstring 00.00.0000
13660 \labelwidthstring 00.00.0000
13672 \labelwidthstring 00.00.0000
13684 \labelwidthstring 00.00.0000
13696 \labelwidthstring 00.00.0000
13709 \labelwidthstring 00.00.0000
13721 \labelwidthstring 00.00.0000
13733 \labelwidthstring 00.00.0000
13745 \labelwidthstring 00.00.0000
13757 \labelwidthstring 00.00.0000
13770 \labelwidthstring 00.00.0000
13782 \labelwidthstring 00.00.0000
13794 \labelwidthstring 00.00.0000
13807 \labelwidthstring 00.00.0000
13820 \labelwidthstring 00.00.0000
13833 \labelwidthstring 00.00.0000
13846 \labelwidthstring 00.00.0000
13859 \labelwidthstring 00.00.0000
13872 \labelwidthstring 00.00.0000
13884 \labelwidthstring 00.00.0000
13896 \labelwidthstring 00.00.0000
13908 \labelwidthstring 00.00.0000
13916 menu-open Documents
13920 \labelwidthstring 00.00.0000
13932 \labelwidthstring 00.00.0000
13944 \labelwidthstring 00.00.0000
13956 \labelwidthstring 00.00.0000
13968 \labelwidthstring 00.00.0000
13980 \labelwidthstring 00.00.0000
13988 buffer-toggle-read-only
13992 \labelwidthstring 00.00.0000
14004 \labelwidthstring 00.00.0000
14016 \labelwidthstring 00.00.0000
14028 \labelwidthstring 00.00.0000
14039 \labelwidthstring 00.00.0000
14050 \labelwidthstring 00.00.0000
14061 \labelwidthstring 00.00.0000
14072 \labelwidthstring 00.00.0000
14083 \labelwidthstring 00.00.0000
14094 \labelwidthstring 00.00.0000
14105 \labelwidthstring 00.00.0000
14116 \labelwidthstring 00.00.0000
14127 \labelwidthstring 00.00.0000
14138 \labelwidthstring 00.00.0000
14149 \labelwidthstring 00.00.0000
14160 \labelwidthstring 00.00.0000
14171 \labelwidthstring 00.00.0000
14182 \labelwidthstring 00.00.0000
14189 word-delete-forward
14193 \labelwidthstring 00.00.0000
14200 word-delete-backward
14204 \labelwidthstring 00.00.0000
14215 \labelwidthstring 00.00.0000
14222 end-of-sentence-period-insert
14226 \labelwidthstring 00.00.0000
14233 protected-space-insert
14237 \labelwidthstring 00.00.0000
14248 \labelwidthstring 00.00.0000
14259 \labelwidthstring 00.00.0000
14270 \labelwidthstring 00.00.0000
14281 \labelwidthstring 00.00.0000
14292 \labelwidthstring 00.00.0000
14303 \labelwidthstring 00.00.0000
14310 buffer-begin-select
14314 \labelwidthstring 00.00.0000
14325 \labelwidthstring 00.00.0000
14332 paragraph-up-select
14336 \labelwidthstring 00.00.0000
14343 paragraph-down-select
14347 \labelwidthstring 00.00.0000
14354 word-backward-select
14358 \labelwidthstring 00.00.0000
14365 word-forward-select
14369 \labelwidthstring 00.00.0000
14380 \labelwidthstring 00.00.0000
14387 word-delete-forward
14391 \labelwidthstring 00.00.0000
14402 \labelwidthstring 00.00.0000
14413 \labelwidthstring 00.00.0000
14424 \labelwidthstring 00.00.0000
14435 \labelwidthstring 00.00.0000
14442 break-paragraph-keep-layout
14446 \labelwidthstring 00.00.0000
14456 \begin_layout Subsection
14463 \labelwidthstring 00.00.0000
14474 \labelwidthstring 00.00.0000
14485 \labelwidthstring 00.00.0000
14496 \labelwidthstring 00.00.0000
14507 \labelwidthstring 00.00.0000
14518 \labelwidthstring 00.00.0000
14529 \labelwidthstring 00.00.0000
14540 \labelwidthstring 00.00.0000
14551 \labelwidthstring 00.00.0000
14562 \labelwidthstring 00.00.0000
14573 \labelwidthstring 00.00.0000
14584 \labelwidthstring 00.00.0000
14595 \labelwidthstring 00.00.0000
14606 \labelwidthstring 00.00.0000
14617 \labelwidthstring 00.00.0000
14628 \labelwidthstring 00.00.0000
14639 \labelwidthstring 00.00.0000
14650 \labelwidthstring 00.00.0000
14661 \labelwidthstring 00.00.0000
14672 \labelwidthstring 00.00.0000
14683 \labelwidthstring 00.00.0000
14694 \labelwidthstring 00.00.0000
14705 \labelwidthstring 00.00.0000
14712 protected-space-insert
14716 \labelwidthstring 00.00.0000
14727 \labelwidthstring 00.00.0000
14738 \labelwidthstring 00.00.0000
14749 \labelwidthstring 00.00.0000
14756 buffer-new-template
14760 \labelwidthstring 00.00.0000
14771 \labelwidthstring 00.00.0000
14782 \labelwidthstring 00.00.0000
14793 \labelwidthstring 00.00.0000
14804 \labelwidthstring 00.00.0000
14815 \labelwidthstring 00.00.0000
14826 \labelwidthstring 00.00.0000
14837 \labelwidthstring 00.00.0000
14844 end-of-sentence-period-insert
14848 \labelwidthstring 00.00.0000
14859 \labelwidthstring 00.00.0000
14870 \labelwidthstring 00.00.0000
14877 hyphenation-point-insert
14881 \labelwidthstring 00.00.0000
14892 \labelwidthstring 00.00.0000
14899 protected-space-insert
14903 \labelwidthstring 00.00.0000
14914 \labelwidthstring 00.00.0000
14925 \labelwidthstring 00.00.0000
14936 \labelwidthstring 00.00.0000
14947 \labelwidthstring 00.00.0000
14958 \labelwidthstring 00.00.0000
14969 \labelwidthstring 00.00.0000
14980 \labelwidthstring 00.00.0000
14991 \labelwidthstring 00.00.0000
15002 \labelwidthstring 00.00.0000
15013 \labelwidthstring 00.00.0000
15024 \labelwidthstring 00.00.0000
15035 \labelwidthstring 00.00.0000
15046 \labelwidthstring 00.00.0000
15057 \labelwidthstring 00.00.0000
15068 \labelwidthstring 00.00.0000
15075 word-delete-forward
15079 \labelwidthstring 00.00.0000
15086 word-delete-backward
15090 \labelwidthstring 00.00.0000
15101 \labelwidthstring 00.00.0000
15112 \labelwidthstring 00.00.0000
15123 \labelwidthstring 00.00.0000
15134 \labelwidthstring 00.00.0000
15141 paragraph-down-select
15145 \labelwidthstring 00.00.0000
15156 \labelwidthstring 00.00.0000
15163 buffer-begin-select
15167 \labelwidthstring 00.00.0000
15174 word-backward-select
15178 \labelwidthstring 00.00.0000
15185 word-forward-select
15189 \labelwidthstring 00.00.0000
15196 paragraph-up-select
15200 \labelwidthstring 00.00.0000
15211 \labelwidthstring 00.00.0000
15218 break-paragraph-keep-layout
15222 \labelwidthstring 00.00.0000
15233 \labelwidthstring 00.00.0000
15244 \labelwidthstring 00.00.0000
15255 \labelwidthstring 00.00.0000
15266 \labelwidthstring 00.00.0000
15277 \labelwidthstring 00.00.0000
15288 \labelwidthstring 00.00.0000
15299 \labelwidthstring 00.00.0000
15310 \labelwidthstring 00.00.0000
15321 \labelwidthstring 00.00.0000
15332 \labelwidthstring 00.00.0000
15342 \begin_layout Subsection
15348 \begin_layout Standard
15349 These are LyX keyboard definitions for mathematics, similar to those of
15353 \begin_layout Standard
15354 The bindings file and the present documentation were prepared by Serge Winitzki
15355 with assistance from Jean-Marc Lasgouttes.
15356 Version 1.3, for LyX 1.2.x and 1.3.x.
15359 \begin_layout Standard
15360 These definitions make it a lot easier to type equations without using the
15361 mouse, especially for people familiar with Scientific Word.
15362 The standard LyX bindings such as
15373 \begin_layout Standard
15374 Tip: to find the "LyX bind name" for a key, look at the status bar after
15375 typing some non-existent key combination.
15377 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
15378 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
15382 \labelwidthstring 00.00.0000
15391 -- Copy, cut, paste is as in Sciword,
15407 \labelwidthstring 00.00.0000
15416 -- Display equation toggle: type
15420 to insert a displayed formula (
15425 \begin_inset Quotes eld
15429 \begin_inset Quotes erd
15437 in a displayed formula to convert it back to an inline formula.
15441 \labelwidthstring 00.00.0000
15456 to insert a fraction (
15461 \begin_inset Quotes eld
15465 \begin_inset Quotes erd
15469 You can also select an expression and type
15473 to convert it to the numerator of a fraction.
15482 end of the denominator will delete the numerator and convert the denominator
15487 \labelwidthstring 00.00.0000
15499 \begin_inset Formula $\int$
15507 \begin_inset Quotes eld
15511 \begin_inset Quotes erd
15518 \labelwidthstring 00.00.0000
15525 line-delete-forward
15527 -- Emacs-like binding: delete forward of cursor to end of line.
15531 \labelwidthstring 00.00.0000
15540 -- A text/math toggle (
15545 \begin_inset Quotes eld
15549 \begin_inset Quotes erd
15552 ): switches to math in text mode, and also inserts roman text in math mode.
15562 \begin_inset Quotes eld
15566 \begin_inset Quotes erd
15573 \labelwidthstring 00.00.0000
15582 -- Add/remove numbering in a single equation.
15586 \labelwidthstring 00.00.0000
15595 -- Add/remove numbering at a line in equation arrays.
15598 \begin_layout Standard
15599 The above commands are toggles that control the numbering of equations (
15604 \begin_inset Quotes eld
15608 \begin_inset Quotes erd
15612 Note: when deleting a number in a labeled eqnarray, the label is not really
15613 removed (the TeX code becomes
15614 \begin_inset Quotes eld
15626 \begin_inset Quotes erd
15629 ) and this generates a (harmless) LaTeX warning.
15633 \labelwidthstring 00.00.0000
15642 -- Open a new document.
15647 \labelwidthstring 00.00.0000
15656 -- Insert a quote character " (
15661 \begin_inset Quotes eld
15665 \begin_inset Quotes erd
15670 \begin_inset Quotes eld
15674 \begin_inset Quotes erd
15677 double quote character that you get by default.
15681 \labelwidthstring 00.00.0000
15692 -- Square root sign
15693 \begin_inset Formula $\sqrt{x}$
15701 \begin_inset Quotes eld
15705 \begin_inset Quotes erd
15712 \labelwidthstring 00.00.0000
15724 \begin_inset Formula $\sqrt[n]{x}$
15731 \labelwidthstring 00.00.0000
15740 -- Another binding for a switch between the text and the math mode (
15745 \begin_inset Quotes eld
15749 \begin_inset Quotes erd
15753 Note that the roman text inserted in math mode is special.
15757 \labelwidthstring 00.00.0000
15770 the selected text (text mode only, use things like
15786 \labelwidthstring 00.00.0000
15795 -- W*ndows heritage.
15799 \labelwidthstring 00.00.0000
15808 -- Close the current document (again, a W*ndows heritage).
15812 \labelwidthstring 00.00.0000
15823 \labelwidthstring 00.00.0000
15834 \labelwidthstring 00.00.0000
15844 \begin_inset Quotes eld
15848 \begin_inset Quotes erd
15852 \begin_inset Quotes eld
15856 \begin_inset Quotes erd
15862 \begin_layout Standard
15863 Bracket delimiters: press
15867 -<bracket key> to insert a matching pair of delimiters.
15872 inserts a pair of parentheses
15873 \begin_inset Formula $\left[\right]$
15881 does the same thing.) It will switch to math mode if needed.
15882 The supported characters are ( [ { < |.
15883 It is the same to press the right or the left bracket.
15884 The corresponding delimiters are
15885 \begin_inset Formula $\left(\right)$
15889 \begin_inset Formula $\left[\right]$
15893 \begin_inset Formula $\left\{ \right\} $
15897 \begin_inset Formula $\left\langle \right\rangle $
15901 \begin_inset Formula $\left|\right|$
15906 \begin_inset Quotes eld
15910 \begin_inset Quotes erd
15913 and resize with their contents.
15914 Use Math Panel to get other or non-matching delimiters.
15915 Press backspace on the
15919 delimiter to remove both
15920 \begin_inset Quotes eld
15924 \begin_inset Quotes erd
15927 delimiters without removing their contents.
15931 \labelwidthstring 00.00.0000
15940 -- for convenience, pressing
15954 \labelwidthstring 00.00.0000
15965 \labelwidthstring 00.00.0000
15976 \labelwidthstring 00.00.0000
15987 \labelwidthstring 00.00.0000
15998 \labelwidthstring 00.00.0000
16009 \labelwidthstring 00.00.0000
16016 math-delim langle rangle
16018 -- angular delimiters
16019 \begin_inset Formula $\left\langle \right\rangle $
16022 , not to confuse with ordinary < > signs.
16026 \labelwidthstring 00.00.0000
16033 math-delim langle rangle
16036 \begin_layout Standard
16037 The bar bracket: on some keyboards (e.g.\InsetSpace ~
16038 some British ones), the bar character
16043 -something and on some wayward Unices to "brokenbar".
16044 So we define all of these keys as well.
16048 \labelwidthstring 00.00.0000
16059 \labelwidthstring 00.00.0000
16070 \labelwidthstring 00.00.0000
16081 \labelwidthstring 00.00.0000
16092 \labelwidthstring 00.00.0000
16102 \begin_layout Standard
16103 Accents are in most cases
16107 -<accent key>, e.g.\InsetSpace ~
16121 for tilde (you also need to press
16127 \begin_inset Quotes eld
16139 \begin_inset Quotes erd
16143 Some accents work only in math mode and others only in text mode.
16147 \labelwidthstring 00.00.0000
16156 -- overdot accent, ȧ (text mode only).
16160 \labelwidthstring 00.00.0000
16172 \begin_inset Formula $\dot{a}$
16175 (math mode only -- in physics this denotes a first derivative).
16179 \labelwidthstring 00.00.0000
16190 -- Vector accent over math
16191 \begin_inset Formula $\overrightarrow{x}$
16198 \labelwidthstring 00.00.0000
16207 -- umlaut accent, ä (text mode only)
16211 \labelwidthstring 00.00.0000
16222 -- double dot accent,
16223 \begin_inset Formula $\ddot{a}$
16226 (math mode only -- in physics this denotes a second derivative).
16227 To get a triple dot in math mode, use
16235 \labelwidthstring 00.00.0000
16244 -- grave accent à (text mode only, use
16254 \labelwidthstring 00.00.0000
16263 -- tilde accent ã (text mode only, use
16273 \labelwidthstring 00.00.0000
16282 -- acute accent á (text mode only, use
16292 \labelwidthstring 00.00.0000
16301 -- circumflex (caret) accent â (text mode only, use
16310 \begin_layout Standard
16312 The new key S-F2 for creating a LaTeX file seems handy.
16316 \labelwidthstring 00.00.0000
16325 -- Save current document.
16329 \labelwidthstring 00.00.0000
16336 buffer-export latex
16338 -- Write a LaTeX file for the current document.
16342 \labelwidthstring 00.00.0000
16351 -- Find and replace dialog.
16355 \labelwidthstring 00.00.0000
16372 \labelwidthstring 00.00.0000
16385 to quit LyX is the W*ndows w*ndow manager's mnemonic.
16388 \begin_layout Standard
16397 are used to switch fonts.
16402 to switch back to the normal font.
16403 The non-default font switches
16411 all work as toggles.
16412 They also work on the whole word if you put the cursor in the middle of
16413 the word, or if you select some text.
16417 \labelwidthstring 00.00.0000
16426 -- stop using any special font
16430 \labelwidthstring 00.00.0000
16447 \labelwidthstring 00.00.0000
16464 \labelwidthstring 00.00.0000
16481 \labelwidthstring 00.00.0000
16495 (Used sometimes for people's names.)
16498 \begin_layout Standard
16504 \begin_inset Quotes eld
16508 \begin_inset Quotes erd
16515 key (useful e.g.\InsetSpace ~
16516 if the keyboard has no working
16523 \begin_layout Standard
16524 Here are some Sciword-inspired mnemonics for frequently used math symbols.
16525 Many symbols start with a
16534 cannot be itself bound to anything.
16538 \labelwidthstring 00.00.0000
16550 \begin_inset Quotes eld
16554 \begin_inset Quotes erd
16558 \begin_inset Formula $\prime$
16562 This is frequently unnecessary: in most cases the normal apostrophe works
16565 \begin_inset Formula $x'+2x=0$
16568 , but in some cases this would generate a double superscript error in LaTeX.
16570 \begin_inset Formula $x^{\prime2}$
16574 \begin_inset Formula $x$
16577 prime squared) must be entered with the prime character.
16581 \labelwidthstring 00.00.0000
16589 command-sequence math-superscript; math-insert
16593 -- Insert a prime as a superscript (see example above).
16597 \labelwidthstring 00.00.0000
16606 -- Insert an upper index.
16613 \labelwidthstring 00.00.0000
16622 -- Insert a lower index.
16629 \labelwidthstring 00.00.0000
16641 -- Partial derivative symbol
16642 \begin_inset Formula $\partial$
16649 \labelwidthstring 00.00.0000
16661 -- Summation symbol
16662 \begin_inset Formula $\sum$
16665 (not the same as the Greek letter uppercase Sigma
16666 \begin_inset Formula $\Sigma$
16669 because it can resize and allows smart upper/lower limits).
16673 \labelwidthstring 00.00.0000
16686 \begin_inset Formula $\prod$
16689 (not the same as the Greek letter uppercase Pi,
16690 \begin_inset Formula $\Pi$
16697 \labelwidthstring 00.00.0000
16710 \begin_inset Formula $\infty$
16717 \labelwidthstring 00.00.0000
16730 \begin_inset Formula $\times$
16737 \labelwidthstring 00.00.0000
16747 -- Insert a stacked array
16748 \begin_inset Formula $\begin{array}{c}
16750 \end{array}\end{array}$
16754 (Frequently useful in formulae.)
16758 \labelwidthstring 00.00.0000
16769 \begin_inset Formula $\times$
16773 \begin_inset Formula $\begin{array}{ccc}
16778 (Then you can modify its size using the
16780 Edit\SpecialChar \menuseparator
16787 \labelwidthstring 00.00.0000
16800 \begin_inset Quotes eld
16804 \begin_inset Quotes erd
16808 \begin_inset Formula $\dagger$
16815 \labelwidthstring 00.00.0000
16828 \begin_inset Quotes eld
16832 \begin_inset Quotes erd
16836 \begin_inset Formula $\equiv$
16843 \labelwidthstring 00.00.0000
16855 \begin_inset Quotes eld
16858 Approximate equality
16859 \begin_inset Quotes erd
16863 \begin_inset Formula $\approx$
16870 \labelwidthstring 00.00.0000
16882 \begin_inset Quotes eld
16886 \begin_inset Quotes erd
16890 \begin_inset Formula $\sim$
16897 \labelwidthstring 00.00.0000
16909 \begin_inset Formula $\rightarrow$
16913 \begin_inset Formula $\lim_{x\rightarrow0}$
16920 \labelwidthstring 00.00.0000
16932 \begin_inset Formula $\leq$
16939 \labelwidthstring 00.00.0000
16950 -- Greater-or-equal
16951 \begin_inset Formula $\geq$
16958 \labelwidthstring 00.00.0000
16971 \begin_inset Quotes eld
16975 \begin_inset Quotes erd
16979 \begin_inset Formula $\ll$
16982 (useful in physics)
16986 \labelwidthstring 00.00.0000
16999 \begin_inset Quotes eld
17003 \begin_inset Quotes erd
17007 \begin_inset Formula $\gg$
17013 \begin_layout Subsection
17014 Standard math bindings
17018 \labelwidthstring 00.00.0000
17032 \labelwidthstring 00.00.0000
17044 \labelwidthstring 00.00.0000
17056 \labelwidthstring 00.00.0000
17070 \labelwidthstring 00.00.0000
17082 \labelwidthstring 00.00.0000
17094 \labelwidthstring 00.00.0000
17108 \labelwidthstring 00.00.0000
17120 \labelwidthstring 00.00.0000
17132 \labelwidthstring 00.00.0000
17144 \labelwidthstring 00.00.0000
17158 \labelwidthstring 00.00.0000
17172 \labelwidthstring 00.00.0000
17186 \labelwidthstring 00.00.0000
17200 \labelwidthstring 00.00.0000
17214 \labelwidthstring 00.00.0000
17228 \labelwidthstring 00.00.0000
17240 \labelwidthstring 00.00.0000
17254 \labelwidthstring 00.00.0000
17266 \labelwidthstring 00.00.0000
17278 \labelwidthstring 00.00.0000
17290 \labelwidthstring 00.00.0000
17302 \labelwidthstring 00.00.0000
17316 \labelwidthstring 00.00.0000
17328 \labelwidthstring 00.00.0000
17340 \labelwidthstring 00.00.0000
17352 \labelwidthstring 00.00.0000
17360 math-delim langle rangle
17364 \labelwidthstring 00.00.0000
17372 math-delim rangle langle
17376 \labelwidthstring 00.00.0000
17388 \labelwidthstring 00.00.0000
17402 \labelwidthstring 00.00.0000
17415 \begin_layout Subsection
17420 \labelwidthstring 00.00.0000
17432 \labelwidthstring 00.00.0000
17444 \labelwidthstring 00.00.0000
17456 \labelwidthstring 00.00.0000
17468 \labelwidthstring 00.00.0000