1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
6 \IfFileExists{isolatin.def}
7 {\usepackage[isolatin]{inputenc}}
8 {\usepackage[latin1]{inputenc}}
11 \inputencoding default
14 \paperfontsize default
21 \use_numerical_citations 0
22 \paperorientation portrait
25 \paragraph_separation indent
27 \quotes_language english
31 \paperpagestyle headings
35 Customizing LyX: Features for the Advanced User
44 Principal maintainer of this file is
49 If you have comments or error corrections, please send them to the LyX
50 Documentation mailing list, <lyx-docs@lists.lyx.org>.
57 \begin_inset LatexCommand \tableofcontents{}
67 This manual covers the customization features present in LyX.
68 In it, we discuss issues like keyboard shortcuts, screen previewing options,
69 printer options, sending commands to LyX via the LyX Server, internationalizati
70 on, installing new LaTeX classes and LyX layouts, etc.
71 We can't possibly hope to touch on everything you can change---our developers
72 add new features faster than we can document them---but we will explain
73 the most common customizations and hopefully point you in the right direction
74 for some of the more obscure ones.
77 LyX configuration files
81 \begin_inset LatexCommand \label{chap:config}
85 This chapter aims to help you to find your way through the LyX configuration
87 Before continuing to read this chapter, you should find out where your
88 LyX library directory is by using
93 elp\SpecialChar \menuseparator
101 This directory is the place where LyX places its system-wide configuration
102 files, and we will simply name it
106 in the remainder of this document.
121 and its sub-directories contain a number of files and that can be used
122 to customise LyX's behaviour.
123 You can change many of these files from within LyX itself through the
128 ools\SpecialChar \menuseparator
136 Most customization that you might want to do to LyX is possible through
138 However, many other inner aspects of LyX can be customized by modifying
144 They fall in different categories, described in the following subsections.
147 Automatically generated files
150 These files are generated when you configure LyX.
151 They contain various default values that are guessed by inspection.
152 In general, it is not a good idea to modify them, since they might be overwritt
155 \labelwidthstring 00.00.0000
163 contains defaults for various commands.
165 \labelwidthstring 00.00.0000
173 contains the list of packages that have been recognized by LyX.
174 It is currently unused by the LyX program itself, but the information extracted
175 , and more, is made available with
180 elp\SpecialChar \menuseparator
190 \labelwidthstring 00.00.0000
198 is the list of text classes that have been found in your
202 directory, along with the associated LaTeX document class and their description.
204 \labelwidthstring 00.00.0000
210 is automatically generated during configuration from the file
219 \labelwidthstring 00.00.0000
227 this directory contains files with the extension
231 that define the keybindings used in LyX (see section\SpecialChar ~
233 \begin_inset LatexCommand \ref{sec:bindings}
238 If there exists an internationalized version of the bindfile named
242 , that will be used first.
243 See Chapter\SpecialChar ~
245 \begin_inset LatexCommand \ref{chap:i18n}
250 \begin_inset LatexCommand \ref{sec:bindings}
256 \labelwidthstring 00.00.0000
264 contains graphics files that can be included in documents.
267 \labelwidthstring 00.00.0000
275 contains LyX documentation files (including the one you are currently reading).
280 deserves special attention, as noted above.
281 If there exists an internationalized version of the help-document with
286 prepended to the name, that will be used first.
287 See Chapter\SpecialChar ~
289 \begin_inset LatexCommand \ref{chap:i18n}
295 \labelwidthstring 00.00.0000
303 contains example files that explain how to use some features.
304 In the file browser, press the
310 \labelwidthstring 00.00.0000
316 contains image files that are used by the
321 In addition, it also contains the individual icons used in the toolbar
322 and the banners that can be shown when LyX is launched.
324 \labelwidthstring 00.00.0000
332 contains keyboard keymapping files.
333 See Chapter\SpecialChar ~
335 \begin_inset LatexCommand \ref{sec:keymap}
341 \labelwidthstring 00.00.0000
349 contains the text class files described in Chapter\SpecialChar ~
351 \begin_inset LatexCommand \ref{chap:textclass}
357 \labelwidthstring 00.00.0000
363 contains lots of files that together make up reLyX, the translator of
364 \begin_inset Quotes eld
368 \begin_inset Quotes erd
373 \labelwidthstring 00.00.0000
379 contains some files that demonstrate the capabilities of the
381 External\SpecialChar ~
386 \labelwidthstring 00.00.0000
392 contains the standard LyX template files described in Chapter\SpecialChar ~
394 \begin_inset LatexCommand \ref{sec:templates}
400 \labelwidthstring 00.00.0000
406 contains some LaTeX cls files distributed with LyX.
408 \labelwidthstring 00.00.0000
414 contains files with the extension
418 that define the user interface to LyX.
419 That is, the files define which items appear in which menus and the items
420 appearing on the toolbar.
421 See Chapter\SpecialChar ~
423 \begin_inset LatexCommand \ref{sec:ui}
430 Files you don't want to modify
433 These files are used internally by LyX and you generally do not need to
434 modify them unless you are a developer.
436 \labelwidthstring 00.00.0000
444 this file contains the list of LyX developers.
445 The contents are displayed with the menu entry
450 elp\SpecialChar \menuseparator
456 \labelwidthstring 00.00.0000
464 this is a LaTeX script used during the configuration process.
467 \labelwidthstring 00.00.0000
475 this is the script that is used to re-configure LyX.
476 It creates configuration files in the directory it was run from.
479 Other files needing a line or two...
481 \labelwidthstring 00.00.0000
487 this contains tables describing how different character encodings can be
490 \labelwidthstring 00.00.0000
496 this file contains the templates available to the new
498 External\SpecialChar ~
503 \labelwidthstring 00.00.0000
509 this file contains a list of all the languages currently supported by LyX.
511 \labelwidthstring 00.00.0000
517 Deprecated and definitely obfuscated.
518 This is the old style preferences file.
519 It will probably disappear in the near future.
522 Your local configuration directory
525 Even if you are using LyX as an unprivileged user, you might want to change
526 LyX configuration for your own use.
531 directory contains all your personal configuration files.
532 This is the directory described as
533 \begin_inset Quotes eld
537 \begin_inset Quotes erd
545 elp\SpecialChar \menuseparator
550 This directory is used as a mirror of
554 , which means that every file in
558 is a replacement for the corresponding file in
563 Any configuration file described in the above sections can be placed either
564 in the system-wide directory, in which case it will affect all users, or
565 in your local directory for your own use.
568 To make things clearer, let's provide a few examples:
571 The preferences set in the
576 ools\SpecialChar \menuseparator
583 dialog are saved to a file
594 When you reconfigure using
599 ools\SpecialChar \menuseparator
610 and the resulting files are written in your local configuration directory
611 (see section\SpecialChar ~
613 \begin_inset LatexCommand \ref{sec:autodetected}
617 to have a list of the
621 settings affected by this section).
622 This means that any additional text class file that you might have added
627 will be added to the list of classes in the
632 ayout\SpecialChar \menuseparator
642 Similarly, if you have installed some LaTeX document classes in your home
643 directory, that LaTeX can find with your
647 path, they will show up in your list of text classes.
653 as long as LyX or yourself have a
657 file for it, of course.
663 If you get some updated documentation from LyX ftp site and cannot install
664 it because you do not have sysadmin rights on your system, you can just
679 Running LyX with multiple configurations
682 The configuration freedom of the local configuration directory may not suffice
683 if you want to have more than one configuration at your disposal.
684 For example, you may want to be use different key bindings or printer settings
686 You can achieve this by having several such directories.
687 You then specify which directory to use at run-time.
690 Invoking LyX with the command line switch
697 instructs the program to read the configuration from that directory, and
698 not from the default directory (you can determine the default directory
699 by running LyX without this switch as described above).
700 If this directory does not exist, LyX offers to create it for you, just
701 like it does for the default directory on the first time you run the program.
702 You can modify the configuration options in this additional
706 exactly as you would for the default directory.
707 These directories are completely independent (but read on).
708 Note that setting the environment variable
712 to some value has exactly the same effect
717 Having several configurations also requires more maintenance: if you want
718 to add a new layout to
722 which you want available from all your configurations, you must add it
723 to each directory separately.
724 You can avoid this with the following trick: after LyX creates the additional
725 directory, most of the subdirectories (see above) are empty.
726 If you want the new configuration to mirror an existing one, replace the
727 empty subdirectory with a symbolic link to the matching subdirectory in
728 the existing configuration.
735 subirectory, however, since it contains a file written by the configuration
736 script (also accessible through
741 ools\SpecialChar \menuseparator
747 \begin_inset LatexCommand \ref{sec:autodetected}
753 which is configuration-specific.
766 Using the dialog for the first time
773 file will contain only changes that you have made to the default behaviour,
774 some of which is hard-coded into LyX and some of which is contained in
777 LyXDir/lyxrc.defaults
780 Note that in both files lines beginning with a
781 \begin_inset Quotes eld
789 \begin_inset Quotes erd
792 are just comments and not interpreted.
793 However, only system administrators should edit
804 ools\SpecialChar \menuseparator
811 dialog to create and modify their own
823 ools\SpecialChar \menuseparator
830 dialog will be largely self-explanatory.
831 Almost all the commands have an associated comment, so you shouldn't have
832 too much trouble modifying it to taste.
833 Before we highlight a few of the more important commands below, however,
838 ing some of your changes (e.g., screen fonts) will have an instant effect.
840 changing the bind file) will not.
841 If nothing appears to have changed, just
845 the changes and restart LyX.
851 The font used to display your documents on the LyX screen is very important,
852 since you'll be reading all your documents with this font.
853 Therefore it is important that the font is as readable and good-looking
855 The LyX team tried to provide the best possible default font for you, but
856 since practically all X11 systems are different, it's likely that the default
857 fonts will be sub-optimal on your system.
858 Fortunately, you can do something about this.
859 Before we explain how to do this, you should learn a bit more about fonts
860 so that you are better prepared for choosing your fonts, because it is
861 a trade-off that is specific to your preferences and the capabilities of
865 Notice that this section only deals with the fonts on the
869 inside the LyX window.
870 The fonts that appear on the
878 are independent from these fonts, and are determined by the document class.
883 to learn how to change the font of the printed version of your document.
886 Basically, screen fonts come in two different kinds: scalable outline fonts
887 and non-scalable bitmap fonts.
888 This distinction seems a bit arbitrary, since non-scalable fonts are actually
889 scalable in most modern font renderers.
890 The difference lies in the
894 of the scaling, and the
899 The most important decision is thus whether you should use non-scalable
900 bitmap fonts or scalable outline fonts.
903 The scalable fonts are built from
907 of the single glyphs (i.e.
908 characters) in the font.
909 This means that each glyph is defined using mathematical curves that are
910 well suited for scaling to any requested size.
911 This mathematical definition is interpreted by the font renderer and turned
912 into a small picture composed of pixels according to which size and glyph,
913 the programmer requests.
914 This means that scalable fonts will look pretty good in all sizes.
915 Well, almost all sizes.
916 Since scalable fonts are defined in an abstract way, it can be hard to
917 provide a good rendering at small sizes, where each pixel has to be very
918 carefully computed to provide a good image.
919 Technically it is possible to do this from the mathematical definition,
920 but in order to keep the rendering reasonably fast, tradeoffs have to be
921 made, and the result is that scalable fonts can be difficult to read at
925 Bitmap fonts on the other hand, are defined by bitmap graphics from the
926 start, so they will look good at all the sizes they are meant for.
927 However, they don't scale well, because in order to scale a glyph, each
928 pixel is enlarged into several pixels.
929 It is the same effect that happens if you try to enlarge a picture in
933 or any other picture manipulation program.
934 In order to relieve this effect, bitmap fonts are typically provided in
935 several fixed sizes typically from around 8 pixels high up to 34 pixels
936 or so high in steps according to what is believed to be useful.
937 The advantage of bitmap fonts is that no complicated computations are necessary
938 to display each glyph, so bitmap fonts are thus faster displayed than scalable
940 The disadvantage is that sizes that don't exists as fixed versions have
941 to be scaled by doubling pixels, and thus look bad.
944 The net result of all this, is that bitmap fonts are generally best for
945 the small sizes, where they are available, while scalable fonts are generally
946 best for large sizes.
947 The logical conclusion would thus be to use bitmap fonts for the small
948 sizes, and scalable fonts for the large sizes.
949 Unfortunately, this is not a good idea, since bitmap fonts and scalable
950 fonts are not designed to be used together, so the overall look of such
951 a scheme would be bad.
952 The best you can do is thus to try both schemes and decide for yourself
956 By default, LyX uses non-scalable bitmap fonts (when using the XForms frontend).
961 is used, for sans serif fonts,
969 is used as the monospaced/typewriter font.
972 In the following, we will describe what to do if the text does not look
974 We'll start with the most important parameters: DPI and font zoom.
977 DPI setting and Font Zoom
980 LyX automatically tries to scale the fonts to look as close as the paper
981 output size as possible, except for the so-called font zoom factor.
984 In order for this to work on all systems, it relies on the screen DPI (dots
985 per inch) setting to be correct.
986 The DPI setting for your system is autodetected by LyX using the information
987 the X server can provide.
988 You can check what LyX autodetects the DPI setting to, by running LyX as
996 On many systems, X is not set up correctly, so you should check that it
999 \begin_inset Quotes eld
1007 \begin_inset Quotes erd
1010 and write down what the DPI is for the resolution you use (this will be
1011 close to the value LyX detects).
1012 It is the number mentioned as
1013 \begin_inset Quotes eld
1017 \begin_inset Quotes erd
1021 Also write down the number of pixels you have in the width (the first number
1023 \begin_inset Quotes eld
1027 \begin_inset Quotes erd
1033 Then get the good old ruler out of the closet, and measure the width of
1034 the visible screen-image on your monitor.
1035 Convert this measurement to inches if you used a centimeter ruler by dividing
1037 Now you can determine the correct DPI setting for your screen by dividing
1038 the number of pixels in the width by the width of the screen-image on the
1040 If this number is more than, say, 5 DPI from the detected value, you should
1041 either fix the X setup, or at least tell LyX that the DPI is different
1042 than the detected value.
1045 If you can't fix the X setup (which of course is best since other programs
1046 than LyX will benefit from this as well), you can tell LyX the correct
1054 If the text is too small or too big for your taste, you should fiddle with
1055 the font zoom setting.
1056 This setting is used to scale the point size of the text.
1057 If your DPI setting is correct, and the font zoom setting is set to 100,
1058 this means that LyX will try to display the text exactly the same size
1059 as it will appear on the paper-output.
1060 If you set the zoom factor to 200, the text will try to be 2 times as big
1062 Of course, this will only happen if LyX can find a font that has the appropriat
1063 e size, which you can't count on.
1064 Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
1068 The default font zoom setting is 150, since a monitor is typically wider
1069 than a piece of paper, but you should try to fiddle with it through the
1083 dialog to find a size that you like.
1084 When you've found a setting that seems to work nicely for you (tip: use
1092 button to keep the dialog open while you experiment), you can make this
1093 setting the default by using the
1103 While it is often possible to find a suitable size for the text on the screen,
1104 this doesn't necessarily mean that the fonts are the best ones available
1106 In order to help you get the most out of your system, you can use the font
1107 definition commands to fine-tune the look of the text in greater detail
1111 Font definition commands
1114 As mentioned, LyX uses non-scalable bitmap fonts by default with the XForms
1120 is used, for sans serif fonts,
1128 is used as the monospaced/typewriter font.
1131 You can change all of these from within the
1136 The number of fonts that are available on different systems vary, but the
1141 should be available everywhere.
1142 Use that program to find candidate fonts.
1143 When you've found a font that you like, try to insert the first two elements
1145 \begin_inset Quotes eld
1149 \begin_inset Quotes erd
1153 \begin_inset Quotes eld
1157 \begin_inset Quotes erd
1164 ) in the appropriate field in the
1176 LyX will then reformat your document using the new font, and if you like
1177 the font, you should
1185 One place to start for a new font is to see if the scalable font
1186 \begin_inset Quotes eld
1190 \begin_inset Quotes erd
1194 Tip: You can see whether a font is a bitmap font or a scalable font by
1196 \begin_inset Quotes eld
1200 \begin_inset Quotes erd
1204 \begin_inset Quotes eld
1208 \begin_inset Quotes erd
1216 If the value 0 is available, the font is scalable.
1217 If the value 0 isn't available, the font is a bitmap font.
1220 Before you go about scrapping a bitmap font because the larger sizes look
1222 \begin_inset Quotes eld
1226 \begin_inset Quotes erd
1229 , you should toggle the
1230 \begin_inset Quotes eld
1234 \begin_inset Quotes erd
1238 This is only useful if you use bitmap fonts, because only these don't scale
1240 If you define this flag, LyX will only use the fixed font sizes that are
1241 available, and this guarantees that all bitmap fonts look well.
1242 (You can see which individual font sizes are available with the
1251 .) However, the prize is that the difference between the size of the fonts
1252 on screen and the size of fonts on paper will be larger because LyX will
1253 have to be satisfied with the closest available size, and not try to scale
1255 Also, you can risk that some logically different sizes, such as
1263 , will be mapped to the same screen font, making it hard for you to see
1264 the difference on screen.
1265 We've decided not to use scalable fonts by default because of these artifacts,
1266 but since LyX is a WYSIWYM system, many people like to use the flag anyways,
1267 well-knowing that the font size on the screen can't be trusted.
1268 But remember that this flag only makes a difference when you use bitmap
1270 Scalable fonts won't be affected for reasons you should understand by now.
1273 One final note regarding this flag: you should know that there is nothing
1274 wrong with using bitmap and scalable fonts at the same time for different
1276 For instance, it's common to use the scalable
1277 \begin_inset Quotes eld
1281 \begin_inset Quotes erd
1284 for the serif text together with a bitmap version of
1285 \begin_inset Quotes eld
1289 \begin_inset Quotes erd
1293 And you can safely select the
1294 \begin_inset Quotes eld
1298 \begin_inset Quotes erd
1301 button without worries: It will only apply to the Helvetica font.
1304 Sometimes the artifacts introduced by use of the flag can be relieved by
1305 using the fine-detail screen font sizes which defines which point sizes
1306 the different logical font sizes correspond to.
1311 to see exactly what concrete fonts the logical sizes map to, and try adjusting
1312 the corresponding entries in the
1316 dialog until you've managed to hit the nail and get the fonts you want.
1317 This can be hard to do, because LyX uses the DPI setting and the font zoom
1318 settings to calculate which exact screen font size to ask the X server
1319 for, thus obfuscating the mapping.
1320 If you can't make it by trial-and-error, you can make the process more
1321 transparent if you set both the DPI setting and font zoom settings to 100---eve
1322 n when this is known to be wrong.
1323 This will of course make your scalable fonts look weird, so use with care.
1329 By default, LyX will use fonts meant to write Western European text, including
1330 all kinds of English.
1331 This is defined through the so-called
1340 If you want to use LyX to write for instance Eastern European text, Cyrillic
1341 or any other language not covered by the ISO-8859-1 font encoding, you
1342 can define a different one with the encoding setting.
1343 This requires you to have special fonts installed.
1348 to see whether this is the case: check the
1349 \begin_inset Quotes eld
1353 \begin_inset Quotes erd
1357 \begin_inset Quotes eld
1361 \begin_inset Quotes erd
1364 fields for ISO-8859-X values different from ISO-8859-1, and search for
1365 one that contains the national characters of your language.
1366 If you find any, enter this encoding in the dialog.
1367 If not, go searching the Web for appropriate fonts.
1368 For the Qt frontend, it's recommended you use an iso646 font set.
1371 When you've set LyX up to use a different font encoding, you should also
1372 consider changing the font used by dialog windows in LyX.
1379 dialog will not be understandable unless you tell LyX to use a different
1381 By default the menu font is set to
1383 -*-helvetica-medium-r
1385 , but often Helvetica is not available in the font encoding you need, so
1386 the dialog allows this to be changed.
1389 As you can see, there are quite a few options that can be used to fine tune
1390 the look of your fonts.
1391 This should not scare you from fiddling with the settings, because after
1392 all, you will hopefully be using LyX for many hours in the future.
1393 And contrary to real WYSIWYG word processors where you are tied to using
1394 fonts that have to look good both on paper and on screen, LyX gives you
1395 the possibility of using fonts that are designed to look good on the screen
1396 while using a different set of fonts to look good on paper.
1400 \begin_inset LatexCommand \label{sec:bindings}
1407 Bindings are used to, well, bind a function to a key.
1408 Several prepackaged binding files are available: a CUA set of bindings
1409 (familiar as the typical set of PC and CDE set of keyboard shortcuts),
1410 an Emacs set of bindings, for those of us who follow the One True Way and
1411 refuse to lower our standards,
1417 I'm kidding here, of course!
1420 as well as specialty bindings (broadway and hollywood) and other languages
1421 (French, German, etc.).
1424 If, however, you'd like to customise the keybindings to your own exacting
1425 tastes, then copy the best-fit file in
1434 Don't forget to load this new file into LyX using the
1439 (For the moment you'll have to restart LyX for these changes to take effect.)
1442 LyX supports internationalization of the user interface (see Chapter\SpecialChar ~
1444 \begin_inset LatexCommand \ref{chap:i18n}
1453 is set, with the environment variable
1457 , LyX will try to use bindfiles by prepending
1462 For example, you can put a translated copy of some standard bind file in
1467 directory, and LyX will use it automatically.
1474 files is straightforward:
1481 bind <key combination> <lyx-function>
1484 Both key combination and lyx-function (including any arguments) must be
1485 enclosed in "double quotes".
1486 All the LyX functions are listed in the
1494 \begin_inset LatexCommand \label{sec:ui}
1501 The appearance of both the menu and toolbar may both be changed using the
1516 For the moment, only one file exists,
1520 , but feel free to experiment.
1521 Just copy the file to the
1525 directory and play! Note that, for the moment, you'll have to restart LyX
1526 for these changes to take effect.
1533 files is straightforward: have a look at
1546 entries must be ended with an explicit
1571 s and in the case of the
1572 \begin_inset Quotes eld
1576 \begin_inset Quotes erd
1584 One small word of warning.
1589 s may be inserted in a
1597 , but they are defined as
1608 Converters, Formats, Viewers, Editors and Copiers
1611 LyX has a powerful mechanism to convert to and from any file format using
1613 Define a pair of formats, e.g.
1623 Now define a converter from one format to the other.
1624 In our example, two possible mechanisms exist.
1627 A direct conversion, from LaTeX to PDF using pdflatex
1630 A more convoluted route using intermediate formats and converters: LaTeX
1631 to DVI (using latex) to PostScript® (using dvips) to PDF (using ps2pdf).
1634 LyX will always choose the shortest possible route, so you must specify
1635 two different Format names for
1639 files to be able to use either.
1640 Both are included by default in the
1645 Have a look and then invent your own!
1648 Moreover, each Format can have a Viewer associated with it.
1649 For example, you might want to use
1653 to examine PostScript® files, or
1657 to preview the LaTeX output.
1658 You can alter the viewer to use (and what options to pass to it) via the
1664 ools\SpecialChar \menuseparator
1669 references:Conversion
1672 For example, to change the
1680 format in the dialog, change the viewer to be
1684 (or whatever), and hit
1694 Editors are like viewers: Each Format can have an Editor associated to it,
1695 and they can be altered via the
1700 ools\SpecialChar \menuseparator
1705 references:Conversion
1708 LyX uses them whenever an included file
1714 This can be an included
1718 file, a verbatim included text file, external material or an included graphics
1725 Finally, each Format can have a Copier associated to it.
1726 Since all conversions from one Format to another take place in a temporary
1727 directory, it is sometimes necessary to modify a file before copying it
1728 to the temporary directory
1734 For example, the file may reference other files with relative filenames,
1735 which will become invalid in the temporary directory
1739 This is done by the Copier: It copies a file to (or from) the temporary
1740 directory and may modify it in the process.
1743 BibTeX and makeindex
1746 Both the bibliography generating command (default
1750 ) and the index generating command (default
1763 As an alternative for
1775 The command to enter is
1780 makeindex.sh -m $$lang
1783 where the placeholder
1787 will be replaced by the chosen document (babel) language.
1791 have installed the packages
1808 at a shell prompt for a help page.
1811 ASCII export options
1813 \added_space_top bigskip \noindent
1814 There are a couple of commands that can be used to
1815 \begin_inset Quotes eld
1819 \begin_inset Quotes erd
1822 exported ASCII text files.
1823 Note that LyX automatically detects and uses the best settings for your
1824 system at installation time, but you can modify them if you disagree with
1836 This option defines the command used to produce better ASCII tables with
1841 UNIX-commands (refer to their manpages for more information about them).
1842 Setting this as empty tells LyX to use the internal (inferior) formatter.
1854 With this command you can set the default line length of the ASCII output
1856 Setting it to 0 means endless lines.
1862 There are a bunch of configuration options that are used for interaction
1863 with the external print command from LyX.
1864 Normally the defaults are fine: if, however, your print command takes different
1865 option names, you can modify them here.
1871 You can change the colors used by LyX on-screen using the new
1876 Alternatively, if you're feeling particularly perverse you could use the
1881 bindable function (see the
1886 Input would have the format:
1891 set-color LyXName X11Color
1894 Here is a (partial) list of the functions and default colors:
1898 \begin_inset Tabular
1899 <lyxtabular version="3" rows="10" columns="3">
1901 <column alignment="left" valignment="top" leftline="true" width="0pt">
1902 <column alignment="left" valignment="top" leftline="true" width="0pt">
1903 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
1904 <row topline="true" bottomline="true">
1905 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1922 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1939 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1957 <row topline="true">
1958 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
1975 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
1992 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2010 <row topline="true">
2011 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2028 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2045 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2063 <row topline="true">
2064 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2081 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2098 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2116 <row topline="true">
2117 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2134 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2151 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2169 <row topline="true">
2170 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2187 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2201 fraction Lines, brackets, etc.
2204 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2222 <row topline="true">
2223 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2240 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2247 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2265 <row topline="true">
2266 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2283 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2290 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2308 <row topline="true">
2309 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2326 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2333 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2351 <row topline="true" bottomline="true">
2352 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2369 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
2383 selection background
2386 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2411 The autodetected settings
2415 \begin_inset LatexCommand \label{sec:autodetected}
2419 There are several items that are detected for you when you run
2426 \SpecialChar \menuseparator
2432 In this section, we list those which pertain to the user preferences.
2455 , depending on what is available.
2470 plus a bunch of options.
2485 on systems (so-called System V) who have this command, and
2489 otherwise (BSD systems).
2497 print_spool_printerprefix
2508 , depending on whether
2535 fonts are found and LaTeX has support for these fonts built-in.
2536 You can set it manually if you only have the so-called
2546 There are many other configuration options that can be used to customize
2548 We still need to document them here, but again, most should be fairly obvious.
2549 Please ask on the mailing lists if you need some more information; it may
2550 even prompt us to expand this section.
2553 Internationalizing LyX
2554 \begin_inset LatexCommand \label{chap:i18n}
2561 LyX supports using a translated interface.
2562 Last time we checked, LyX provided text in 14 languages together with the
2563 default English text.
2564 The language of choice is called your
2569 (For further reading on locale settings, see also the documentation for
2570 locale that comes with your operating system.
2571 For Linux, the manual page for locale(5) could be a good place to start).
2574 Notice that these translations will work, but do contain a few flaws.
2575 In particular, all dialogs have been designed with the English text in
2576 mind, which means that some of the translated text will be too large to
2577 fit within the space allocated.
2578 This is only a display problem and will not cause any harm.
2579 Also, you will find that some of the translations do not define short-cut
2580 keys for everything.
2581 Sometimes, there are simply not enough free letters to do it.
2582 Other times, the translator just hasn't got around to doing it yet.
2583 Our localization team -- which you may wish to join -- will try to fix
2584 these shortcomings in future versions of LyX.
2587 Selecting an alternative language for the user interface
2590 This feature is disabled by default, meaning that system default language
2592 To enable an alternative language, you have to set an appropriate environment
2600 for csh class shells
2615 with the two letter code (or four letter code, like
2619 for British English) for the language you want.
2625 Besides the user interface texts being translated, also the appropriate
2626 manuals will be presented under the Help menu -- if available.
2629 On some systems, you may have to redefine
2641 , to override the system settings; their preference is in this order
2647 The shell variable LANGUAGE has been disabled in LyX for technical reasons.
2651 , which corresponds to the way GNU
2656 Consult your system documentation.
2657 Normally, you'll want to put the appropriate line in a shell script run
2658 on start-up, so that the translation is on by default.
2659 Remember that this affects
2663 localized packages, not only LyX!
2666 If LyX is configured and compiled with
2667 \begin_inset Quotes eld
2675 \begin_inset Quotes erd
2678 , this mechanism will not work.
2684 Translating the graphical user interface (text messages).
2691 library to handle the internationalization of the interface.
2692 To have LyX speak your favorite language in all menus and dialogs, you
2697 -file for that language.
2698 When this is available, you'll have to generate a mo-file from it and install
2704 The process of doing all of this is explained in the documentation for
2709 , but in short, this is what you do (
2713 denotes the language code):
2731 LYX-SOURCE-DIR/po/lyx.pot
2744 doesn't exist, it can be remade with
2748 in that directory, or you can use an existing po-file for some other language
2760 We recommend that you use Emacs to do this, since the
2764 distribution includes a nice mode that supports you in doing this.
2770 For some menu- and widget-labels, there are also shortcut keys that should
2772 Those keys are marked after a `|', and should be translated according to
2773 the words and phrases of the
2778 There is a tool named
2782 written in Prolog in
2784 LYX-SOURCE-DIR/development/tools/
2786 that may be useful to help determine short-cut keys.
2787 Note that XForms (version 0.86 at least) can't handle anything but 7-bit
2788 characters as shortcut keys.
2789 You should also fill also out the information at the beginning of the new
2794 -file with your email-address, etc., so people know where to reach you with
2795 suggestions and entertaining flames.
2806 This can be done with
2829 -file to your locale-tree, at the correct directory for application messages
2834 , and under the name
2843 /usr/local/share/locale/
2867 Adding a new po-file to the
2871 of LyX involves altering the configure scripts and more, but the way
2875 works, you don't actually need the source-code of LyX to translate it---having
2891 If you've written a translation file for a language that LyX does not currently
2892 support, feel free to submit it for inclusion by sending a patch.
2893 In this case, we recommend that you read the
2901 directory for more instructions.
2902 \layout Subsubsection
2907 Sometimes it turns out that one english message needs to be translated into
2908 different messages in the target language.
2909 One example is the message
2913 which has the german translation
2930 does not handle such ambigous translations.
2931 Therefore you have to add some context information to the message: Instead
2938 To[[as in 'From format x to format y']]
2942 To[[as in 'From page x to page y']].
2945 Now the two occurences of
2953 and can be translated correctly to
2968 Of course the context information needs to be stripped off the original
2969 message when no translation is used.
2970 Therefore you have to put it in double square brackets at the end of the
2971 message (see the example above).
2972 The translation mechanism of LyX ensures that everything in double square
2973 brackets at the end of messages is removed before displaying the message.
2976 Translating the documentation.
2979 The online documentation (in the
2986 -menu) can (and should!) be translated.
2987 If there are translated versions of the documentation available
2993 As of February 2003, almost all of the docs have been translated into German
2999 has been translated into at least 12 other languages, with other translations
3001 The library of translated documents is growing rapidly.
3004 , and the locale is set accordingly, these will be used automagically by
3006 LyX looks for translated versions as
3020 denotes the language as set by the environmental variable
3025 If there are none, the default English versions will be displayed.
3026 Note that the translated versions must have the same filenames (
3030 above) as the original.
3031 If you feel up to translating the documentation (an excellent way to proof-read
3032 the original documentation BTW!), there are a few things you should do
3040 , the guide to writing LyX documentation.
3041 Pay special attention to the translator's section.
3044 Check out the documentation translation web page at
3045 \begin_inset LatexCommand \url[The LyX Developer's Web Site]{http://www.devel.lyx.org}
3050 That way, you can find out which (if any) documents have already been translate
3051 d into your language.
3052 You can also find out who (if anyone) is organizing the effort to translate
3053 the documentation into your language.
3054 If no one is organizing the effort, please let us know that you're interested.
3057 Once you get to actually translating, here's a few hints for you that may
3061 Join the documentation team! There is information on how to do that in
3070 elp\SpecialChar \menuseparator
3077 ), which by the way is the first document you should translate.
3080 Learn the typographic conventions for the language you are translating to.
3081 Typography is an ancient art and over the centuries, a great variety of
3082 conventions have developed throughout different parts of the world.
3083 Also study the professional terminology amongst typographers in your country.
3084 Inventing your own terminology will only confuse the users.
3087 (Warning! Typography is addictive!)
3090 Make a copy of the document.
3091 This will be your working copy.
3092 You can use this as your personal translated help-file by placing it in
3100 Sometimes the original document (from the LyX-team) will be updated.
3101 Use the ViewCVS tool available at
3102 \begin_inset LatexCommand \htmlurl{http://www.lyx.org/viewcvs.cgi/lyxdoc/}
3106 to see what has been changed
3112 Alternatively, you can keep a copy of the latest version of the English
3113 document which you've translated.
3117 That way you can easily see which parts of the translated document need
3121 If you ever find an error in the original document, fix it and notify the
3122 rest of the documentation team of the changes! (You didn't forget to join
3123 the documentation team did you?)
3126 International Keyboard Support
3131 [Editor's Note: The following section is by
3136 It needs to be fixed to conform to the new Documentation Style sheet and
3137 to make use of the new v1.0 features.
3138 The whole thing also needs to be merged with the section following it.-jw]
3141 Defining Own Keymaps: Keymap File Format
3144 Let's look at a keyboard definition file a little closer.
3145 It is a plain ASCII file defining
3148 key-to-key or key-to-string translations
3154 dead keys exceptions
3157 To define key-to-key or key-to-string translation, use this command:
3179 is the key to be translated and
3183 is the string to be inserted into the document.
3184 To define dead keys, use:
3211 The following dead keys are supported (shortcut name is in parentheses):
3328 hungarian umlaut (hug)
3356 Since in many international keyboards there are exceptions to what some
3357 dead keys should do, you can define them using
3368 deadkey key outstring
3371 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3388 to make it work correctly.
3389 Also, you have to define as exceptions dead keys over i and j, to remove
3390 the dot from them before inserting an accent mark.
3391 I will change this when the time comes, but so far I haven't had time.
3394 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3400 have different meaning.
3405 marks comments, quotes start and end LaTeX-style commands.
3406 To enter quote, you'll need to use
3425 If you make a keyboard description file that works for your language, please
3426 mail it to me, so I can include it in the next keymap distribution.
3429 More keywords will be supported in keymap configuration file in future,
3464 an external keymap translation program
3467 Also, it should look into
3471 file for defaults, too (for example, a
3477 option to include default keyboard).
3480 International Keymap Stuff
3481 \begin_inset LatexCommand \label{sec:keymap}
3488 The next two sections describe the
3500 file syntax in detail.
3501 These sections should help you design your own key map if the ones provided
3502 do not meet your needs.
3516 file maps keystrokes to characters or strings.
3517 As the name suggests it sets a keyboard mapping.
3542 are described in this section.
3544 \labelwidthstring 00.00.0000
3552 Map a character to a string
3584 the double-quote (")
3592 must be escaped with a preceding backslash (
3609 statement to cause the symbol
3615 to be output for the keystroke
3628 \labelwidthstring 00.00.0000
3636 Specify an accent character
3648 This will make the cha
3663 This is the dead key
3675 refers to a key that does not produce a character by itself, but when followed
3676 with another key, produces the desired accent character.
3677 For example, a German characte
3679 r with an umlaut like
3683 can be produced in this manner.
3696 and then another key not in
3704 followed by the other, unallowed key, as output.
3713 cancels a dead key, so if
3724 , the cursor will not go one position backwards but will instead cancel
3731 might have had on the next keystroke.
3735 The following example specifies that the character ' is to be an acute accent,
3736 allowed on the characters a, e, i, o, u, A, E, I, O, and U:
3741 kmod ' acute aeiouAEIOU
3743 \labelwidthstring 00.00.0000
3749 Specify an exception to the accent character
3762 This defines an exce
3781 have been assigned a keystroke with a previous
3795 must not belong in the
3815 If such a declaration does not exist in
3852 The following command produces causes äi to be produced when you enter acute-i
3868 \labelwidthstring 00.00.0000
3874 Combine two accent characters
3882 accent1 accent2 allowed
3885 This one is getting pretty esoteric.
3886 It allows you to combine the effect
3931 Consider this example from the
3942 kmod ; acute aeioyvhAEIOYVH
3946 kcomb acute umlaut iyIY
3949 This allows you to press
3955 and get the effect of
3972 in this case cancels the last dead key, so if you press
4000 mapping is performed, a
4007 file maps the strings that the symbols generate to characters in the current
4009 The LyX distribution currently includes at least the
4032 file is a sequence of declarations of the form
4045 For example, in order to map
4053 to the corresponding character in the iso-8859-1 set (233), the following
4083 the same character can apply to more than one string.
4121 If LyX cannot find a mapping for the string produced by the keystroke or
4122 a deadkey sequence, it will check if it looks like an accented char and
4123 try to draw an accent over the character on screen.
4129 There is a second way to add support for international characters through
4130 so-called dead-keys.
4131 A dead-key works in combination with a letter to produce an accented character.
4132 Here, we'll explain how to create a really simple dead-key to illustrate
4136 Suppose you happen to need the circumflex character,
4137 \begin_inset Quotes eld
4142 \begin_inset Quotes erd
4150 -key [a.k.a.\SpecialChar ~
4155 ] to the LyX command
4164 Now, whenever you type the
4168 -key followed by a letter, that letter will have a circumflex accent on
4170 For example, the sequence
4171 \begin_inset Quotes eld
4179 \begin_inset Quotes erd
4182 produces the letter:
4183 \begin_inset Quotes eld
4187 \begin_inset Quotes erd
4191 If you tried to type
4192 \begin_inset Quotes eld
4200 \begin_inset Quotes erd
4203 , however, LyX will complain with a beep, since a
4204 \begin_inset Quotes eld
4212 \begin_inset Quotes erd
4215 never takes a circumflex accent.
4220 after a dead-key produces the bare-accent.
4221 Please note this last point! If you bind a key to a dead-key, you'll need
4222 to rebind the character on that key to yet another key.
4227 to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4230 One common way to bind dead-keys is to use
4242 in combination with an accent, like
4243 \begin_inset Quotes eld
4251 \begin_inset Quotes erd
4255 \begin_inset Quotes eld
4263 \begin_inset Quotes erd
4267 \begin_inset Quotes eld
4275 \begin_inset Quotes erd
4279 Another way involves using
4287 [remember them from section?] to set up the special
4296 acts in some ways just like
4300 and permits you to bind keys to accented characters.
4301 You can also turn keys into dead-keys by binding them to something like
4306 and then binding this symbolic key to the corresponding LyX command.
4316 : This is exactly what I do in my
4327 Scroll\SpecialChar ~
4334 and a bunch of these
4335 \begin_inset Quotes eld
4343 \begin_inset Quotes erd
4346 symbolic keys bound such things as
4348 Scroll\SpecialChar ~
4353 Scroll\SpecialChar ~
4357 This is how I produce my accented characters.
4360 You can make just about anything into the
4368 keys, a spare function key, etc.
4369 As for the LyX commands that produce accents, check the entry for
4378 You'll find the complete list there.
4381 Saving your Language Configuration
4385 \begin_inset LatexCommand \label{sec:savlang}
4389 You can edit your preferences so that your desired language environment
4390 is automatically configured when LyX starts up, via the
4395 dit\SpecialChar \menuseparator
4405 Installing New Document Classes, Layouts, and Templates
4406 \begin_inset LatexCommand \label{chap:textclass}
4416 Installing New Document Classes
4422 In this chapter, we describe the procedures for creating and installing
4423 new LyX layout and template files, as well as offer a refresher on correctly
4424 installing new LaTeX document classes.
4425 Some definitions: a document class is a LaTeX file (usually ending in
4433 ) which describes the format of a document such as an article, report, journal
4435 and all the commands needed to realize that format.
4436 A layout file is a LyX file which corresponds to a LaTeX document class
4437 and which tells LyX how to
4438 \begin_inset Quotes eld
4442 \begin_inset Quotes erd
4445 things on the screen to make the display look something like the final
4447 More precisely, a layout file describes a
4448 \begin_inset Quotes eld
4452 \begin_inset Quotes erd
4455 which is the internal construct LyX uses to render the screen display.
4457 \begin_inset Quotes eld
4461 \begin_inset Quotes erd
4465 \begin_inset Quotes eld
4469 \begin_inset Quotes erd
4472 can be used somewhat interchangeably, but it is better to refer to the
4473 file as the layout, and the thing living in LyX's memory as the text class.
4474 A template file is simply a LyX document which contains a set of predefined
4475 entries for a given document class which are generally required for that
4477 Templates are especially useful for things like journal manuscripts which
4478 are to be submitted electronically.
4481 Installing a new LaTeX package
4484 Some installations may not include a LaTeX package that you would like to
4486 For example, you might need FoilTeX, a common (and very powerful) package
4487 for preparing slides or viewgraphs for overhead projectors.
4488 Here are the formal steps involved in getting the package up and running
4489 if you are using teTeX or some other web2c based distribution.
4493 Get the package from CTAN or wherever.
4501 Inventory of your LaTeX configuration
4503 manual for details of what CTAN is and where supported document classes
4514 (this usually lives in the directory
4518 , though you can run
4523 It describes how to add a local
4527 directory; follow the instructions.
4528 You need to insert the name of your local
4541 is a logical place to install software that did not come with your distribution
4547 Usually, you will have to modify only two things:
4555 to the directory you chose; e.g.
4560 TEXMFLOCAL = /usr/local/texmf
4576 TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN}
4590 You must follow the directory structure of your existing
4594 directory (for example, latex packages should go under
4596 /usr/local/texmf/tex/latex/
4601 Install the package.
4602 For example, you would unpack the FoilTeX tarball and create
4604 /usr/local/texmf/tex/latex/foiltex
4611 directory contains various files.
4621 /usr/local/texmf/ls-R
4626 From within LyX, do:
4631 ools\SpecialChar \menuseparator
4642 Now you should see your new package---for example
4651 ayout\SpecialChar \menuseparator
4666 Note that there are simpler ways of installing packages: you can add a
4667 link to the new package directory in the system LaTeX directory (
4671 , don't forget to then run
4675 ), or sometimes simply set the
4679 environment variable to include the new package.
4680 However, the formal procedure described in
4684 is guaranteed to work, so you should follow it unless circumstances absolutely
4685 prevent it: such as, when you don't have superuser access.
4691 This section describes how to write and install your own LyX layout files
4692 (also known as text classes) and walks through the
4696 text class format as an example.
4701 files describe what paragraph styles are available for a given document
4702 class and how LyX should display them.
4703 We try to provide a thorough description of the process here; however,
4704 there are so many different types of documents supported by LaTeX classes
4705 we can't hope to cover every different possibility or problem you might
4710 When you plan to write a new layout, it is extremely helpful to look at
4711 the example layouts distributed with LyX.
4712 If you use a nice LaTeX document class that might be of interest for others,
4713 too, and have a nice corresponding LyX layout, feel free to contribute
4714 the stuff to us, so we may put it into the distribution.
4717 All the tags described in this chapter are case-insensitive; this means
4730 are really the same command.
4731 The possible values are printed in brackets after the feature's name.
4732 The default value if a feature isn't specified inside a text class-description
4740 If the argument has a datatype like
4741 \begin_inset Quotes eld
4745 \begin_inset Quotes erd
4749 \begin_inset Quotes eld
4753 \begin_inset Quotes erd
4756 , the default is shown like this:
4766 Supporting new document classes
4769 There are two situations you are likely to encounter when wanting to support
4770 a new LaTeX document class, involving LaTeX2e class (
4788 If your new document class is provided as a style file that is used in conjuncti
4789 on with an existing, supported document class, start by copying the existing
4790 class's layout file into your local directory.
4791 For the sake of example we'll assume that the style file is called
4795 and it is meant to be used with
4799 which is a standard class.
4802 cp report.layout ~/.lyx/layouts/myclass.layout
4809 and change the line:
4814 DeclareLaTeXClass{report}
4822 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
4837 near the top of the file.
4840 Start LyX and select
4845 ools\SpecialChar \menuseparator
4853 Restart LyX and try creating a new document.
4858 " as a document class option in the
4863 ocument\SpecialChar \menuseparator
4871 It is likely that some of the sectioning commands and such will differ
4872 from how the base class
4885 works, so you can fiddle around with the settings for the different sections
4887 See below for more discussion on this.
4897 In this case, you will probably have to
4898 \begin_inset Quotes eld
4902 \begin_inset Quotes erd
4906 We strongly suggest copying an existing layout file which uses a similar
4907 LaTeX class and modifying it if at all possible.
4908 At least use an existing file as a starting point so you can find out what
4909 items you need to worry about.
4910 Again, the specifics are covered below.
4913 Declaring a new text class
4916 When it's finally time to get your hands dirty and create or edit your own
4917 layout file, the following sections describe what you're up against.
4918 Our advice is to go slowly, save and test often, listen to soothing music,
4919 and enjoy one or two of your favorite adult beverages; more if you are
4920 getting particularly stuck.
4921 It's really not that hard, except that the multitude of options can become
4922 overwhelming if you try to do to much in one sitting.
4923 Go have another adult beverage, just for good measure.
4929 Lines in a layout file which begin with a
4934 There is one exception to this rule: all layouts should begin with lines
4940 #% Do not delete the line below; configure depends on this
4947 DeclareLaTeXClass{article}
4950 The second line is used when you configure LyX.
4951 The layout file is read by the LaTeX script
4955 , in a special mode where
4960 The first line is just a LaTeX comment, and the second one contains the
4961 declaration of the text class.
4962 If these lines appear in a file named
4966 , then they define a text class of name
4970 (the name of the layout file) which uses the LaTeX document class
4974 (the default is to use the same name as the layout).
4976 \begin_inset Quotes eld
4980 \begin_inset Quotes erd
4983 that appears above is used as a description of the text class in the
4988 ocument\SpecialChar \menuseparator
4998 Let's assume that you wrote your own text class that uses the
5002 documentclass, but where you changed the appearance of the section headings.
5003 If you put it in a file
5007 , the header of this file should be:
5012 #% Do not delete the line below; configure depends on this
5019 DeclareLaTeXClass[article]{article (with my own headings)}
5022 This declares a text class
5026 , associated with the LaTeX document class
5031 \begin_inset Quotes eld
5034 article (with my own headings)
5035 \begin_inset Quotes erd
5039 If your text class depends on several packages, you can declare it as:
5044 #% Do not delete the line below; configure depends on this
5051 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
5054 This indicates that your text class uses the foo.sty package.
5055 Finally, it is also possible to declare classes for SGML and DocBook code.
5056 Typical declarations will look like
5061 #% Do not delete the line below; configure depends on this
5068 DeclareSGMLClass{SGML (LinuxDoc)}
5074 #% Do not delete the line below; configure depends on this
5079 DeclareDocBookClass[article]{SGML (DocBook article)}
5082 Note that these declarations can also be given an optional parameter declaring
5083 the name of the document class (but not a list).
5086 When the text class has been modified to your taste, all you have to do
5087 is to copy it either in
5100 ools\SpecialChar \menuseparator
5108 Exit LyX and restart it; then your new text class should be available along
5112 General text class parameters
5115 These are the general parameters which describe the form of the entire document:
5144 ] Whether the class-default should have one or two columns.
5145 Can be changed in the
5150 ocument\SpecialChar \menuseparator
5161 This setting (same goes for
5165 , too) is important: if your text class has two columns by default but you
5166 forget to set it correctly, the
5174 be output when you select
5183 ocument\SpecialChar \menuseparator
5204 ] Whether the class-default should be printing on one or both sides of the
5206 Can be changed in the
5214 ocument\SpecialChar \menuseparator
5238 ] The class default pagestyle.
5239 Can be changed in the
5244 ocument\SpecialChar \menuseparator
5268 , Counter_Section, Counter_Subsection, Counter_Subsubsection, Counter_Paragraph,
5271 Counter_Subparagraph, Counter_EnumI, Counter_EnumII,
5273 Counter_EnumIII, Counter_EnumIV
5275 ] The highest level of automatic enumeration.
5280 for a book or report and
5285 If there is no enumeration needed at all, for example inside a letter class,
5301 ClassOptions\SpecialChar \ldots{}
5305 This section describes various global options supported by the document
5307 See Section\SpecialChar ~
5309 \begin_inset LatexCommand \ref{sec:classoptions}
5329 ] Whether the class already loads the
5334 This is the case of the
5358 ] Whether the class already provides the functionality of the
5363 This is the case of the
5387 ] Whether the class already provides the functionality of the
5392 This is the case of the
5405 This is used to describe the default font of the document.
5406 See Section\SpecialChar ~
5408 \begin_inset LatexCommand \ref{sec:fonts}
5425 ] This is the style that will be assigned to new paragraphs, usually
5430 This will default to the first defined style if not given, but you are
5431 highly encouraged to use this directive.
5450 ] Indicates what kind of markup is used to define the title of a document.
5455 means that the macro with name
5459 will be inserted after the last layout which has
5460 \begin_inset Quotes eld
5468 \begin_inset Quotes erd
5476 corresponds to the case where the block of paragraphs which have
5477 \begin_inset Quotes eld
5485 \begin_inset Quotes erd
5488 should be enclosed into the
5507 ] The name of the command/environment mentionned above.
5513 Preamble\SpecialChar \ldots{}
5517 A set of macro definitions that will be output at the beginning of the
5519 Use this for global definitions.
5528 As its name implies, this command allows you to include another layout
5529 definition file within yours to avoid duplicating commands.
5530 Common examples are the standard layout files, for example,
5534 , which contains most of the basic layouts.
5540 Style\SpecialChar \ldots{}
5544 This sequence defines a new style.
5545 See Section\SpecialChar ~
5547 \begin_inset LatexCommand \ref{sec:style}
5560 This command deletes an existing style.
5561 This is particularly useful when you want to suppress a style that has
5562 be defined in an input file.
5568 Float\SpecialChar \ldots{}
5572 This sequance defines a new float.
5573 See Section\SpecialChar ~
5575 \begin_inset LatexCommand \ref{sec:floats}
5588 This command deletes an existing float.
5589 This is particularly useful when you want to suppress a float that has
5590 be defined in an input file.
5596 Counter\SpecialChar \ldots{}
5600 This sequence defines a new counter.
5601 See Section\SpecialChar ~
5603 \begin_inset LatexCommand \ref{sec:counter}
5631 \begin_inset LatexCommand \label{sec:classoptions}
5639 section can contain the following entries:
5652 ] The list of available font sizes for the document's main font, separated
5654 \begin_inset Quotes eld
5662 \begin_inset Quotes erd
5676 string="empty|plain|headings|fancy"
5678 ] The list of available page styles, separated by
5679 \begin_inset Quotes eld
5687 \begin_inset Quotes erd
5703 ] Some document class options, separated by a comma, that will be added
5704 to the optional part of the
5713 Specific Paragraph Layouts
5717 \begin_inset LatexCommand \label{sec:style}
5721 A paragraph layout description looks like this
5727 Note that this will either define a new layout or modify an existing one.
5745 where the following commands are allowed:
5767 This is used to copy all the features of an existing layout into the current
5783 , Command, Environment, Item_Environment,
5789 ] How the layout should be translated into LaTeX.
5794 means nothing special.
5807 {\SpecialChar \ldots{}
5822 }\SpecialChar \ldots{}
5846 is generated for each paragraph of this environment.
5859 is passed as an argument to the environment.
5864 can be defined in the
5869 ayout\SpecialChar \menuseparator
5883 is perhaps a bit misleading, since these rules apply to SGML classes, too.
5884 Visit the SGML class files for specific examples.
5894 If 1, marks the layout as being part of a title block (see also the
5911 The name of the corresponding LaTeX stuff.
5912 Either the environment or command name.
5921 The optional parameter for the corresponding
5928 This parameter cannot be changed from within LyX.
5941 ] The number of optional arguments that can be used with this layout.
5942 This is useful for things like section headings, and only makes sense with
5957 , Manual, Dynamic, First_Dynamic, Right_Address_Box
5961 The kind of margin that the layout has on the left side.
5966 just means a fixed margin.
5971 means that the left margin depends on the string entered in the
5976 dit\SpecialChar \menuseparator
5981 aragraph\SpecialChar ~
5985 This is used to typeset nice lists without tabulators.
5990 means that the margin depends on the size of the label.
5991 This is used for automatic enumerated headlines.
5992 It is obvious that the headline
5993 \begin_inset Quotes eld
5996 5.4.3.2.1 Very long headline
5997 \begin_inset Quotes erd
6000 must have a wider left margin (as wide as
6001 \begin_inset Quotes eld
6005 \begin_inset Quotes erd
6008 plus the space) than
6009 \begin_inset Quotes eld
6012 3.2 Very long headline
6013 \begin_inset Quotes erd
6016 , even if other word processors are not able to do this.
6021 is similar, but only the very first row of the paragraph is dynamic, while
6022 the others are static; this is used, for example, for descriptions.
6027 means the margin is chosen in a way that the longest row of this paragraph
6028 fits to the right margin.
6029 This is used to typeset an address on the right edge of the page.
6045 ] Whether the following Paragraph is allowed to indent its very first row.
6050 means that it is not allowed to do so,
6054 means it could do so if it wants to.
6067 ] The indent of the very first line of a paragraph.
6068 The argument is passed as a string.
6073 means that the paragraph is indented with the width of
6082 You can get a negative width by prefixing the string with
6087 This way was chosen so that the look is the same with each used screen
6093 will be fixed for a certain layout.
6094 The exception is Standard layout, since the indentation of a Standard layout
6095 paragraph can be prohibited with
6100 Also, Standard layout paragraphs inside environments use the
6104 of the environment, not their native one.
6105 For example, Standard paragraphs inside an enumeration are not indented.
6118 ] LyX allows to choose either
6119 \begin_inset Quotes eld
6123 \begin_inset Quotes erd
6127 \begin_inset Quotes eld
6131 \begin_inset Quotes erd
6134 to typeset a document.
6136 \begin_inset Quotes eld
6140 \begin_inset Quotes erd
6143 is chosen, this value is completely ignored.
6145 \begin_inset Quotes eld
6149 \begin_inset Quotes erd
6152 is chosen, the parindent of a LaTeXtype
6153 \begin_inset Quotes eld
6157 \begin_inset Quotes erd
6160 layout is ignored and all paragraphs are additionally separated by this
6162 The vertical space is calculated with
6164 value*DefaultHeight()
6170 is the height of a row with the normal font.
6171 This way, the look stays the same with different screen fonts.
6184 ] The vertical space with which the very first of a chain of paragraphs
6185 with this layout is separated from the previous paragraph.
6186 If the previous paragraph has another layout, the separations are not simply
6187 added, but the maximum is taken.
6204 for the very last paragraph.
6217 ] The vertical space between two paragraphs of this layout.
6230 ] This is an extra space between the paragraphs of an environment layout.
6231 If you put other layouts into an environment, each is separated with the
6237 But the whole items of the environment are additionally separated with
6256 ] If you put layouts into environments, the leftmargins are not simply added,
6257 but added with a factor
6258 \begin_inset Formula $\frac{4}{depth+4}$
6262 Note that this parameter is also used when the border is defined as
6271 Then it is added to the manual or dynamic border.
6272 This string has the same meaning as for
6307 , Manual, Static, Top_Environment,
6309 Centered_Top_Environment, Sensitive, Counter_Chapter,
6311 Counter_Section, Counter_Subsection, Counter_Subsubsection,
6313 Counter_Paragraph, Counter_Subparagraph, Counter_EnumI,
6319 Counter_EnumII, Counter_EnumIII, Counter_EnumIV
6327 means the label is the very first word (up to the first real blank).
6332 means it is defined in the layout (see
6343 Centered_Top_Environment
6345 are special cases of
6350 The label will be printed above the paragraph, but only at the top of an
6351 environment or the top of a chain of paragraphs with this layout.
6352 Usage is for example the
6361 This is also the case for
6365 labels with latex type
6369 , in order to make layouts for theorems work correctly.
6374 is a special case for the caption-labels
6375 \begin_inset Quotes eld
6379 \begin_inset Quotes erd
6383 \begin_inset Quotes eld
6387 \begin_inset Quotes erd
6395 means the (hardcoded) label string depends on the kind of float.
6400 label types should be self explanatory.
6413 ] The horizontal space between the label and the text body.
6414 Only used for labels that are not above the text body.
6423 [float=0] The vertical space between the label and the text body.
6424 Only used for labels that are above the text body (
6430 Centered_Top_Environment
6445 ] The string used for a label with a
6454 this string is also used as a suggestion for the
6458 that can be set in the
6463 dit\SpecialChar \menuseparator
6468 aragraph\SpecialChar ~
6472 When the labeltype is
6479 , this string is prepended to the counter.
6493 , Box, Filled_Box, Static
6495 ] The type of label that stands at the end of the paragraph (or sequence
6518 \begin_inset Quotes eld
6522 \begin_inset Quotes erd
6534 ) is a white (resp.\SpecialChar ~
6535 black) square suitable for end of proof markers,
6539 is an explicit text string.
6552 ] The string used for a label with a
6575 , left, right, center
6577 ] Paragraph alignment.
6591 , left, right, center
6598 Some LaTeX styles prohibit certain alignments, since those wouldn't make
6600 For example a right-aligned or centered enumeration isn't possible.
6616 ] With this parameter the
6621 \begin_inset Quotes eld
6624 Vertical space above
6625 \begin_inset Quotes erd
6633 dit\SpecialChar \menuseparator
6638 aragraph\SpecialChar ~
6641 dialog can be set when initializing a paragraph with this layout
6649 Note from Jean-Marc:
6651 I'm not sure that this setting has much use, and it should probably be removed
6692 ] Whether fragile commands in this layout should be
6714 ] Whether newlines are translated into LaTeX newlines (
6723 The translation can be switched off to allow more comfortable LaTeX editing
6740 ] Whether the contents of this paragraph should be output in raw form, meaning
6741 without special translations that LaTeX would require.
6742 This somehow replaces the older
6762 ] Usually LyX doesn't allow you to insert more than one space between words,
6763 since a space is considered as the separation between two words, not a
6764 character or symbol of its own.
6765 This is a very fine thing but sometimes annoying, for example when typing
6766 program code or plain LaTeX code.
6772 Note that LyX will create protected blanks for the additional blanks when
6773 in another mode than LaTeX-mode.
6789 ] Usually LyX does not allow you to leave a paragraph empty, since it would
6790 lead to empty LaTeX output.
6791 There are some cases where this could be desirable however: in a letter
6792 template, the required fields can be provided as empty fields, so that
6793 people do not forget them; in some special classes, a layout can be used
6794 as some kind of break, which does not contain actual text.
6808 , onehalf, double, other
6813 ] This defines what the default spacing should be in the layout.
6826 correspond respectively to a multiplier value of 1, 1.25 and 1.667.
6827 If you specify the argument
6831 , then you should also provide a numerical argument which will be the actual
6833 Note that, contrary to other parameters,
6837 implies the generation of specific LaTeX code, using the package
6851 The font used for both the text body
6856 See section\SpecialChar ~
6858 \begin_inset LatexCommand \ref{sec:fonts}
6863 Note that defining this font automatically defines the
6876 The font used for the text body .
6877 See section\SpecialChar ~
6879 \begin_inset LatexCommand \ref{sec:fonts}
6892 The font used for the label.
6893 See section\SpecialChar ~
6895 \begin_inset LatexCommand \ref{sec:fonts}
6905 Preamble\SpecialChar \ldots{}
6909 A set of macro definitions that will be output at the beginning of the
6910 LaTeX files when the layout is used.
6911 Use this to define the macros needed by this particular layout.
6920 the name of a style which preamble should be output
6924 the one mentionned above.
6925 This allows to ensure some ordering of the preamble snippets when macros
6926 definitions depend on one another
6932 Note that, besides that functionality, there is no way to ensure any ordering
6934 The ordering that you see in a given version of LyX may change without
6935 warning in later versions).
6958 \begin_inset LatexCommand \label{sec:floats}
6962 Since version 1.3.0 of LyX, it is necessary to define the floats (
6970 , \SpecialChar \ldots{}
6971 ) in the text class itself.
6972 If you are looking here to learn how to upgrade an existing text class,
6973 it will probably turn out that all you have to do is to add
6979 at a reasonable location of the text class.
6985 Don't forget to also have a look at counters in next section.
6988 If you want to implement a text class that proposes some other float types
6989 (like the AGU class bundled with LyX), the information below will hopefully
7004 \begin_inset Quotes erd
7008 \begin_inset Quotes erd
7012 \begin_inset Quotes eld
7016 \begin_inset Quotes erd
7019 of the new class of floats, like program or algorithm.
7020 After the appropriate
7052 \begin_inset Quotes erd
7056 \begin_inset Quotes erd
7059 ] The string that will be used in the menus and also for the caption.
7082 if the float is already defined by the documentclass.
7087 , the float will be defined using the LaTeX package
7105 \begin_inset Quotes erd
7109 \begin_inset Quotes erd
7112 ] This (optional) argument determines whether floats of this class will
7113 be numbered within some sectional unit of the document.
7114 For example, if within is equal to
7118 , the floats will be numbered within chapters.
7133 \begin_inset Quotes erd
7137 \begin_inset Quotes erd
7140 ] The style used when defining the float using
7160 \begin_inset Quotes erd
7164 \begin_inset Quotes erd
7167 ] The default placement for the given class of floats.
7168 They are like in standard LaTeX:
7184 for top, bottom, page, and here, respectively.
7190 Note that the order of these letters in the string is irrelevant, like in
7194 On top of that there is a new type,
7198 , which does not really correspond to a float, since it means: put it
7199 \begin_inset Quotes eld
7203 \begin_inset Quotes erd
7207 Note, however that the
7211 specifier is special and, because of implementation details cannot be used
7212 in non-builtin float types.
7213 If you do not understand what this means, just use
7231 \begin_inset Quotes erd
7235 \begin_inset Quotes erd
7238 ] The file name extension of an auxiliary file for the list of figures (or
7240 LaTeX writes the captions to this file.
7254 \begin_inset Quotes erd
7258 \begin_inset Quotes erd
7261 ] The heading used for the list of floats.
7268 \begin_inset LatexCommand \label{sec:counter}
7272 Since version 1.3.0 of LyX, it is necessary to define the counters (
7280 , \SpecialChar \ldots{}
7281 ) in the text class itself.
7282 If you are looking here to learn how to upgrade an existing text class,
7283 it will probably turn out that all you have to do is to add
7286 Input stdcounters.inc
7289 The definition of counters if presently a bit primitive in LyX, since many
7290 things are still hardcoded.
7291 The following two parameters can be used:
7305 \begin_inset Quotes erd
7309 \begin_inset Quotes erd
7312 ] The name of the counter
7326 \begin_inset Quotes erd
7330 \begin_inset Quotes erd
7333 ] If this is set to the name of another counter, the present counter will
7334 be reset everytime the other one is increased (is that unclear enough?).
7341 \begin_inset LatexCommand \label{sec:fonts}
7345 A font description looks like that:
7363 and the following commands are available:
7409 , Italic, SmallCaps, Slanted
7426 , large, larger, largest, huge, giant
7443 , black, white, red, green, blue, cyan, magenta, yellow
7449 \begin_inset LatexCommand \label{sec:templates}
7456 Templates are created just like usual documents.
7457 The only difference is that usual documents contain all possible settings,
7458 including the fontscheme and the papersize.
7459 Usually a user doesn't want a template to overwrite his defaults in these
7461 For that reason, the designer of a template should remove the corresponding
7474 from the template LyX file.
7475 This can be done with any simple text-editor, for example
7487 Put the edited template files you create in
7491 , copy the ones you use from the global template directory in
7495 to the same place, and redefine the template path in the
7500 dit\SpecialChar \menuseparator
7519 Note that there is a template which has a particular meaning:
7524 This template is loaded everytime you create a new document with
7531 \SpecialChar \menuseparator
7539 in order to provide useful defaults.
7540 To create this template from inside LyX, all you have to do is to open
7541 a document with the correct settings, and use the
7547 e as Document Defaults
7552 Including External Material
7564 This section is completely outdated.
7567 One often requested feature from LyX users is to be able to interface LyX
7568 with XFig, Dia, or other similar applications that specialize in producing
7569 a certain kind of diagram, figure, schematic or whatever material might
7570 be relevant to include in your document.
7571 Previously, it was only possible to include boring, static, fixed images
7572 in LyX documents with the graphics feature, but there are several limitations
7573 attached to this approach:
7576 If you want to change the figure, you have to invoke an external program
7580 LyX does not notice that the referenced files change, so the on-screen display
7581 can fast become obsolete, and this is aggravated by the lack of a means
7582 of updating the display
7585 The graphics stuff does not provide any mechanisms for coping with different
7586 exported formats such as DocBook, HTML or raw Ascii
7589 The external material facility attempts to solve all of these problems
7595 Even if the graphics facility can't solve all problems, it is still valuable
7596 because it does provide in-line preview of the graphics, and supports advanced
7597 geometric transformations with a comfortable user interface.
7601 It does this by offering a general method to interface LyX to external
7603 Instead of introducing a long list of different constructs tailored for
7604 each specific application, we chose to sacrifice the in-line displaying
7605 of the included material in order to provide a general construct to cover
7606 a wide range of applications.
7607 The result is the external material construct.
7608 External material presents itself in the document simply as a button, but
7609 don't let this fool you.
7610 When you click on it, a dialog will appear that allows you to chose exactly
7611 what material to include, and in the following sections you will learn
7612 that this is indeed a powerful mechanism that can solve all of the above
7619 The external material feature is based on the concept of a
7624 A template is a specification of how LyX should interface with a certain
7626 As bundled, LyX comes with predefined templates for XFig figures, Dia diagrams,
7627 various raster format images, gnuplot, and more.
7628 You can check the actual list by using the
7630 Insert\SpecialChar \menuseparator
7639 Furthermore, it is possible to roll your own template to support a specific
7641 Later we'll describe in more detail what is involved, and hopefully you
7642 will submit all the templates you create so we can include them in a later
7646 Another basic idea of the external material feature is to distinguish between
7647 the original file that serves as a base for final material and the produced
7648 file that is included in your exported or printed document.
7649 For example, consider the case of a figure produced with XFig.
7650 The XFig application itself works on an original file with the
7655 Within XFig, you create and change your figure, and when you are done,
7661 When you want to include the figure in your document, you invoke
7665 in order to create a PostScript file that can readily be included in your
7671 file is the original file, and the PostScript file is the produced file.
7674 This distinction is important in order to allow updating of the material
7675 while you are in the process of writing the document.
7676 Furthermore, it provides us with the flexibility that is needed to support
7677 multiple export formats.
7678 For instance, in the case of an Ascii resulting file, it is not exactly
7679 an award-winning idea to include the figure as raw PostScript.
7680 Instead, you'd either prefer to just include a reference to the figure,
7681 or try to invoke some graphics to Ascii converter to make the final result
7682 look similar to the real graphics.
7683 The external material management allows you to do this, because it is parameter
7684 ized on the different export formats that LyX supports.
7687 Besides supporting the production of different products according to the
7688 exported format, it supports tight integration with editing and viewing
7690 In the case of an XFig figure, you are able to invoke
7694 on the original file with a single click from within the external material
7695 dialog in LyX, and also preview the produced PostScript file with
7700 No more fiddling around with the command line and/or file browsers to locate
7701 and manipulate the original or produced files.
7702 In this way, you are finally able to take full advantage of the many different
7703 applications that are relevant to use when you write your documents, and
7704 ultimately be more productive.
7713 This paragraph is outdated
7716 So, all in all, LyX has information about a number of different programs
7717 to use behind the scenes in order to realize all of this machinery.
7718 This information, in fact, is exactly what is contained in the templates.
7719 To each template, there is associated a list of command lines that are
7720 used to invoke applications, convert the original file to the produced
7722 This mechanism allows the advanced user to extend the capabilities of LyX
7723 without fiddling with the source code.
7724 It requires some footwork to define all the different commands and flags,
7725 but luckily, the LyX team did all the hard work and specified these for
7729 But before the trees grow into the skies, we have to admit that we did take
7731 Since you can produce many different kinds of files to go with each exported
7732 format, one could also expect that it would be possible to preview each
7734 The LyX team decided against this in order to keep the user interface simple.
7735 Instead of providing a button for each exported file format, we decided
7736 to introduce the concept of the primary file format and just have one button.
7746 in the external material dialog, you will get a view of the produced file
7747 in the primary file format.
7748 And the primary file format is specified by your document class.
7749 For most document classes, the primary file format is LaTeX, but for the
7750 DocBook document classes, the primary file format is DocBook.
7751 So, when you view the produced file, keep in mind that it will only be
7752 a preview of what the main result will be.
7753 If you want to see how other exported formats turn out, you have to export
7754 them and preview them by hand.
7757 The external material dialog
7760 You insert external material from the
7768 When you do this, a button is inserted into your document, and the external
7769 material dialog is shown.
7770 This dialog allows you to describe exactly what material should be included,
7771 and also how it should be included.
7772 Furthermore, it provides access to the external applications to either
7773 view, edit or produce the material that is used in the resulting file.
7782 This paragraph is outdated
7785 At the top of this dialog, there is a drop-down list where you can chose
7786 which template should be used.
7787 Just below the template drop-down, there's a text area with a short blurb
7788 about the chosen template that should help you use it.
7789 Most often, it will provide a short description of the template, and a
7790 few hints on how to parameterize the use of it.
7791 Further down, you'll find a filename input field along with a
7792 \begin_inset Quotes eld
7796 \begin_inset Quotes erd
7799 button that allows you to chose which file should be included with the
7800 standard file browser.
7801 Thus this field specifies the original file.
7802 Since the produced file is automatically generated when needed, there is
7803 no need to give access to it in the user interface.
7812 This paragraph is outdated
7815 At the bottom of the dialog, you'll find a general input box called
7820 This box is generally used to parameterize the specific template.
7821 The specific use should be covered in the help blurb associated with the
7822 template, but it typically allows you to define variations on how the produced
7823 file should be generated.
7832 This paragraph is outdated
7835 At the right side of the dialog, you'll find three buttons:
7863 These in turn allow you to edit your original file with the appropriate
7864 editing application, view the produced file as included in the primary
7865 format document, and finally force an update of the resulting material
7866 in the primary format.
7876 button will be disabled, because most templates are configured to automatically
7877 update the produced file when needed.
7878 In those cases, there is no need to force the production of a new produced
7880 However, some templates are configured to not be automatically producing
7881 the residual product, because the cost of producing the produced file might
7882 be so large that it would be a pain to do it all the time.
7883 Those types are known as
7888 In those cases, you can use the button to force the production of the produced
7889 file exactly when you need it, and thus control the amount of work that
7895 responsibility to do this to keep the produced files current at all times:
7896 before printing, before exporting, before viewing, etc.
7897 At some time in the future, it might be possible that LyX will help you
7898 with this task.Any changes in the template, filename or parameters are actually
7899 applied whenever you press
7927 In this section, we should include some examples of use of the external
7929 Those examples could include:
7932 External raster images
7935 External XFig figures
7944 The use of makefiles
7947 Recursive external LyX templates
7950 The external template configuration file
7953 It is relatively easy to add custom external template definitions to LyX.
7954 However, be aware this doing this in an careless manner most probably
7958 introduce an easily exploitable security hole.
7959 So before you do this, please read the discussion about security which
7963 Having said that, we encourage you to submit any interesting templates that
7968 The external templates are defined in the
7970 lib/external_templates
7973 You can place your own version in
7975 .lyx/external_templates
7980 A typical template looks like this:
7986 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
8004 AutomaticProduction true
8016 TransformCommand Rotate RotationLatexCommand
8019 TransformCommand Resize ResizeLatexCommand
8022 Product "$$RotateFront$$ResizeFront
8029 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
8032 $$ResizeBack$$RotateBack"
8038 UpdateResult "$$AbsPath$$Basename.pstex_t"
8041 Requirement "graphicx"
8044 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
8047 ReferencedFile latex "$$AbsPath$$Basename.eps"
8050 ReferencedFile dvi "$$AbsPath$$Basename.eps"
8059 TransformCommand Rotate RotationLatexCommand
8062 TransformCommand Resize ResizeLatexCommand
8065 Product "$$RotateFront$$ResizeFront
8072 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
8075 $$ResizeBack$$RotateBack"
8081 UpdateResult "$$AbsPath$$Basename.pdftex_t"
8084 Requirement "graphicx"
8087 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
8090 ReferencedFile latex "$$AbsPath$$Basename.pdf"
8099 Product "$$Contents(
8101 "$$AbsPath$$Basename.asc
8106 UpdateFormat asciixfig
8109 UpdateResult "$$AbsPath$$Basename.asc"
8118 Product "<graphic fileref=
8120 "$$AbsOrRelPathMaster$$Basename.eps
8131 UpdateResult "$$AbsPath$$Basename.eps"
8134 ReferencedFile docbook "$$AbsPath$$Basename.eps"
8137 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
8146 Product "[XFig: $$FName]"
8155 As you can see, the template is enclosed in
8159 \SpecialChar \ldots{}
8165 It contains a header specifying some general settings, and for each supported
8166 primary document file format a section
8170 \SpecialChar \ldots{}
8184 Template\SpecialChar ~
8188 A unique name for the template.
8189 It must not contain substitution macros (see below).
8195 GuiName\SpecialChar ~
8199 The text that is displayed on the button.
8200 This command must occur exactly once.
8206 HelpText\SpecialChar ~
8207 <text>\SpecialChar ~
8211 The help text that is used in the External dialog.
8212 Provide enough information to explain to the user just what the template
8213 can provide him with.
8214 This command must occur exactly once.
8220 InputFormat\SpecialChar ~
8224 The file format of the original file.
8225 This must be the name of a format that is known to LyX (see the
8230 ools\SpecialChar \menuseparator
8235 references:Conversion
8242 if the template can handle original files of more than one format.
8243 LyX will attempt to interrogate the file itself in order to deduce its
8244 format in this case.
8245 This command must occur exactly once.
8251 FileFilter\SpecialChar ~
8255 A glob pattern that is used in the file dialog to filter out the desired
8257 If there is more than one possible file extension (e.g.\SpecialChar ~
8266 ), use something like
8271 This command must occur exactly once.
8277 AutomaticProduction\SpecialChar ~
8281 Wether the file represented by the template must be generated by LyX.
8282 This command must occur exactly once.
8288 Transform\SpecialChar ~
8289 Rotate|Resize|Clip|Extra
8292 This command specifies which transformations are supported by this template.
8293 It may occur zero or more times.
8294 This command enables the corresponding tabs in the external dialog.
8299 command must have either a corresponding
8312 Otherwise the transformation will not be supported by that format.
8321 Format\SpecialChar ~
8322 LaTeX|PDFLaTeX|Ascii|DocBook|LinuxDoc
8325 The primary document file format that this format definition is for.
8326 Not every template has a sensible representation in all document file formats.
8327 Please define nevertheless a
8331 section for all formats.
8332 Use a dummy text when no representation is available (see the LinuxDoc
8333 format in the example above).
8334 Then you can at least see a reference to the external material in the exported
8341 TransformCommand\SpecialChar ~
8342 Rotate\SpecialChar ~
8343 RotationLatexCommand
8346 This command specifies that the built in LaTeX command should be used for
8348 This command may occur once or not at all.
8354 TransformCommand\SpecialChar ~
8355 Resize\SpecialChar ~
8359 This command specifies that the built in LaTeX command should be used for
8361 This command may occur once or not at all.
8367 TransformOption\SpecialChar ~
8368 Rotate\SpecialChar ~
8372 This command specifies that rotation is done via an optional argument.
8373 This command may occur once or not at all.
8379 TransformOption\SpecialChar ~
8380 Resize\SpecialChar ~
8384 This command specifies that resizing is done via an optional argument.
8385 This command may occur once or not at all.
8391 TransformOption\SpecialChar ~
8396 This command specifies that clipping is done via an optional argument.
8397 This command may occur once or not at all.
8403 TransformOption\SpecialChar ~
8408 This command specifies that an extra optional argument is used.
8409 This command may occur once or not at all.
8415 Product\SpecialChar ~
8419 The text that is inserted in the exported document.
8420 This is actually the most important command and can be quite complex.
8421 This command must occur exactly once.
8427 UpdateFormat\SpecialChar ~
8431 The file format of the converted file.
8432 This must be the name of a format that is known to LyX (see the
8437 ools\SpecialChar \menuseparator
8442 references:Conversion
8445 This command must occur exactly once.
8451 UpdateResult\SpecialChar ~
8455 The file name of the converted file.
8456 The file name must be absolute.
8457 This command must occur exactly once.
8463 ReferencedFile\SpecialChar ~
8464 <format>\SpecialChar ~
8468 This command denotes files that are created by the conversion process and
8469 are needed for a particular export format.
8470 If the filename is relative, it is interpreted relative to the master document.
8471 This command may be given zero or more times.
8477 Requirement\SpecialChar ~
8481 The name of a required LaTeX package.
8482 The package is included via
8488 in the LaTeX preamble.
8489 This command may occur zero or more times.
8495 Preamble\SpecialChar ~
8499 This command specifies a preamble snippet that will be included in the
8501 It has to be defined using
8505 \SpecialChar \ldots{}
8511 This command may occur zero or more times.
8517 Option\SpecialChar ~
8518 <name>\SpecialChar ~
8522 This command defines an additional macro
8535 itself may contain substitution macros.
8536 The advantage over using
8544 is that the substituted value of
8548 is sanitized so that it is a valid optional argument in the document format.
8549 This command may occur zero or more times.
8552 Preamble definitions
8555 The external template configuration file may contain additional preamble
8556 definitions enclosed by
8560 \SpecialChar \ldots{}
8566 They can be used by the templates in the
8573 The substitution mechanism
8576 When the external material facility invokes an external program, it is done
8577 on the basis of a command defined in the template configuration file.
8578 These commands can contain various macros that are expanded before execution.
8579 Execution always take place in the directory of the containing document.
8582 Also, whenever external material is to be displayed, the name will be produced
8583 by the substitution mechanism, and most other commands in the template
8584 definition support substitution as well.
8587 The available macros are the following:
8590 $$FName The filename of the file specified in the external material dialog.
8591 This is either an absolute name, or it is relative to the LyX document.
8594 $$Basename The filename without path and without the extension.
8597 $$Extension The file extension (including the dot).
8600 $$FPath The path part of
8604 (absolute name or relative to the LyX document).
8607 $$AbsPath The absolute file path.
8610 $$RelPathMaster The file path, relative to the master LyX document.
8613 $$RelPathParent The file path, relative to the LyX document.
8616 $$AbsOrRelPathMaster The file path, absolute or relative to the master LyX
8620 $$AbsOrRelPathParent The file path, absolute or relative to the LyX document.
8623 $$Tempname A name and full path to a temporary file which will be automatically
8624 deleted whenever the containing document is closed, or the external material
8629 \begin_inset Quotes eld
8633 \begin_inset Quotes erd
8636 ) This macro will expand to the contents of the file with the name
8643 $$Sysdir This macro will expand to the absolute path of the system directory.
8644 This is typically used to point to the various helper scripts that are
8648 All path macros contain a trailing directory separator, so you can construct
8650 the absolute filename with
8652 $$AbsPath$$Basename$$Extension
8657 The macros above are substituted in all commands unless otherwise noted.
8662 supports additionally the following substitutions if they are enabled by
8674 $$ResizeFront The front part of the resize command.
8677 $$ResizeBack The back part of the resize command.
8680 $$RotateFront The front part of the rotation command.
8683 $$RotateBack The back part of the rotation command.
8686 The value string of the
8690 command supports additionally the following substitutions if they are enabled
8702 $$Clip The clip option.
8705 $$Extra The extra option.
8708 $$Resize The resize option.
8711 $$Rotate The rotation option.
8714 You may ask why there are so many path macros.
8715 There are mainly two reasons:
8718 First, relative and absolute file names should remain relative or absolute,
8720 Users may have reasons to prefer either form.
8721 Relative names are useful for portable documents that should work on different
8722 machines, for example.
8723 Absolute names may be required by some programs.
8726 Second, LaTeX treats relative file names differently than LyX and other
8727 programs in nested included files.
8728 For LyX, a relative file name is always relative to the document that contains
8730 For LaTeX, it is always relative to the master document.
8731 These two definitions are identical if you have only one document, but
8732 differ if you have a master document that includes part documents.
8733 That means that relative filenames must be transformed when presented to
8735 Fortunately LyX does this automatically for you if you choose the right
8739 So which path macro should be used in new template definitions? The rule
8747 if an absolute path is required.
8752 $$AbsOrRelPathMaster
8754 if the substituted string is some kind of LaTeX input.
8759 $$AbsOrRelPathParent
8761 in order to preserve the user's choice.
8764 There are special cases where this rule does not work and e.g.\SpecialChar ~
8766 are needed, but normally it will work just fine.
8767 One example for such a case is the command
8769 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
8771 in the XFig template above: We can't use the absolute name because the
8776 files needs the relative name in order to rewrite the file content.
8788 This section is outdated
8791 The external material feature interfaces with a lot of external programs
8792 and does so automatically, so we have to consider the security implications
8794 In particular, since you have the option of including your own filenames
8795 and/or parameter strings and those are expanded into a command, it seems
8796 that it would be possible to create a malicious document which executes
8797 arbitrary commands when a user views or prints the document.
8798 This is something we definately want to avoid.
8801 However, since the external program commands are specified in the template
8802 configuration file only, there are no security issues if LyX is properly
8803 configured with safe templates only.
8804 This is so because the external programs are invoked with the
8808 -system call rather than the
8812 system-call, so it's not possible to execute arbitrary commands from the
8813 filename or parameter section via the shell.
8816 This also implies that you are restricted in what command strings you can
8817 use in the external material templates.
8818 In particular, pipes and redirection are not readily available.
8819 This has to be so if LyX should remain safe.
8820 If you want to use some of the shell features, you should write a safe
8821 script to do this in a controlled manner, and then invoke the script from
8827 directory of the LyX installation, you can find a safe wrapper script
8829 general_command_wrapper.py
8831 that supports redirection of input and output.
8832 That can serve as an example for how to write safe template scripts.
8833 For a more advanced example that uses
8837 and friends, take a look at the
8844 It is possible to design a template that interacts directly with the shell,
8845 but since this would allow a malicious user to execute arbitrary commands
8846 by writing clever filenames and/or parameters, we generally recommend that
8847 you only use safe scripts that work with the
8851 system call in a controlled manner.
8852 Of course, for use in a controlled environment, it can be tempting to just
8853 fall back to use ordinary shell scripts.
8854 If you do so, be aware that you
8858 provide an easily exploitable security hole in your system.
8859 Of course it stands to reason that such unsafe templates will never be
8860 included in the standard LyX distribution, although we do encourage people
8861 to submit new templates in the open source tradition.
8862 But LyX as shipped from the official distribution channels will never have
8866 Including external material provides a lot of power, and you have to be
8867 careful not to introduce security hazards with this power.
8868 A subtle error in a single line in an innocent looking script can open
8869 the door to huge security problems.
8870 So if you do not fully understand the issues, we recommend that you consult
8871 a knowledgable security professional or the LyX development team if you
8872 have any questions about whether a given template is safe or not.
8873 And do this before you use it in an uncontrolled environment.
8882 The LyX server is a method implemented in LyX that will enable other programs
8883 to talk to LyX, invoke LyX commands, and retrieve information about the
8885 This is only intended for advanced users, but they should find it useful.
8888 Starting the LyX Server
8891 The LyX server works through the use of a pair of named pipes.
8892 These are usually located in your home directory and have the names
8893 \begin_inset Quotes eld
8901 \begin_inset Quotes erd
8905 \begin_inset Quotes eld
8913 \begin_inset Quotes erd
8917 External programs write into
8921 and read back data from
8926 The stem of the pipe names can be defined in the
8931 ools\SpecialChar \menuseparator
8940 "/home/myhome/.lyxpipe"
8953 ' to create the pipes.
8954 The above setting also has the effect of activating the LyX server.
8955 If one of the pipes already exists, LyX will assume that another LyX process
8956 is already running and will not start the server.
8957 To have several LyX processes with servers at the same time, you have to
8958 change the configuration between the start of the programs.
8961 If you are developing a client program, you might find it useful to enable
8962 debugging information from the LyX server.
8963 Do this by starting LyX as
8968 Warning: if LyX crashes, it may not manage to remove the pipes; in this
8969 case you must remove them manually.
8970 If LyX starts and the pipes exist already, it will not start any server.
8973 Other than this, there are a few points to consider:
8976 Both server and clients must run on UNIX or OS/2 machines.
8977 Communications between LyX on UNIX and clients on OS/2 or vice versa is
8978 not possible right now.
8981 On OS/2, only one client can connect to LyXServer at a time.
8984 On OS/2, clients must open inpipe with
8991 You can find a complete example client written in C in the source distribution
8994 development/server_monitor.c
8999 Normal communication
9002 To issue a LyX call, the client writes a line of ASCII text into the input
9004 This line has the following format:
9024 is a name that the client can choose arbitrarily.
9025 Its only use is that LyX will echo it if it sends an answer - so a client
9026 can dispatch results from different requesters.
9033 is the function you want LyX to perform.
9034 It is the same as the commands you'd use in the minibuffer.
9041 is an optional argument which is meaningful only to some functions (for
9043 \begin_inset Quotes eld
9047 \begin_inset Quotes erd
9050 which will insert the argument as text at the cursor position.)
9053 The answer from LyX will arrive in the output pipe and be of the form
9077 are just echoed from the command request, while
9081 is more or less useful information filled according to how the command
9082 execution worked out.
9083 Some commands will return information about the internal state of LyX,
9085 \begin_inset Quotes eld
9089 \begin_inset Quotes erd
9092 , while other will return an empty data-response.
9093 This means that the command execution went fine.
9096 In case of errors, the response from LyX will have this form
9116 should contain an explanation of why the command failed.
9122 echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
9125 echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
9127 read a <~/.lyxpipe.out
9135 LyX can notify clients of events going on asynchronously.
9136 Currently it will only do this if the user binds a key sequence with the
9138 \begin_inset Quotes eld
9142 \begin_inset Quotes erd
9146 The format of the string LyX sends is as follows:
9161 is the printed representation of the key sequence that was actually typed
9165 This mechanism can be used to extend LyX's command set and implement macros:
9166 bind some key sequence to
9167 \begin_inset Quotes eld
9171 \begin_inset Quotes erd
9174 , start a client that listens on the out pipe, dispatches the command according
9175 to the sequence and starts a function that may use LyX calls and LyX requests
9176 to issue a command or a series of commands to LyX.
9179 The simple LyX Server Protocol
9182 LyX implements a simple protocol that can be used for session management.
9183 All messages are of the form
9200 \begin_inset Quotes eld
9204 \begin_inset Quotes erd
9208 \begin_inset Quotes eld
9212 \begin_inset Quotes erd
9217 \begin_inset Quotes eld
9221 \begin_inset Quotes erd
9224 is received from a client, LyX will report back to inform the client that
9225 it's listening to it's messages, while
9226 \begin_inset Quotes eld
9230 \begin_inset Quotes erd
9233 sent from LyX will inform clients that LyX is closing.
9239 This appendix is a huge cross-reference to all the English language keybindings.
9240 Originally, we simply wanted to list all of the key bindings followed by
9241 the function it's bound to.
9242 That way, a user can look up a key to find out what it does.
9243 We then decided, what the hey, why not include the default toolbar and
9245 Please note this section is likely to be very out of date.
9248 The form is really self-explanatory, but here are a few tips: all entries
9249 are arranged roughly alphabetically for a given modifier (
9258 For the general keyboard layout, simpler prefixes precede the more complex
9268 All entries were gleaned from the default user interface and binding files
9269 located in the directories
9271 \SpecialChar \ldots{}
9276 \SpecialChar \ldots{}
9279 ; they should be treated as the final word on the bindings.
9282 As a final note, be aware that some window managers (such as FVWM) take
9283 control of some of the function keys or motion keys.
9288 is listed here as generating
9292 , but FVWM grabs it and uses it to change virtual desktops instead.
9293 Very annoying unless you instruct your window manager to stop intercepting
9351 Icon "footnote-insert"
9354 Icon "marginpar-insert"
9363 Icon "figure-insert"
9366 Icon "dialog-tabular-insert"
9377 \labelwidthstring 00.00.0000
9386 \labelwidthstring 00.00.0000
9397 \labelwidthstring 00.00.0000
9408 \labelwidthstring 00.00.0000
9421 \labelwidthstring 00.00.0000
9430 \labelwidthstring 00.00.0000
9443 \labelwidthstring 00.00.0000
9452 \labelwidthstring 00.00.0000
9463 \labelwidthstring 00.00.0000
9474 \labelwidthstring 00.00.0000
9485 \labelwidthstring 00.00.0000
9494 \labelwidthstring 00.00.0000
9506 \labelwidthstring 00.00.0000
9514 \labelwidthstring 00.00.0000
9522 \labelwidthstring 00.00.0000
9530 \labelwidthstring 00.00.0000
9538 \labelwidthstring 00.00.0000
9546 \labelwidthstring 00.00.0000
9555 \labelwidthstring 00.00.0000
9567 \labelwidthstring 00.00.0000
9578 \labelwidthstring 00.00.0000
9589 \labelwidthstring 00.00.0000
9600 \labelwidthstring 00.00.0000
9611 \labelwidthstring 00.00.0000
9622 \labelwidthstring 00.00.0000
9633 \labelwidthstring 00.00.0000
9647 \labelwidthstring 00.00.0000
9655 tabular-feature append-row
9657 \labelwidthstring 00.00.0000
9665 tabular-feature toggle-line-bottom
9667 \labelwidthstring 00.00.0000
9675 tabular-feature align-center
9677 \labelwidthstring 00.00.0000
9685 tabular-feature delete-column
9687 \labelwidthstring 00.00.0000
9695 tabular-feature align-left
9697 \labelwidthstring 00.00.0000
9705 tabular-feature align-right
9707 \labelwidthstring 00.00.0000
9715 tabular-feature toggle-line-left
9717 \labelwidthstring 00.00.0000
9725 tabular-feature multicolumn
9727 \labelwidthstring 00.00.0000
9735 tabular-feature valign-center
9737 \labelwidthstring 00.00.0000
9745 tabular-feature valign-top
9747 \labelwidthstring 00.00.0000
9755 tabular-feature toggle-line-right
9757 \labelwidthstring 00.00.0000
9765 tabular-feature toggle-line-top
9767 \labelwidthstring 00.00.0000
9775 tabular-feature append-column
9777 \labelwidthstring 00.00.0000
9785 tabular-feature valign-bottom
9787 \labelwidthstring 00.00.0000
9795 tabular-feature delete-row
9798 \labelwidthstring 00.00.0000
9810 \labelwidthstring 00.00.0000
9816 floats-operate openfoot
9818 \labelwidthstring 00.00.0000
9824 floats-operate closefoot
9826 \labelwidthstring 00.00.0000
9832 floats-operate openfig
9834 \labelwidthstring 00.00.0000
9842 \labelwidthstring 00.00.0000
9850 \labelwidthstring 00.00.0000
9856 floats-operate closefig
9859 \labelwidthstring 00.00.0000
9870 \labelwidthstring 00.00.0000
9883 \labelwidthstring 00.00.0000
9894 \labelwidthstring 00.00.0000
9905 \labelwidthstring 00.00.0000
9918 \labelwidthstring 00.00.0000
9927 \labelwidthstring 00.00.0000
9939 \labelwidthstring 00.00.0000
9947 primary-selection-paste
9949 \labelwidthstring 00.00.0000
9957 primary-selection-paste paragraph
9963 \labelwidthstring 00.00.0000
9977 \labelwidthstring 00.00.0000
9985 buffer-float-insert algorithm
9987 \labelwidthstring 00.00.0000
9995 buffer-float-insert wide-tab
9997 \labelwidthstring 00.00.0000
10005 buffer-float-insert figure
10007 \labelwidthstring 00.00.0000
10015 buffer-float-insert table
10017 \labelwidthstring 00.00.0000
10025 buffer-float-insert wide-fig
10028 \labelwidthstring 00.00.0000
10037 dialog-tabular-insert
10039 \labelwidthstring 00.00.0000
10050 \labelwidthstring 00.00.0000
10061 \labelwidthstring 00.00.0000
10070 buffer-child-insert
10072 \labelwidthstring 00.00.0000
10083 \labelwidthstring 00.00.0000
10094 \labelwidthstring 00.00.0000
10105 \labelwidthstring 00.00.0000
10116 \labelwidthstring 00.00.0000
10127 \labelwidthstring 00.00.0000
10138 \labelwidthstring 00.00.0000
10149 \labelwidthstring 00.00.0000
10163 \labelwidthstring 00.00.0000
10173 \labelwidthstring 00.00.0000
10183 \labelwidthstring 00.00.0000
10193 \labelwidthstring 00.00.0000
10203 \labelwidthstring 00.00.0000
10213 \labelwidthstring 00.00.0000
10224 \labelwidthstring 00.00.0000
10235 \labelwidthstring 00.00.0000
10249 \labelwidthstring 00.00.0000
10257 protected-space-insert
10259 \labelwidthstring 00.00.0000
10267 end-of-sentence-period-insert
10269 \labelwidthstring 00.00.0000
10279 \labelwidthstring 00.00.0000
10289 \labelwidthstring 00.00.0000
10299 \labelwidthstring 00.00.0000
10307 menu-separator-insert
10309 \labelwidthstring 00.00.0000
10317 hyphenation-point-insert
10319 \labelwidthstring 00.00.0000
10329 \labelwidthstring 00.00.0000
10337 command-sequence math-insert ^;math-mode;
10339 \labelwidthstring 00.00.0000
10347 command-sequence math-insert _;math-mode;
10350 \labelwidthstring 00.00.0000
10364 \labelwidthstring 00.00.0000
10372 file-insert-ascii lines
10374 \labelwidthstring 00.00.0000
10382 file-insert-ascii paragraphs
10384 \labelwidthstring 00.00.0000
10395 \labelwidthstring 00.00.0000
10406 \labelwidthstring 00.00.0000
10417 \labelwidthstring 00.00.0000
10431 \labelwidthstring 00.00.0000
10442 \labelwidthstring 00.00.0000
10453 \labelwidthstring 00.00.0000
10464 \labelwidthstring 00.00.0000
10475 \labelwidthstring 00.00.0000
10486 \labelwidthstring 00.00.0000
10497 \labelwidthstring 00.00.0000
10508 \labelwidthstring 00.00.0000
10519 \labelwidthstring 00.00.0000
10528 layout-save-default
10530 \labelwidthstring 00.00.0000
10541 \labelwidthstring 00.00.0000
10552 \labelwidthstring 00.00.0000
10562 \layout Subsubsection
10566 ayout\SpecialChar \menuseparator
10571 \labelwidthstring 00.00.0000
10580 \labelwidthstring 00.00.0000
10589 \labelwidthstring 00.00.0000
10598 \labelwidthstring 00.00.0000
10607 \labelwidthstring 00.00.0000
10618 \labelwidthstring 00.00.0000
10627 \labelwidthstring 00.00.0000
10636 \labelwidthstring 00.00.0000
10645 \labelwidthstring 00.00.0000
10654 \labelwidthstring 00.00.0000
10663 \labelwidthstring 00.00.0000
10672 \labelwidthstring 00.00.0000
10681 \labelwidthstring 00.00.0000
10690 \labelwidthstring 00.00.0000
10699 \labelwidthstring 00.00.0000
10710 \labelwidthstring 00.00.0000
10721 \labelwidthstring 00.00.0000
10732 \labelwidthstring 00.00.0000
10743 \labelwidthstring 00.00.0000
10752 \labelwidthstring 00.00.0000
10763 \labelwidthstring 00.00.0000
10774 \labelwidthstring 00.00.0000
10783 \labelwidthstring 00.00.0000
10794 \labelwidthstring 00.00.0000
10805 \labelwidthstring 00.00.0000
10816 \labelwidthstring 00.00.0000
10827 \labelwidthstring 00.00.0000
10836 \labelwidthstring 00.00.0000
10845 \labelwidthstring 00.00.0000
10856 \labelwidthstring 00.00.0000
10867 \labelwidthstring 00.00.0000
10878 \labelwidthstring 00.00.0000
10887 \labelwidthstring 00.00.0000
10908 \labelwidthstring 00.00.0000
10919 \labelwidthstring 00.00.0000
10930 \labelwidthstring 00.00.0000
10941 \labelwidthstring 00.00.0000
10952 \labelwidthstring 00.00.0000
10963 \labelwidthstring 00.00.0000
10972 layout ShortFoilhead
10974 \labelwidthstring 00.00.0000
10985 \labelwidthstring 00.00.0000
10996 \labelwidthstring 00.00.0000
11007 \labelwidthstring 00.00.0000
11018 \labelwidthstring 00.00.0000
11027 layout ShortRotatefoilhead
11029 \labelwidthstring 00.00.0000
11040 \labelwidthstring 00.00.0000
11051 \labelwidthstring 00.00.0000
11062 \labelwidthstring 00.00.0000
11071 drop-layouts-choice
11073 \labelwidthstring 00.00.0000
11087 \labelwidthstring 00.00.0000
11101 \labelwidthstring 00.00.0000
11112 \labelwidthstring 00.00.0000
11123 \labelwidthstring 00.00.0000
11132 layout Subsubsection
11134 \labelwidthstring 00.00.0000
11145 \labelwidthstring 00.00.0000
11154 layout Subparagraph
11156 \labelwidthstring 00.00.0000
11161 asterisk\SpecialChar ~
11168 \labelwidthstring 00.00.0000
11173 asterisk\SpecialChar ~
11180 \labelwidthstring 00.00.0000
11185 asterisk\SpecialChar ~
11192 \labelwidthstring 00.00.0000
11197 asterisk\SpecialChar ~
11204 \labelwidthstring 00.00.0000
11209 asterisk\SpecialChar ~
11214 layout Subsubsection*
11216 \labelwidthstring 00.00.0000
11221 asterisk\SpecialChar ~
11228 \labelwidthstring 00.00.0000
11233 asterisk\SpecialChar ~
11238 layout Subparagraph*
11240 \labelwidthstring 00.00.0000
11251 \labelwidthstring 00.00.0000
11260 layout Bibliography
11262 \labelwidthstring 00.00.0000
11273 \labelwidthstring 00.00.0000
11284 \labelwidthstring 00.00.0000
11295 \labelwidthstring 00.00.0000
11306 \labelwidthstring 00.00.0000
11317 \labelwidthstring 00.00.0000
11326 layout Rotatefoilhead
11328 \labelwidthstring 00.00.0000
11337 layout RightAddress
11339 \labelwidthstring 00.00.0000
11350 \labelwidthstring 00.00.0000
11361 \labelwidthstring 00.00.0000
11372 \labelwidthstring 00.00.0000
11384 These ones are kept for backwards compatibility, but only make sense on
11387 \labelwidthstring 00.00.0000
11398 \labelwidthstring 00.00.0000
11407 layout Subsubsection*
11409 \labelwidthstring 00.00.0000
11428 \labelwidthstring 00.00.0000
11438 \labelwidthstring 00.00.0000
11448 \labelwidthstring 00.00.0000
11458 \labelwidthstring 00.00.0000
11468 \labelwidthstring 00.00.0000
11478 \labelwidthstring 00.00.0000
11488 \labelwidthstring 00.00.0000
11496 hyphenation-point-insert
11498 \labelwidthstring 00.00.0000
11508 \labelwidthstring 00.00.0000
11516 line-delete-forward
11518 \labelwidthstring 00.00.0000
11528 \labelwidthstring 00.00.0000
11538 \labelwidthstring 00.00.0000
11548 \labelwidthstring 00.00.0000
11558 \labelwidthstring 00.00.0000
11568 \labelwidthstring 00.00.0000
11576 \labelwidthstring 00.00.0000
11586 \labelwidthstring 00.00.0000
11596 \labelwidthstring 00.00.0000
11606 \labelwidthstring 00.00.0000
11616 \labelwidthstring 00.00.0000
11626 \labelwidthstring 00.00.0000
11636 \labelwidthstring 00.00.0000
11647 \labelwidthstring 00.00.0000
11658 \labelwidthstring 00.00.0000
11669 \labelwidthstring 00.00.0000
11680 \labelwidthstring 00.00.0000
11692 \labelwidthstring 00.00.0000
11703 \labelwidthstring 00.00.0000
11714 \labelwidthstring 00.00.0000
11725 \labelwidthstring 00.00.0000
11736 \labelwidthstring 00.00.0000
11748 \labelwidthstring 00.00.0000
11759 \labelwidthstring 00.00.0000
11770 \labelwidthstring 00.00.0000
11782 \labelwidthstring 00.00.0000
11794 \labelwidthstring 00.00.0000
11806 \labelwidthstring 00.00.0000
11818 \labelwidthstring 00.00.0000
11830 \labelwidthstring 00.00.0000
11842 \labelwidthstring 00.00.0000
11853 \labelwidthstring 00.00.0000
11864 \labelwidthstring 00.00.0000
11875 \labelwidthstring 00.00.0000
11884 menu-open Documents
11886 \labelwidthstring 00.00.0000
11897 \labelwidthstring 00.00.0000
11908 \labelwidthstring 00.00.0000
11919 \labelwidthstring 00.00.0000
11930 \labelwidthstring 00.00.0000
11941 \labelwidthstring 00.00.0000
11950 buffer-toggle-read-only
11952 \labelwidthstring 00.00.0000
11963 \labelwidthstring 00.00.0000
11974 \labelwidthstring 00.00.0000
11985 \labelwidthstring 00.00.0000
11995 \labelwidthstring 00.00.0000
12005 \labelwidthstring 00.00.0000
12015 \labelwidthstring 00.00.0000
12025 \labelwidthstring 00.00.0000
12035 \labelwidthstring 00.00.0000
12045 \labelwidthstring 00.00.0000
12055 \labelwidthstring 00.00.0000
12065 \labelwidthstring 00.00.0000
12075 \labelwidthstring 00.00.0000
12085 \labelwidthstring 00.00.0000
12095 \labelwidthstring 00.00.0000
12105 \labelwidthstring 00.00.0000
12115 \labelwidthstring 00.00.0000
12125 \labelwidthstring 00.00.0000
12133 word-delete-forward
12135 \labelwidthstring 00.00.0000
12143 word-delete-backward
12145 \labelwidthstring 00.00.0000
12155 \labelwidthstring 00.00.0000
12163 end-of-sentence-period-insert
12165 \labelwidthstring 00.00.0000
12173 protected-space-insert
12175 \labelwidthstring 00.00.0000
12185 \labelwidthstring 00.00.0000
12195 \labelwidthstring 00.00.0000
12205 \labelwidthstring 00.00.0000
12215 \labelwidthstring 00.00.0000
12225 \labelwidthstring 00.00.0000
12235 \labelwidthstring 00.00.0000
12243 buffer-begin-select
12245 \labelwidthstring 00.00.0000
12255 \labelwidthstring 00.00.0000
12263 paragraph-up-select
12265 \labelwidthstring 00.00.0000
12273 paragraph-down-select
12275 \labelwidthstring 00.00.0000
12283 word-backward-select
12285 \labelwidthstring 00.00.0000
12293 word-forward-select
12295 \labelwidthstring 00.00.0000
12305 \labelwidthstring 00.00.0000
12313 word-delete-forward
12315 \labelwidthstring 00.00.0000
12325 \labelwidthstring 00.00.0000
12335 \labelwidthstring 00.00.0000
12345 \labelwidthstring 00.00.0000
12355 \labelwidthstring 00.00.0000
12363 break-paragraph-keep-layout
12365 \labelwidthstring 00.00.0000
12378 \labelwidthstring 00.00.0000
12388 \labelwidthstring 00.00.0000
12398 \labelwidthstring 00.00.0000
12408 \labelwidthstring 00.00.0000
12418 \labelwidthstring 00.00.0000
12428 \labelwidthstring 00.00.0000
12438 \labelwidthstring 00.00.0000
12448 \labelwidthstring 00.00.0000
12458 \labelwidthstring 00.00.0000
12468 \labelwidthstring 00.00.0000
12478 \labelwidthstring 00.00.0000
12488 \labelwidthstring 00.00.0000
12498 \labelwidthstring 00.00.0000
12508 \labelwidthstring 00.00.0000
12518 \labelwidthstring 00.00.0000
12528 \labelwidthstring 00.00.0000
12538 \labelwidthstring 00.00.0000
12548 \labelwidthstring 00.00.0000
12558 \labelwidthstring 00.00.0000
12568 \labelwidthstring 00.00.0000
12578 \labelwidthstring 00.00.0000
12588 \labelwidthstring 00.00.0000
12598 \labelwidthstring 00.00.0000
12606 protected-space-insert
12608 \labelwidthstring 00.00.0000
12618 \labelwidthstring 00.00.0000
12628 \labelwidthstring 00.00.0000
12638 \labelwidthstring 00.00.0000
12646 buffer-new-template
12648 \labelwidthstring 00.00.0000
12658 \labelwidthstring 00.00.0000
12668 \labelwidthstring 00.00.0000
12678 \labelwidthstring 00.00.0000
12688 \labelwidthstring 00.00.0000
12698 \labelwidthstring 00.00.0000
12708 \labelwidthstring 00.00.0000
12718 \labelwidthstring 00.00.0000
12726 end-of-sentence-period-insert
12728 \labelwidthstring 00.00.0000
12738 \labelwidthstring 00.00.0000
12748 \labelwidthstring 00.00.0000
12756 hyphenation-point-insert
12758 \labelwidthstring 00.00.0000
12768 \labelwidthstring 00.00.0000
12776 protected-space-insert
12778 \labelwidthstring 00.00.0000
12788 \labelwidthstring 00.00.0000
12798 \labelwidthstring 00.00.0000
12808 \labelwidthstring 00.00.0000
12818 \labelwidthstring 00.00.0000
12828 \labelwidthstring 00.00.0000
12838 \labelwidthstring 00.00.0000
12848 \labelwidthstring 00.00.0000
12858 \labelwidthstring 00.00.0000
12868 \labelwidthstring 00.00.0000
12878 \labelwidthstring 00.00.0000
12888 \labelwidthstring 00.00.0000
12898 \labelwidthstring 00.00.0000
12908 \labelwidthstring 00.00.0000
12918 \labelwidthstring 00.00.0000
12928 \labelwidthstring 00.00.0000
12936 word-delete-forward
12938 \labelwidthstring 00.00.0000
12946 word-delete-backward
12948 \labelwidthstring 00.00.0000
12958 \labelwidthstring 00.00.0000
12968 \labelwidthstring 00.00.0000
12978 \labelwidthstring 00.00.0000
12988 \labelwidthstring 00.00.0000
12996 paragraph-down-select
12998 \labelwidthstring 00.00.0000
13008 \labelwidthstring 00.00.0000
13016 buffer-begin-select
13018 \labelwidthstring 00.00.0000
13026 word-backward-select
13028 \labelwidthstring 00.00.0000
13036 word-forward-select
13038 \labelwidthstring 00.00.0000
13046 paragraph-up-select
13048 \labelwidthstring 00.00.0000
13058 \labelwidthstring 00.00.0000
13066 break-paragraph-keep-layout
13068 \labelwidthstring 00.00.0000
13078 \labelwidthstring 00.00.0000
13088 \labelwidthstring 00.00.0000
13098 \labelwidthstring 00.00.0000
13108 \labelwidthstring 00.00.0000
13118 \labelwidthstring 00.00.0000
13126 \labelwidthstring 00.00.0000
13136 \labelwidthstring 00.00.0000
13146 \labelwidthstring 00.00.0000
13156 \labelwidthstring 00.00.0000
13166 \labelwidthstring 00.00.0000
13182 These are LyX keyboard definitions for mathematics, similar to those of
13186 The bindings file and the present documentation were prepared by Serge Winitzki
13187 with assistance from Jean-Marc Lasgouttes.
13188 Version 1.3, for LyX 1.2.x and 1.3.x.
13191 These definitions make it a lot easier to type equations without using the
13192 mouse, especially for people familiar with Scientific Word.
13193 The standard LyX bindings such as
13204 Tip: to find the "LyX bind name" for a key, look at the status bar after
13205 typing some non-existent key combination.
13207 to find how "Ctrl-&" is referenced, press Ctrl-S and then Ctrl-&: the status
13208 bar shows "C-s S-C-ampersand." (This does not work in LyX 1.3.0!)
13210 \labelwidthstring 00.00.0000
13220 -- Copy, cut, paste is as in Sciword,
13234 \labelwidthstring 00.00.0000
13244 -- Display equation toggle: type
13248 to insert a displayed formula (
13253 \begin_inset Quotes eld
13257 \begin_inset Quotes erd
13265 in a displayed formula to convert it back to an inline formula.
13267 \labelwidthstring 00.00.0000
13283 to insert a fraction (
13288 \begin_inset Quotes eld
13292 \begin_inset Quotes erd
13296 You can also select an expression and type
13300 to convert it to the numerator of a fraction.
13309 end of the denominator will delete the numerator and convert the denominator
13312 \labelwidthstring 00.00.0000
13325 \begin_inset Formula $\int$
13333 \begin_inset Quotes eld
13337 \begin_inset Quotes erd
13342 \labelwidthstring 00.00.0000
13350 line-delete-forward
13352 -- Emacs-like binding: delete forward of cursor to end of line.
13354 \labelwidthstring 00.00.0000
13364 -- A text/math toggle (
13369 \begin_inset Quotes eld
13373 \begin_inset Quotes erd
13376 ): switches to math in text mode, and also inserts roman text in math mode.
13386 \begin_inset Quotes eld
13390 \begin_inset Quotes erd
13395 \labelwidthstring 00.00.0000
13405 -- Add/remove numbering in a single equation.
13407 \labelwidthstring 00.00.0000
13417 -- Add/remove numbering at a line in equation arrays.
13420 The above commands are toggles that control the numbering of equations (
13425 \begin_inset Quotes eld
13429 \begin_inset Quotes erd
13433 Note: when deleting a number in a labeled eqnarray, the label is not really
13434 removed (the TeX code becomes
13435 \begin_inset Quotes eld
13447 \begin_inset Quotes erd
13450 ) and this generates a (harmless) LaTeX warning.
13452 \labelwidthstring 00.00.0000
13462 -- Open a new document.
13465 \labelwidthstring 00.00.0000
13475 -- Insert a quote character " (
13480 \begin_inset Quotes eld
13484 \begin_inset Quotes erd
13489 \begin_inset Quotes eld
13493 \begin_inset Quotes erd
13496 double quote character that you get by default.
13498 \labelwidthstring 00.00.0000
13510 -- Square root sign
13511 \begin_inset Formula $\sqrt{x}$
13519 \begin_inset Quotes eld
13523 \begin_inset Quotes erd
13528 \labelwidthstring 00.00.0000
13541 \begin_inset Formula $\sqrt[n]{x}$
13546 \labelwidthstring 00.00.0000
13556 -- Another binding for a switch between the text and the math mode (
13561 \begin_inset Quotes eld
13565 \begin_inset Quotes erd
13569 Note that the roman text inserted in math mode is special.
13571 \labelwidthstring 00.00.0000
13585 the selected text (text mode only, use things like
13599 \labelwidthstring 00.00.0000
13609 -- W*ndows heritage.
13611 \labelwidthstring 00.00.0000
13621 -- Close the current document (again, a W*ndows heritage).
13623 \labelwidthstring 00.00.0000
13633 \labelwidthstring 00.00.0000
13643 \labelwidthstring 00.00.0000
13654 \begin_inset Quotes eld
13658 \begin_inset Quotes erd
13662 \begin_inset Quotes eld
13666 \begin_inset Quotes erd
13672 Bracket delimiters: press
13676 -<bracket key> to insert a matching pair of delimiters.
13681 inserts a pair of parentheses
13682 \begin_inset Formula $\left[\right]$
13690 does the same thing.) It will switch to math mode if needed.
13691 The supported characters are ( [ { < |.
13692 It is the same to press the right or the left bracket.
13693 The corresponding delimiters are
13694 \begin_inset Formula $\left(\right)$
13698 \begin_inset Formula $\left[\right]$
13702 \begin_inset Formula $\left\{ \right\} $
13706 \begin_inset Formula $\left\langle \right\rangle $
13710 \begin_inset Formula $\left|\right|$
13715 \begin_inset Quotes eld
13719 \begin_inset Quotes erd
13722 and resize with their contents.
13723 Use Math Panel to get other or non-matching delimiters.
13724 Press backspace on the
13728 delimiter to remove both
13729 \begin_inset Quotes eld
13733 \begin_inset Quotes erd
13736 delimiters without removing their contents.
13738 \labelwidthstring 00.00.0000
13748 -- for convenience, pressing
13760 \labelwidthstring 00.00.0000
13770 \labelwidthstring 00.00.0000
13780 \labelwidthstring 00.00.0000
13790 \labelwidthstring 00.00.0000
13800 \labelwidthstring 00.00.0000
13810 \labelwidthstring 00.00.0000
13818 math-delim langle rangle
13820 -- angular delimiters
13821 \begin_inset Formula $\left\langle \right\rangle $
13824 , not to confuse with ordinary < > signs.
13826 \labelwidthstring 00.00.0000
13834 math-delim langle rangle
13837 The bar bracket: on some keyboards (e.g.\SpecialChar ~
13838 some British ones), the bar character
13843 -something and on some wayward Unices to "brokenbar".
13844 So we define all of these keys as well.
13846 \labelwidthstring 00.00.0000
13856 \labelwidthstring 00.00.0000
13866 \labelwidthstring 00.00.0000
13876 \labelwidthstring 00.00.0000
13886 \labelwidthstring 00.00.0000
13897 Accents are in most cases
13901 -<accent key>, e.g.\SpecialChar ~
13915 for tilde (you also need to press
13921 \begin_inset Quotes eld
13933 \begin_inset Quotes erd
13937 Some accents work only in math mode and others only in text mode.
13939 \labelwidthstring 00.00.0000
13949 -- overdot accent, \i \.{a}
13952 \labelwidthstring 00.00.0000
13965 \begin_inset Formula $\dot{a}$
13968 (math mode only -- in physics this denotes a first derivative).
13970 \labelwidthstring 00.00.0000
13982 -- Vector accent over math
13983 \begin_inset Formula $\overrightarrow{x}$
13988 \labelwidthstring 00.00.0000
13998 -- umlaut accent, ä (text mode only)
14000 \labelwidthstring 00.00.0000
14012 -- double dot accent,
14013 \begin_inset Formula $\ddot{a}$
14016 (math mode only -- in physics this denotes a second derivative).
14017 To get a triple dot in math mode, use
14023 \labelwidthstring 00.00.0000
14033 -- grave accent à (text mode only, use
14041 \labelwidthstring 00.00.0000
14051 -- tilde accent ã (text mode only, use
14059 \labelwidthstring 00.00.0000
14069 -- acute accent á (text mode only, use
14077 \labelwidthstring 00.00.0000
14087 -- circumflex (caret) accent â (text mode only, use
14097 The new key S-F2 for creating a LaTeX file seems handy.
14099 \labelwidthstring 00.00.0000
14109 -- Save current document.
14111 \labelwidthstring 00.00.0000
14119 buffer-export latex
14121 -- Write a LaTeX file for the current document.
14123 \labelwidthstring 00.00.0000
14133 -- Find and replace dialog.
14135 \labelwidthstring 00.00.0000
14151 \labelwidthstring 00.00.0000
14165 to quit LyX is the W*ndows w*ndow manager's mnemonic.
14176 are used to switch fonts.
14181 to switch back to the normal font.
14182 The non-default font switches
14190 all work as toggles.
14191 They also work on the whole word if you put the cursor in the middle of
14192 the word, or if you select some text.
14194 \labelwidthstring 00.00.0000
14204 -- stop using any special font
14206 \labelwidthstring 00.00.0000
14222 \labelwidthstring 00.00.0000
14238 \labelwidthstring 00.00.0000
14254 \labelwidthstring 00.00.0000
14269 (Used sometimes for people's names.)
14277 \begin_inset Quotes eld
14281 \begin_inset Quotes erd
14288 key (useful e.g.\SpecialChar ~
14289 if the keyboard has no working
14296 Here are some Sciword-inspired mnemonics for frequently used math symbols.
14297 Many symbols start with a
14306 cannot be itself bound to anything.
14308 \labelwidthstring 00.00.0000
14321 \begin_inset Quotes eld
14325 \begin_inset Quotes erd
14329 \begin_inset Formula $\prime$
14333 This is frequently unnecessary: in most cases the normal apostrophe works
14336 \begin_inset Formula $x'+2x=0$
14339 , but in some cases this would generate a double superscript error in LaTeX.
14341 \begin_inset Formula $x^{\prime2}$
14345 \begin_inset Formula $x$
14348 prime squared) must be entered with the prime character.
14350 \labelwidthstring 00.00.0000
14359 command-sequence math-superscript; math-insert
14363 -- Insert a prime as a superscript (see example above).
14365 \labelwidthstring 00.00.0000
14375 -- Insert an upper index.
14380 \labelwidthstring 00.00.0000
14390 -- Insert a lower index.
14395 \labelwidthstring 00.00.0000
14408 -- Partial derivative symbol
14409 \begin_inset Formula $\partial$
14414 \labelwidthstring 00.00.0000
14427 -- Summation symbol
14428 \begin_inset Formula $\sum$
14431 (not the same as the Greek letter uppercase Sigma
14432 \begin_inset Formula $\Sigma$
14435 because it can resize and allows smart upper/lower limits).
14437 \labelwidthstring 00.00.0000
14451 \begin_inset Formula $\prod$
14454 (not the same as the Greek letter uppercase Pi,
14455 \begin_inset Formula $\Pi$
14460 \labelwidthstring 00.00.0000
14474 \begin_inset Formula $\infty$
14479 \labelwidthstring 00.00.0000
14493 \begin_inset Formula $\times$
14498 \labelwidthstring 00.00.0000
14509 -- Insert a stacked array
14510 \begin_inset Formula $\begin{array}{c}
14512 \\\end{array}\end{array}$
14516 (Frequently useful in formulae.)
14518 \labelwidthstring 00.00.0000
14530 \begin_inset Formula $\times$
14534 \begin_inset Formula $\begin{array}{ccc}
14539 (Then you can modify its size using the
14541 Edit\SpecialChar \menuseparator
14546 \labelwidthstring 00.00.0000
14560 \begin_inset Quotes eld
14564 \begin_inset Quotes erd
14568 \begin_inset Formula $\dagger$
14573 \labelwidthstring 00.00.0000
14587 \begin_inset Quotes eld
14591 \begin_inset Quotes erd
14595 \begin_inset Formula $\equiv$
14600 \labelwidthstring 00.00.0000
14613 \begin_inset Quotes eld
14616 Approximate equality
14617 \begin_inset Quotes erd
14621 \begin_inset Formula $\approx$
14626 \labelwidthstring 00.00.0000
14639 \begin_inset Quotes eld
14643 \begin_inset Quotes erd
14647 \begin_inset Formula $\sim$
14652 \labelwidthstring 00.00.0000
14665 \begin_inset Formula $\rightarrow$
14669 \begin_inset Formula $\lim_{x\rightarrow0}$
14674 \labelwidthstring 00.00.0000
14687 \begin_inset Formula $\leq$
14692 \labelwidthstring 00.00.0000
14704 -- Greater-or-equal
14705 \begin_inset Formula $\geq$
14710 \labelwidthstring 00.00.0000
14724 \begin_inset Quotes eld
14728 \begin_inset Quotes erd
14732 \begin_inset Formula $\ll$
14735 (useful in physics)
14737 \labelwidthstring 00.00.0000
14751 \begin_inset Quotes eld
14755 \begin_inset Quotes erd
14759 \begin_inset Formula $\gg$
14765 Standard math bindings
14767 \labelwidthstring 00.00.0000
14780 \labelwidthstring 00.00.0000
14791 \labelwidthstring 00.00.0000
14802 \labelwidthstring 00.00.0000
14815 \labelwidthstring 00.00.0000
14826 \labelwidthstring 00.00.0000
14837 \labelwidthstring 00.00.0000
14850 \labelwidthstring 00.00.0000
14861 \labelwidthstring 00.00.0000
14872 \labelwidthstring 00.00.0000
14883 \labelwidthstring 00.00.0000
14896 \labelwidthstring 00.00.0000
14909 \labelwidthstring 00.00.0000
14922 \labelwidthstring 00.00.0000
14935 \labelwidthstring 00.00.0000
14948 \labelwidthstring 00.00.0000
14961 \labelwidthstring 00.00.0000
14972 \labelwidthstring 00.00.0000
14985 \labelwidthstring 00.00.0000
14996 \labelwidthstring 00.00.0000
15007 \labelwidthstring 00.00.0000
15018 \labelwidthstring 00.00.0000
15029 \labelwidthstring 00.00.0000
15042 \labelwidthstring 00.00.0000
15053 \labelwidthstring 00.00.0000
15064 \labelwidthstring 00.00.0000
15075 \labelwidthstring 00.00.0000
15084 math-delim langle rangle
15086 \labelwidthstring 00.00.0000
15095 math-delim rangle langle
15097 \labelwidthstring 00.00.0000
15108 \labelwidthstring 00.00.0000
15121 \labelwidthstring 00.00.0000
15137 \labelwidthstring 00.00.0000
15146 \labelwidthstring 00.00.0000
15155 \labelwidthstring 00.00.0000
15164 \labelwidthstring 00.00.0000
15173 \labelwidthstring 00.00.0000