]> git.lyx.org Git - lyx.git/blob - lib/doc/Customization.lyx
Tutorial.lyx: sync with branch
[lyx.git] / lib / doc / Customization.lyx
1 #LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
2 \lyxformat 398
3 \begin_document
4 \begin_header
5 \textclass scrbook
6 \begin_preamble
7 % DO NOT ALTER THIS PREAMBLE!!!
8 %
9 % This preamble is designed to ensure that this document prints
10 % out as advertised. If you mess with this preamble,
11 % parts of this document may not print out as expected.  If you
12 % have problems LaTeXing this file, please contact 
13 % the documentation team
14 % email: lyx-docs@lists.lyx.org
15
16 \usepackage{ifpdf} % part of the hyperref bundle
17 \ifpdf % if pdflatex is used
18
19  % set fonts for nicer pdf view
20  \IfFileExists{lmodern.sty}
21   {\usepackage{lmodern}}{}
22
23 \fi % end if pdflatex is used
24
25 % the pages of the TOC is numbered roman
26 % and a pdf-bookmark for the TOC is added
27 \let\myTOC\tableofcontents
28 \renewcommand\tableofcontents{%
29   \frontmatter
30   \pdfbookmark[1]{\contentsname}{}
31   \myTOC
32   \mainmatter }
33
34 % redefine the \LyX macro for PDF bookmarks
35 \def\LyX{\texorpdfstring{%
36   L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
37   {LyX}}
38
39 % used for multi-column text
40 \usepackage{multicol}
41 \usepackage{inputenc}
42 \end_preamble
43 \options fleqn,liststotoc,bibtotoc,idxtotoc,BCOR7.5mm,titlepage,tablecaptionabove
44 \use_default_options false
45 \begin_modules
46 logicalmkup
47 \end_modules
48 \maintain_unincluded_children false
49 \begin_local_layout
50 Format 7
51 InsetLayout CharStyle:MenuItem
52 LyxType               charstyle
53 LabelString           menu
54 LatexType             command
55 LatexName             menuitem
56 Font
57 Family              Sans
58 EndFont
59 Preamble
60 \newcommand*{\menuitem}[1]{{\sffamily #1}}
61 EndPreamble
62 End
63 \end_local_layout
64 \language english
65 \inputencoding auto
66 \fontencoding global
67 \font_roman default
68 \font_sans default
69 \font_typewriter default
70 \font_default_family default
71 \use_xetex false
72 \font_sc false
73 \font_osf false
74 \font_sf_scale 100
75 \font_tt_scale 100
76
77 \graphics default
78 \default_output_format default
79 \output_sync 0
80 \bibtex_command default
81 \index_command default
82 \paperfontsize 12
83 \spacing single
84 \use_hyperref true
85 \pdf_title "LyX Configuration Manual"
86 \pdf_author "LyX Team"
87 \pdf_subject "LyX-documentation Customization"
88 \pdf_keywords "LyX, documentation, customization"
89 \pdf_bookmarks true
90 \pdf_bookmarksnumbered true
91 \pdf_bookmarksopen true
92 \pdf_bookmarksopenlevel 1
93 \pdf_breaklinks false
94 \pdf_pdfborder false
95 \pdf_colorlinks true
96 \pdf_backref false
97 \pdf_pdfusetitle false
98 \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true,pdfstartview=XYZ, plainpages=false, pdfpagelabels"
99 \papersize default
100 \use_geometry false
101 \use_amsmath 0
102 \use_esint 0
103 \use_mhchem 1
104 \cite_engine basic
105 \use_bibtopic false
106 \use_indices false
107 \paperorientation portrait
108 \suppress_date false
109 \branch OutDated
110 \selected 0
111 \filename_suffix 0
112 \color #f5fae7
113 \end_branch
114 \index Index
115 \shortcut idx
116 \color #008000
117 \end_index
118 \secnumdepth 3
119 \tocdepth 3
120 \paragraph_separation indent
121 \paragraph_indentation default
122 \quotes_language english
123 \papercolumns 1
124 \papersides 2
125 \paperpagestyle headings
126 \tracking_changes false
127 \output_changes false
128 \html_math_output 0
129 \html_be_strict true
130 \end_header
131
132 \begin_body
133
134 \begin_layout Title
135 Customizing LyX: Features for the Advanced User
136 \end_layout
137
138 \begin_layout Author
139 by the LyX Team
140 \begin_inset Foot
141 status collapsed
142
143 \begin_layout Plain Layout
144 \noindent
145 If you have comments or error corrections, please send them to the LyX Documenta
146 tion mailing list, 
147 \begin_inset CommandInset href
148 LatexCommand href
149 target "lyx-docs@lists.lyx.org"
150 type "mailto:"
151
152 \end_inset
153
154 .
155  Include 
156 \begin_inset Quotes eld
157 \end_inset
158
159 [Customization]
160 \begin_inset Quotes erd
161 \end_inset
162
163  in the subject header, and please cc the current maintainer of this file,
164  Richard Heck <rgheck@comcast.net>.
165 \end_layout
166
167 \end_inset
168
169
170 \begin_inset Newline newline
171 \end_inset
172
173
174 \begin_inset Newline newline
175 \end_inset
176
177 Version 2.0.x 
178 \end_layout
179
180 \begin_layout Standard
181 \begin_inset CommandInset toc
182 LatexCommand tableofcontents
183
184 \end_inset
185
186
187 \end_layout
188
189 \begin_layout Standard
190 \begin_inset Note Note
191 status open
192
193 \begin_layout Plain Layout
194 Please use change tracking when modifying this document.
195  This makes it easier for our translators to recognize things that have
196  been changed, and it helps the maintainer keep up-to-date with what's been
197  done.
198 \end_layout
199
200 \end_inset
201
202
203 \end_layout
204
205 \begin_layout Chapter
206 Introduction
207 \end_layout
208
209 \begin_layout Standard
210 This manual covers the customization features present in LyX.
211  In it, we discuss issues like keyboard shortcuts, screen previewing options,
212  printer options, sending commands to LyX via the LyX Server, internationalizati
213 on, installing new LaTeX classes and LyX layouts, etc.
214  We can't possibly hope to touch on everything you can change—our developers
215  add new features faster than we can document them—but we will explain the
216  most common customizations and hopefully point you in the right direction
217  for some of the more obscure ones.
218 \end_layout
219
220 \begin_layout Standard
221 \begin_inset Branch OutDated
222 status open
223
224 \begin_layout Standard
225 Information from previous versions of this document that now seems to be
226  outdated is contained in the OutDated branch of this document.
227  By default, this information will not appear in the LaTeX output.
228 \end_layout
229
230 \end_inset
231
232
233 \end_layout
234
235 \begin_layout Chapter
236 LyX configuration files
237 \end_layout
238
239 \begin_layout Standard
240 This chapter aims to help you to find your way through the LyX configuration
241  files.
242  Before continuing to read this chapter, you should find out where your
243  LyX library and user directories are by using 
244 \begin_inset Flex CharStyle:MenuItem
245 status collapsed
246
247 \begin_layout Plain Layout
248 Help\SpecialChar \menuseparator
249 About
250 \begin_inset space ~
251 \end_inset
252
253 LyX
254 \end_layout
255
256 \end_inset
257
258 .
259  The library directory is the place where LyX places its system-wide configurati
260 on files; the user directory is where you can place your modified versions.
261  We will call the former 
262 \begin_inset Flex CharStyle:Code
263 status collapsed
264
265 \begin_layout Plain Layout
266 LyXDir
267 \end_layout
268
269 \end_inset
270
271  and the latter 
272 \begin_inset Flex CharStyle:MenuItem
273 status collapsed
274
275 \begin_layout Plain Layout
276 UserDir
277 \end_layout
278
279 \end_inset
280
281  in the remainder of this document.
282  
283 \end_layout
284
285 \begin_layout Section
286 What's in 
287 \begin_inset Flex CharStyle:Code
288 status collapsed
289
290 \begin_layout Plain Layout
291 LyXDir
292 \end_layout
293
294 \end_inset
295
296 ?
297 \end_layout
298
299 \begin_layout Standard
300 \begin_inset Flex CharStyle:Code
301 status collapsed
302
303 \begin_layout Plain Layout
304 LyXDir
305 \end_layout
306
307 \end_inset
308
309  and its sub-directories contain a number of files and that can be used
310  to customize LyX's behavior.
311  You can change many of these files from within LyX itself through the 
312 \begin_inset Flex CharStyle:MenuItem
313 status collapsed
314
315 \begin_layout Plain Layout
316 Tools\SpecialChar \menuseparator
317 Preferences
318 \end_layout
319
320 \end_inset
321
322  dialog.
323  Most customization that you will want to do in LyX is possible through
324  this dialog.
325  However, many other inner aspects of LyX can be customized by modifying
326  the files in 
327 \begin_inset Flex CharStyle:Code
328 status collapsed
329
330 \begin_layout Plain Layout
331 LyXDir
332 \end_layout
333
334 \end_inset
335
336 .
337  These files fall in different categories, described in the following subsection
338 s.
339 \end_layout
340
341 \begin_layout Subsection
342 Automatically generated files
343 \end_layout
344
345 \begin_layout Standard
346 The files, which are to be found in 
347 \begin_inset Flex CharStyle:MenuItem
348 status collapsed
349
350 \begin_layout Plain Layout
351 UserDir
352 \end_layout
353
354 \end_inset
355
356 , are generated when you configure LyX.
357  They contain various default values that are guessed by inspection.
358  In general, it is not a good idea to modify them, since they might be overwritt
359 en at any time.
360 \end_layout
361
362 \begin_layout Labeling
363 \labelwidthstring 00.00.0000
364 \begin_inset Flex CharStyle:Code
365 status collapsed
366
367 \begin_layout Plain Layout
368 lyxrc.defaults
369 \end_layout
370
371 \end_inset
372
373  contains defaults for various commands.
374 \end_layout
375
376 \begin_layout Labeling
377 \labelwidthstring 00.00.0000
378 \begin_inset Flex CharStyle:Code
379 status collapsed
380
381 \begin_layout Plain Layout
382 packages.lst
383 \end_layout
384
385 \end_inset
386
387  contains the list of packages that have been recognized by LyX.
388  It is currently unused by the LyX program itself, but the information extracted
389 , and more, is made available with 
390 \begin_inset Flex CharStyle:MenuItem
391 status collapsed
392
393 \begin_layout Plain Layout
394 Help\SpecialChar \menuseparator
395 LaTeX
396 \begin_inset space ~
397 \end_inset
398
399 Configuration
400 \end_layout
401
402 \end_inset
403
404 .
405 \end_layout
406
407 \begin_layout Labeling
408 \labelwidthstring 00.00.0000
409 \begin_inset Flex CharStyle:Code
410 status collapsed
411
412 \begin_layout Plain Layout
413 textclass.lst
414 \end_layout
415
416 \end_inset
417
418  the list of text classes that have been found in your 
419 \begin_inset Flex CharStyle:Code
420 status collapsed
421
422 \begin_layout Plain Layout
423 layout/
424 \end_layout
425
426 \end_inset
427
428  directories, along with the associated LaTeX document class and their descripti
429 on.
430 \end_layout
431
432 \begin_layout Labeling
433 \labelwidthstring 00.00.0000
434 \begin_inset Flex CharStyle:Code
435 status collapsed
436
437 \begin_layout Plain Layout
438 lyxmodules.lst
439 \end_layout
440
441 \end_inset
442
443  the list of layout modules found in your 
444 \begin_inset Flex CharStyle:Code
445 status collapsed
446
447 \begin_layout Plain Layout
448 layout/
449 \end_layout
450
451 \end_inset
452
453  directories
454 \end_layout
455
456 \begin_layout Labeling
457 \labelwidthstring 00.00.0000
458 \begin_inset Flex CharStyle:Code
459 status collapsed
460
461 \begin_layout Plain Layout
462 *files.lst
463 \end_layout
464
465 \end_inset
466
467  lists of various sorts of LaTeX-related files found on your system
468 \end_layout
469
470 \begin_layout Labeling
471 \labelwidthstring 00.00.0000
472 \begin_inset Flex CharStyle:Code
473 status collapsed
474
475 \begin_layout Plain Layout
476 doc/LaTeXConfig.lyx
477 \end_layout
478
479 \end_inset
480
481  is automatically generated during configuration from the file 
482 \begin_inset Flex CharStyle:Code
483 status collapsed
484
485 \begin_layout Plain Layout
486 LaTeXConfig.lyx.in
487 \end_layout
488
489 \end_inset
490
491 .
492  It contains information on your LaTeX configuration.
493 \end_layout
494
495 \begin_layout Subsection
496 Directories
497 \end_layout
498
499 \begin_layout Standard
500 These directories are duplicated between 
501 \begin_inset Flex CharStyle:Code
502 status collapsed
503
504 \begin_layout Plain Layout
505 LyXDir
506 \end_layout
507
508 \end_inset
509
510  and 
511 \begin_inset Flex CharStyle:Code
512 status collapsed
513
514 \begin_layout Plain Layout
515 UserDir
516 \end_layout
517
518 \end_inset
519
520 .
521  If a particular files exists in both places, the one in 
522 \begin_inset Flex CharStyle:Code
523 status collapsed
524
525 \begin_layout Plain Layout
526 UserDir
527 \end_layout
528
529 \end_inset
530
531  will be used.
532 \end_layout
533
534 \begin_layout Labeling
535 \labelwidthstring 00.00.0000
536 \begin_inset Flex CharStyle:Code
537 status collapsed
538
539 \begin_layout Plain Layout
540 bind/
541 \end_layout
542
543 \end_inset
544
545  this directory contains files with the extension 
546 \begin_inset Flex CharStyle:Code
547 status collapsed
548
549 \begin_layout Plain Layout
550 .bind
551 \end_layout
552
553 \end_inset
554
555  that define the keybindings used in LyX.
556  If there exists an internationalized version of the bind file named 
557 \begin_inset Flex CharStyle:Code
558 status collapsed
559
560 \begin_layout Plain Layout
561 $LANG_xxx.bind
562 \end_layout
563
564 \end_inset
565
566 , that will be used first.
567 \end_layout
568
569 \begin_layout Labeling
570 \labelwidthstring 00.00.0000
571 \begin_inset Flex CharStyle:Code
572 status collapsed
573
574 \begin_layout Plain Layout
575 clipart/
576 \end_layout
577
578 \end_inset
579
580  contains graphics files that can be included in documents.
581  
582 \end_layout
583
584 \begin_layout Labeling
585 \labelwidthstring 00.00.0000
586 \begin_inset Flex CharStyle:Code
587 status collapsed
588
589 \begin_layout Plain Layout
590 doc/
591 \end_layout
592
593 \end_inset
594
595  contains LyX documentation files (including the one you are currently reading).
596  The file 
597 \begin_inset Flex CharStyle:Code
598 status collapsed
599
600 \begin_layout Plain Layout
601 LaTeXConfig.lyx
602 \end_layout
603
604 \end_inset
605
606  deserves special attention, as noted above.
607  The internationalized help docs are in subdirectories 
608 \begin_inset Flex CharStyle:Code
609 status collapsed
610
611 \begin_layout Plain Layout
612 doc/xx
613 \end_layout
614
615 \end_inset
616
617  where 
618 \begin_inset Quotes eld
619 \end_inset
620
621 xx
622 \begin_inset Quotes erd
623 \end_inset
624
625  is the ISO language code.
626  See chapter
627 \begin_inset space ~
628 \end_inset
629
630
631 \begin_inset CommandInset ref
632 LatexCommand ref
633 reference "cha:Internationalizing-LyX"
634
635 \end_inset
636
637  for details.
638 \end_layout
639
640 \begin_layout Labeling
641 \labelwidthstring 00.00.0000
642 \begin_inset Flex CharStyle:Code
643 status collapsed
644
645 \begin_layout Plain Layout
646 examples/
647 \end_layout
648
649 \end_inset
650
651  contains example files that explain how to use some features.
652  In the file browser, press the 
653 \begin_inset Flex CharStyle:MenuItem
654 status collapsed
655
656 \begin_layout Plain Layout
657 Examples
658 \end_layout
659
660 \end_inset
661
662  button to get there.
663 \end_layout
664
665 \begin_layout Labeling
666 \labelwidthstring 00.00.0000
667 \begin_inset Flex CharStyle:Code
668 status collapsed
669
670 \begin_layout Plain Layout
671 images/
672 \end_layout
673
674 \end_inset
675
676  contains image files that are used by the 
677 \begin_inset Flex CharStyle:MenuItem
678 status collapsed
679
680 \begin_layout Plain Layout
681 Document
682 \end_layout
683
684 \end_inset
685
686  dialog.
687  In addition, it also contains the individual icons used in the toolbar
688  and the banners that can be shown when LyX is launched.
689 \end_layout
690
691 \begin_layout Labeling
692 \labelwidthstring 00.00.0000
693 \begin_inset Flex CharStyle:Code
694 status collapsed
695
696 \begin_layout Plain Layout
697 kbd/
698 \end_layout
699
700 \end_inset
701
702  contains keyboard keymapping files.
703  See Chapter
704 \begin_inset space ~
705 \end_inset
706
707
708 \begin_inset CommandInset ref
709 LatexCommand ref
710 reference "sec:International-Keymap-Stuff"
711
712 \end_inset
713
714  for details.
715 \end_layout
716
717 \begin_layout Labeling
718 \labelwidthstring 00.00.0000
719 \begin_inset Flex CharStyle:Code
720 status collapsed
721
722 \begin_layout Plain Layout
723 layouts/
724 \end_layout
725
726 \end_inset
727
728  contains the text class and module files described in Chapter
729 \begin_inset space ~
730 \end_inset
731
732
733 \begin_inset CommandInset ref
734 LatexCommand ref
735 reference "cha:Installing-New-Document"
736
737 \end_inset
738
739 .
740 \end_layout
741
742 \begin_layout Labeling
743 \labelwidthstring 00.00.0000
744 \begin_inset Flex CharStyle:Code
745 status collapsed
746
747 \begin_layout Plain Layout
748 lyx2lyx
749 \end_layout
750
751 \end_inset
752
753  contains the 
754 \begin_inset Flex CharStyle:Code
755 status collapsed
756
757 \begin_layout Plain Layout
758 lyx2lyx
759 \end_layout
760
761 \end_inset
762
763  Python scripts used to convert between LyX versions.
764  These can be run from the command line if, say, you want to batch-convert
765  files.
766 \end_layout
767
768 \begin_layout Labeling
769 \labelwidthstring 00.00.0000
770 \begin_inset Flex CharStyle:Code
771 status collapsed
772
773 \begin_layout Plain Layout
774 scripts/
775 \end_layout
776
777 \end_inset
778
779  contains some files that demonstrate the capabilities of the 
780 \begin_inset Flex CharStyle:MenuItem
781 status collapsed
782
783 \begin_layout Plain Layout
784 External
785 \begin_inset space ~
786 \end_inset
787
788 Template
789 \end_layout
790
791 \end_inset
792
793  feature.
794  Also contains some scripts used by LyX itself.
795 \end_layout
796
797 \begin_layout Labeling
798 \labelwidthstring 00.00.0000
799 \begin_inset Flex CharStyle:Code
800 status collapsed
801
802 \begin_layout Plain Layout
803 templates/
804 \end_layout
805
806 \end_inset
807
808  contains the standard LyX template files described in Chapter
809 \begin_inset space ~
810 \end_inset
811
812
813 \begin_inset CommandInset ref
814 LatexCommand ref
815 reference "sub:Creating-Templates"
816
817 \end_inset
818
819 .
820 \end_layout
821
822 \begin_layout Labeling
823 \labelwidthstring 00.00.0000
824 \begin_inset Flex CharStyle:Code
825 status collapsed
826
827 \begin_layout Plain Layout
828 ui/
829 \end_layout
830
831 \end_inset
832
833  contains files with the extension 
834 \begin_inset Flex CharStyle:Code
835 status collapsed
836
837 \begin_layout Plain Layout
838 .ui
839 \end_layout
840
841 \end_inset
842
843  that define the user interface to LyX.
844  That is, the files define which items appear in which menus and the items
845  appearing on the toolbar.
846 \end_layout
847
848 \begin_layout Subsection
849 Files you don't want to modify
850 \end_layout
851
852 \begin_layout Standard
853 These files are used internally by LyX and you generally do not need to
854  modify them unless you are a developer.
855 \end_layout
856
857 \begin_layout Labeling
858 \labelwidthstring 00.00.0000
859 \begin_inset Flex CharStyle:Code
860 status collapsed
861
862 \begin_layout Plain Layout
863 CREDITS
864 \end_layout
865
866 \end_inset
867
868  this file contains the list of LyX developers.
869  The contents are displayed with the menu entry 
870 \begin_inset Flex CharStyle:MenuItem
871 status collapsed
872
873 \begin_layout Plain Layout
874 Help\SpecialChar \menuseparator
875 About
876 \begin_inset space ~
877 \end_inset
878
879 LyX
880 \end_layout
881
882 \end_inset
883
884 .
885 \end_layout
886
887 \begin_layout Labeling
888 \labelwidthstring 00.00.0000
889 \begin_inset Flex CharStyle:Code
890 status collapsed
891
892 \begin_layout Plain Layout
893 chkconfig.ltx
894 \end_layout
895
896 \end_inset
897
898  this is a LaTeX script used during the configuration process.
899  Do not run directly.
900 \end_layout
901
902 \begin_layout Labeling
903 \labelwidthstring 00.00.0000
904 \begin_inset Flex CharStyle:Code
905 status collapsed
906
907 \begin_layout Plain Layout
908 configure.py
909 \end_layout
910
911 \end_inset
912
913  this is the script that is used to re-configure LyX.
914  It creates configuration files in the directory it was run from.
915 \end_layout
916
917 \begin_layout Subsection
918 Other files needing a line or two...
919 \end_layout
920
921 \begin_layout Labeling
922 \labelwidthstring 00.00.0000
923 \begin_inset Flex CharStyle:Code
924 status collapsed
925
926 \begin_layout Plain Layout
927 encodings
928 \end_layout
929
930 \end_inset
931
932  this contains tables describing how different character encodings can be
933  mapped to Unicode
934 \end_layout
935
936 \begin_layout Labeling
937 \labelwidthstring 00.00.0000
938 \begin_inset Flex CharStyle:Code
939 status collapsed
940
941 \begin_layout Plain Layout
942 external_templates
943 \end_layout
944
945 \end_inset
946
947  this file contains the templates available to the new 
948 \begin_inset Flex CharStyle:MenuItem
949 status collapsed
950
951 \begin_layout Plain Layout
952 External
953 \begin_inset space ~
954 \end_inset
955
956 Template
957 \end_layout
958
959 \end_inset
960
961  feature.
962 \end_layout
963
964 \begin_layout Labeling
965 \labelwidthstring 00.00.0000
966 \begin_inset Flex CharStyle:Code
967 status collapsed
968
969 \begin_layout Plain Layout
970 languages
971 \end_layout
972
973 \end_inset
974
975  this file contains a list of all the languages currently supported by LyX.
976 \end_layout
977
978 \begin_layout Section
979 Your local configuration directory
980 \end_layout
981
982 \begin_layout Standard
983 Even if you are using LyX as an unprivileged user, you might want to change
984  LyX configuration for your own use.
985  The 
986 \begin_inset Flex CharStyle:Code
987 status collapsed
988
989 \begin_layout Plain Layout
990 UserDir
991 \end_layout
992
993 \end_inset
994
995  directory contains all your personal configuration files.
996  This is the directory described as 
997 \begin_inset Quotes eld
998 \end_inset
999
1000 user directory
1001 \begin_inset Quotes erd
1002 \end_inset
1003
1004  in 
1005 \begin_inset Flex CharStyle:MenuItem
1006 status collapsed
1007
1008 \begin_layout Plain Layout
1009 Help\SpecialChar \menuseparator
1010 About
1011 \begin_inset space ~
1012 \end_inset
1013
1014 LyX
1015 \end_layout
1016
1017 \end_inset
1018
1019 .
1020  This directory is used as a mirror of 
1021 \begin_inset Flex CharStyle:Code
1022 status collapsed
1023
1024 \begin_layout Plain Layout
1025 LyXDir
1026 \end_layout
1027
1028 \end_inset
1029
1030 , which means that every file in 
1031 \begin_inset Flex CharStyle:Code
1032 status collapsed
1033
1034 \begin_layout Plain Layout
1035 UserDir
1036 \end_layout
1037
1038 \end_inset
1039
1040  is a replacement for the corresponding file in 
1041 \begin_inset Flex CharStyle:Code
1042 status collapsed
1043
1044 \begin_layout Plain Layout
1045 LyXDir
1046 \end_layout
1047
1048 \end_inset
1049
1050 .
1051  Any configuration file described in the above sections can be placed either
1052  in the system-wide directory, in which case it will affect all users, or
1053  in your local directory for your own use.
1054 \end_layout
1055
1056 \begin_layout Standard
1057 To make things clearer, let's provide a few examples:
1058 \end_layout
1059
1060 \begin_layout Itemize
1061 The preferences set in the 
1062 \begin_inset Flex CharStyle:MenuItem
1063 status collapsed
1064
1065 \begin_layout Plain Layout
1066 Tools\SpecialChar \menuseparator
1067 Preferences
1068 \end_layout
1069
1070 \end_inset
1071
1072  dialog are saved to a file 
1073 \begin_inset Flex CharStyle:Code
1074 status collapsed
1075
1076 \begin_layout Plain Layout
1077 preferences
1078 \end_layout
1079
1080 \end_inset
1081
1082  in 
1083 \begin_inset Flex CharStyle:Code
1084 status collapsed
1085
1086 \begin_layout Plain Layout
1087 UserDir
1088 \end_layout
1089
1090 \end_inset
1091
1092 .
1093 \end_layout
1094
1095 \begin_layout Itemize
1096 When you reconfigure using 
1097 \begin_inset Flex CharStyle:MenuItem
1098 status collapsed
1099
1100 \begin_layout Plain Layout
1101 Tools\SpecialChar \menuseparator
1102 Reconfigure
1103 \end_layout
1104
1105 \end_inset
1106
1107 , LyX runs the 
1108 \begin_inset Flex CharStyle:Code
1109 status collapsed
1110
1111 \begin_layout Plain Layout
1112 configure.py
1113 \end_layout
1114
1115 \end_inset
1116
1117  script, and the resulting files are written in your local configuration
1118  directory.
1119  This means that any additional text class file that you might have added
1120  in 
1121 \begin_inset Flex CharStyle:Code
1122 status collapsed
1123
1124 \begin_layout Plain Layout
1125 UserDir/layouts
1126 \end_layout
1127
1128 \end_inset
1129
1130  will be added to the list of classes in the 
1131 \begin_inset Flex CharStyle:MenuItem
1132 status collapsed
1133
1134 \begin_layout Plain Layout
1135 Document\SpecialChar \menuseparator
1136 Settings
1137 \end_layout
1138
1139 \end_inset
1140
1141  dialog.
1142 \end_layout
1143
1144 \begin_layout Itemize
1145 If you get some updated documentation from LyX ftp site and cannot install
1146  it because you do not have sysadmin rights on your system, you can just
1147  copy the files in 
1148 \begin_inset Flex CharStyle:Code
1149 status collapsed
1150
1151 \begin_layout Plain Layout
1152 UserDir/doc/
1153 \end_layout
1154
1155 \end_inset
1156
1157  and the items in the 
1158 \begin_inset Flex CharStyle:MenuItem
1159 status collapsed
1160
1161 \begin_layout Plain Layout
1162 Help
1163 \end_layout
1164
1165 \end_inset
1166
1167  menu will open them!
1168 \end_layout
1169
1170 \begin_layout Section
1171 Running LyX with multiple configurations
1172 \end_layout
1173
1174 \begin_layout Standard
1175 The configuration freedom of the local configuration directory may not suffice
1176  if you want to have more than one configuration at your disposal.
1177  For example, you may want to be use different key bindings or printer settings
1178  at different times.
1179  You can achieve this by having several such directories.
1180  You then specify which directory to use at run-time.
1181 \end_layout
1182
1183 \begin_layout Standard
1184 Invoking LyX with the command line switch 
1185 \begin_inset Flex CharStyle:Code
1186 status collapsed
1187
1188 \begin_layout Plain Layout
1189 -userdir
1190 \end_layout
1191
1192 \end_inset
1193
1194  
1195 \emph on
1196 <some directory>
1197 \emph default
1198  instructs the program to read the configuration from that directory, and
1199  not from the default directory.
1200  (You can determine the default directory by running LyX without the 
1201 \begin_inset Flex CharStyle:Code
1202 status collapsed
1203
1204 \begin_layout Plain Layout
1205 -userdir
1206 \end_layout
1207
1208 \end_inset
1209
1210  switch.) If the specified directory does not exist, LyX offers to create
1211  it for you, just like it does for the default directory on the first time
1212  you run the program.
1213  You can modify the configuration options in this additional user directory
1214  exactly as you would for the default directory.
1215  These directories are completely independent (but read on).
1216  Note that setting the environment variable 
1217 \begin_inset Flex CharStyle:Code
1218 status collapsed
1219
1220 \begin_layout Plain Layout
1221 LYX_USERDIR_VER
1222 \end_layout
1223
1224 \end_inset
1225
1226  to some value has exactly the same effect.
1227 \end_layout
1228
1229 \begin_layout Standard
1230 Having several configurations also requires more maintenance: if you want
1231  to add a new layout to 
1232 \begin_inset Flex CharStyle:Code
1233 status collapsed
1234
1235 \begin_layout Plain Layout
1236 NewUserDir/layouts
1237 \end_layout
1238
1239 \end_inset
1240
1241  which you want available from all your configurations, you must add it
1242  to each directory separately.
1243  You can avoid this with the following trick: after LyX creates the additional
1244  directory, most of the subdirectories (see above) are empty.
1245  If you want the new configuration to mirror an existing one, replace the
1246  empty subdirectory with a symbolic link to the matching subdirectory in
1247  the existing configuration.
1248  Take care with the 
1249 \begin_inset Flex CharStyle:Code
1250 status collapsed
1251
1252 \begin_layout Plain Layout
1253 doc/
1254 \end_layout
1255
1256 \end_inset
1257
1258  subdirectory, however, since it contains a file written by the configuration
1259  script (also accessible through 
1260 \begin_inset Flex CharStyle:MenuItem
1261 status collapsed
1262
1263 \begin_layout Plain Layout
1264 Tools\SpecialChar \menuseparator
1265 Reconfigure
1266 \end_layout
1267
1268 \end_inset
1269
1270 ) which is configuration-specific.
1271 \end_layout
1272
1273 \begin_layout Chapter
1274 The Preferences dialog
1275 \end_layout
1276
1277 \begin_layout Standard
1278 All options of the preferences dialog are described in the Appendix 
1279 \emph on
1280 The Preferences Dialog
1281 \emph default
1282  in the 
1283 \emph on
1284 User's Guide
1285 \emph default
1286 .
1287  For some options you might find here more details.
1288 \end_layout
1289
1290 \begin_layout Section
1291 Formats
1292 \begin_inset CommandInset label
1293 LatexCommand label
1294 name "sec:Formats"
1295
1296 \end_inset
1297
1298
1299 \end_layout
1300
1301 \begin_layout Standard
1302 The first step is to define your file formats if they are not already defined.
1303  To do so, open the 
1304 \begin_inset Flex CharStyle:MenuItem
1305 status collapsed
1306
1307 \begin_layout Plain Layout
1308 Tools\SpecialChar \menuseparator
1309 Preferences
1310 \end_layout
1311
1312 \end_inset
1313
1314  dialog.
1315  Under 
1316 \begin_inset Flex CharStyle:MenuItem
1317 status collapsed
1318
1319 \begin_layout Plain Layout
1320 File Handling\SpecialChar \menuseparator
1321 File formats
1322 \end_layout
1323
1324 \end_inset
1325
1326  press the 
1327 \begin_inset Flex CharStyle:MenuItem
1328 status collapsed
1329
1330 \begin_layout Plain Layout
1331 New\SpecialChar \ldots{}
1332
1333 \end_layout
1334
1335 \end_inset
1336
1337  button to define your new format.
1338  The 
1339 \begin_inset Flex CharStyle:MenuItem
1340 status collapsed
1341
1342 \begin_layout Plain Layout
1343 Format
1344 \end_layout
1345
1346 \end_inset
1347
1348  field contains the name used to identify the format in the GUI.
1349  The 
1350 \begin_inset Flex CharStyle:MenuItem
1351 status collapsed
1352
1353 \begin_layout Plain Layout
1354 Short Name
1355 \end_layout
1356
1357 \end_inset
1358
1359  is used to identify the format internally.
1360  You will also need to enter a file extension.
1361  These are all required.
1362  The optional 
1363 \begin_inset Flex CharStyle:MenuItem
1364 status collapsed
1365
1366 \begin_layout Plain Layout
1367 Shortcut
1368 \end_layout
1369
1370 \end_inset
1371
1372  field is used to provide a keyboard shortcut on the menus.
1373  (For example, pressing 
1374 \begin_inset Flex CharStyle:MenuItem
1375 status collapsed
1376
1377 \begin_layout Plain Layout
1378 Alt-V D
1379 \end_layout
1380
1381 \end_inset
1382
1383  will 
1384 \begin_inset Flex CharStyle:MenuItem
1385 status collapsed
1386
1387 \begin_layout Plain Layout
1388 View\SpecialChar \menuseparator
1389 DVI
1390 \end_layout
1391
1392 \end_inset
1393
1394 .) 
1395 \end_layout
1396
1397 \begin_layout Standard
1398 A Format can have a 
1399 \begin_inset Flex CharStyle:MenuItem
1400 status collapsed
1401
1402 \begin_layout Plain Layout
1403 Viewer
1404 \end_layout
1405
1406 \end_inset
1407
1408  and an 
1409 \begin_inset Flex CharStyle:MenuItem
1410 status collapsed
1411
1412 \begin_layout Plain Layout
1413 Editor
1414 \end_layout
1415
1416 \end_inset
1417
1418  associated with it.
1419  For example, you might want to use 
1420 \begin_inset Flex CharStyle:MenuItem
1421 status collapsed
1422
1423 \begin_layout Plain Layout
1424 Ghostview
1425 \end_layout
1426
1427 \end_inset
1428
1429  to view PostScript files.
1430  You can enter the command needed to start the program in the corresponding
1431  fields.
1432  In defining this command, you can use the four variables listed in the
1433  next section.
1434  The viewer is launched when you view an image in LyX or use the 
1435 \begin_inset Flex CharStyle:MenuItem
1436 status collapsed
1437
1438 \begin_layout Plain Layout
1439 View
1440 \end_layout
1441
1442 \end_inset
1443
1444  menu.
1445  The editor is for example launched when you right-click on an image and
1446  choose 
1447 \begin_inset Flex CharStyle:MenuItem
1448 status collapsed
1449
1450 \begin_layout Plain Layout
1451 Edit externally
1452 \end_layout
1453
1454 \end_inset
1455
1456  in the appearing context menu.
1457 \end_layout
1458
1459 \begin_layout Standard
1460 The 
1461 \begin_inset Flex CharStyle:MenuItem
1462 status collapsed
1463
1464 \begin_layout Plain Layout
1465 Document format
1466 \end_layout
1467
1468 \end_inset
1469
1470  option tells LyX that a format is suitable for document export.
1471  If this is set and if a suitable conversion route exists (see sec.
1472 \begin_inset space \thinspace{}
1473 \end_inset
1474
1475
1476 \begin_inset CommandInset ref
1477 LatexCommand ref
1478 reference "sec:Converters"
1479
1480 \end_inset
1481
1482 ), the format will appear in the 
1483 \begin_inset Flex CharStyle:MenuItem
1484 status collapsed
1485
1486 \begin_layout Plain Layout
1487 File\SpecialChar \menuseparator
1488 Export
1489 \end_layout
1490
1491 \end_inset
1492
1493  menu.
1494  The format will also appear in the 
1495 \begin_inset Flex CharStyle:MenuItem
1496 status collapsed
1497
1498 \begin_layout Plain Layout
1499 View
1500 \end_layout
1501
1502 \end_inset
1503
1504  menu if a viewer is specified for the format.
1505  Pure image formats, such as 
1506 \begin_inset Flex CharStyle:Code
1507 status collapsed
1508
1509 \begin_layout Plain Layout
1510 png
1511 \end_layout
1512
1513 \end_inset
1514
1515 , should not use this option.
1516  Formats that can both represent vector graphics and documents like 
1517 \begin_inset Flex CharStyle:Code
1518 status collapsed
1519
1520 \begin_layout Plain Layout
1521 pdf
1522 \end_layout
1523
1524 \end_inset
1525
1526  should use it.
1527 \end_layout
1528
1529 \begin_layout Standard
1530 The option 
1531 \begin_inset Flex CharStyle:MenuItem
1532 status collapsed
1533
1534 \begin_layout Plain Layout
1535 Vector graphics format
1536 \end_layout
1537
1538 \end_inset
1539
1540  tells LyX that a format can contain vector graphics.
1541  This information is used to determine the target format of included graphics
1542  for 
1543 \begin_inset Flex CharStyle:MenuItem
1544 status collapsed
1545
1546 \begin_layout Plain Layout
1547 pdflatex
1548 \end_layout
1549
1550 \end_inset
1551
1552  export.
1553  Included graphics may need to be converted to either 
1554 \begin_inset Flex CharStyle:MenuItem
1555 status collapsed
1556
1557 \begin_layout Plain Layout
1558 pdf
1559 \end_layout
1560
1561 \end_inset
1562
1563
1564 \begin_inset Flex CharStyle:MenuItem
1565 status collapsed
1566
1567 \begin_layout Plain Layout
1568 png
1569 \end_layout
1570
1571 \end_inset
1572
1573 , or 
1574 \begin_inset Flex CharStyle:MenuItem
1575 status collapsed
1576
1577 \begin_layout Plain Layout
1578 jpg
1579 \end_layout
1580
1581 \end_inset
1582
1583 , since 
1584 \begin_inset Flex CharStyle:MenuItem
1585 status collapsed
1586
1587 \begin_layout Plain Layout
1588 pdflatex
1589 \end_layout
1590
1591 \end_inset
1592
1593  cannot handle other image formats.
1594  If an included graphic is not already in 
1595 \begin_inset Flex CharStyle:MenuItem
1596 status collapsed
1597
1598 \begin_layout Plain Layout
1599 pdf
1600 \end_layout
1601
1602 \end_inset
1603
1604
1605 \begin_inset Flex CharStyle:MenuItem
1606 status collapsed
1607
1608 \begin_layout Plain Layout
1609 png
1610 \end_layout
1611
1612 \end_inset
1613
1614 , or 
1615 \begin_inset Flex CharStyle:MenuItem
1616 status collapsed
1617
1618 \begin_layout Plain Layout
1619 jpg
1620 \end_layout
1621
1622 \end_inset
1623
1624  format, it is converted to 
1625 \begin_inset Flex CharStyle:MenuItem
1626 status collapsed
1627
1628 \begin_layout Plain Layout
1629 pdf
1630 \end_layout
1631
1632 \end_inset
1633
1634  if the vector format option is set, and otherwise to 
1635 \begin_inset Flex CharStyle:MenuItem
1636 status collapsed
1637
1638 \begin_layout Plain Layout
1639 png
1640 \end_layout
1641
1642 \end_inset
1643
1644 .
1645 \end_layout
1646
1647 \begin_layout Section
1648 Copiers
1649 \end_layout
1650
1651 \begin_layout Standard
1652 Since all conversions from one format to another take place in LyX's temporary
1653  directory, it is sometimes necessary to modify a file before copying it
1654  to the temporary directory in order that the conversion may be performed.
1655 \begin_inset Foot
1656 status collapsed
1657
1658 \begin_layout Plain Layout
1659 For example, the file may refer to other files—images, for example—using
1660  relative file names, and these may become invalid when the file is copied
1661  to the temporary directory.
1662 \end_layout
1663
1664 \end_inset
1665
1666  This is done by a Copier: It copies a file to (or from) the temporary directory
1667  and may modify it in the process.
1668 \end_layout
1669
1670 \begin_layout Standard
1671 The definitions of the copiers may use four variables:
1672 \end_layout
1673
1674 \begin_layout Labeling
1675 \labelwidthstring 00.00.0000
1676 \begin_inset Flex CharStyle:Code
1677 status collapsed
1678
1679 \begin_layout Plain Layout
1680 $$s
1681 \end_layout
1682
1683 \end_inset
1684
1685  The LyX system directory (e.
1686 \begin_inset space \thinspace{}
1687 \end_inset
1688
1689 g.
1690 \begin_inset space \space{}
1691 \end_inset
1692
1693
1694 \begin_inset Flex CharStyle:MenuItem
1695 status collapsed
1696
1697 \begin_layout Plain Layout
1698 /usr/share/lyx
1699 \end_layout
1700
1701 \end_inset
1702
1703 ).
1704 \end_layout
1705
1706 \begin_layout Labeling
1707 \labelwidthstring 00.00.0000
1708 \begin_inset Flex CharStyle:Code
1709 status collapsed
1710
1711 \begin_layout Plain Layout
1712 $$i
1713 \end_layout
1714
1715 \end_inset
1716
1717  The input file
1718 \end_layout
1719
1720 \begin_layout Labeling
1721 \labelwidthstring 00.00.0000
1722 \begin_inset Flex CharStyle:Code
1723 status collapsed
1724
1725 \begin_layout Plain Layout
1726 $$o
1727 \end_layout
1728
1729 \end_inset
1730
1731  The output file
1732 \end_layout
1733
1734 \begin_layout Labeling
1735 \labelwidthstring 00.00.0000
1736 \begin_inset Flex CharStyle:Code
1737 status collapsed
1738
1739 \begin_layout Plain Layout
1740 $$l
1741 \end_layout
1742
1743 \end_inset
1744
1745  The `LaTeX name'
1746 \end_layout
1747
1748 \begin_layout Standard
1749 The latter should be the filename as it would be used in a LaTeX's 
1750 \series bold
1751
1752 \backslash
1753 include
1754 \series default
1755  command.
1756  It is relevant only when exporting files suitable for such inclusion.
1757 \end_layout
1758
1759 \begin_layout Standard
1760 Copiers can be used to do almost anything with output files.
1761  For example, suppose you want generated pdf files to be copied to a special
1762  directory, 
1763 \begin_inset Flex CharStyle:Code
1764 status collapsed
1765
1766 \begin_layout Plain Layout
1767 /home/you/pdf/
1768 \end_layout
1769
1770 \end_inset
1771
1772 .
1773  Then you could write a shell script such as this one:
1774 \end_layout
1775
1776 \begin_layout Standard
1777 \begin_inset listings
1778 inline false
1779 status open
1780
1781 \begin_layout Plain Layout
1782
1783 #!/bin/bash
1784 \end_layout
1785
1786 \begin_layout Plain Layout
1787
1788 FROMFILE=$1
1789 \end_layout
1790
1791 \begin_layout Plain Layout
1792
1793 TOFILE=`basename $2`
1794 \end_layout
1795
1796 \begin_layout Plain Layout
1797
1798 cp $FROMFILE /home/you/pdf/$TOFILE
1799 \end_layout
1800
1801 \end_inset
1802
1803 Save it in your local LyX directory—say, 
1804 \begin_inset Flex CharStyle:Code
1805 status collapsed
1806
1807 \begin_layout Plain Layout
1808 /home/you/.lyx/scripts/pdfcopier.sh
1809 \end_layout
1810
1811 \end_inset
1812
1813 —and make it executable, if you need to do so on your platform.
1814  Then, in the 
1815 \begin_inset Flex CharStyle:MenuItem
1816 status collapsed
1817
1818 \begin_layout Plain Layout
1819 Tools\SpecialChar \menuseparator
1820 Preferences
1821 \end_layout
1822
1823 \end_inset
1824
1825  dialog, select under 
1826 \begin_inset Flex CharStyle:MenuItem
1827 status collapsed
1828
1829 \begin_layout Plain Layout
1830 File Handling\SpecialChar \menuseparator
1831 File formats
1832 \end_layout
1833
1834 \end_inset
1835
1836  the 
1837 \begin_inset Flex CharStyle:MenuItem
1838 status collapsed
1839
1840 \begin_layout Plain Layout
1841 PDF(pdflatex)
1842 \end_layout
1843
1844 \end_inset
1845
1846  format—or one of the other pdf formats—and enter 
1847 \begin_inset Flex CharStyle:Code
1848 status collapsed
1849
1850 \begin_layout Plain Layout
1851 pdfcopier.sh $$i $$o
1852 \end_layout
1853
1854 \end_inset
1855
1856  into the 
1857 \begin_inset Flex CharStyle:MenuItem
1858 status collapsed
1859
1860 \begin_layout Plain Layout
1861 Copier
1862 \end_layout
1863
1864 \end_inset
1865
1866  field.
1867  
1868 \end_layout
1869
1870 \begin_layout Standard
1871 Copiers are used by LyX in various of its own conversions.
1872  For example, if appropriate programs are found, LyX will automatically
1873  install copiers for the 
1874 \begin_inset Flex CharStyle:MenuItem
1875 status collapsed
1876
1877 \begin_layout Plain Layout
1878 HTML
1879 \end_layout
1880
1881 \end_inset
1882
1883  and 
1884 \begin_inset Flex CharStyle:MenuItem
1885 status collapsed
1886
1887 \begin_layout Plain Layout
1888 HTML
1889 \begin_inset space ~
1890 \end_inset
1891
1892 (MS Word)
1893 \end_layout
1894
1895 \end_inset
1896
1897  formats.
1898  When these formats are exported, the copier sees that not just the main
1899  HTML file but various associated files (style files, images, etc.) are also
1900  copied.
1901  All these files are written to a subdirectory of the directory in which
1902  the original LyX file was found.
1903 \begin_inset Foot
1904 status collapsed
1905
1906 \begin_layout Plain Layout
1907 This copier can be customized.
1908  The optional 
1909 \begin_inset Quotes eld
1910 \end_inset
1911
1912 -e
1913 \begin_inset Quotes erd
1914 \end_inset
1915
1916  argument takes a comma-separated list of extensions to be copied; if it
1917  is omitted, all files will be copied.
1918  The 
1919 \begin_inset Quotes eld
1920 \end_inset
1921
1922 -t
1923 \begin_inset Quotes erd
1924 \end_inset
1925
1926  argument determines the extension added to the generated directory.
1927  By default, it is 
1928 \begin_inset Quotes eld
1929 \end_inset
1930
1931
1932 \begin_inset Flex CharStyle:MenuItem
1933 status collapsed
1934
1935 \begin_layout Plain Layout
1936 LyXconv
1937 \end_layout
1938
1939 \end_inset
1940
1941
1942 \begin_inset Quotes erd
1943 \end_inset
1944
1945 , so HTML generated from 
1946 \begin_inset Flex CharStyle:MenuItem
1947 status collapsed
1948
1949 \begin_layout Plain Layout
1950 /path/to/filename.lyx
1951 \end_layout
1952
1953 \end_inset
1954
1955  will end up in 
1956 \begin_inset Flex CharStyle:MenuItem
1957 status collapsed
1958
1959 \begin_layout Plain Layout
1960 /path/to/filename.html.LyXconv
1961 \end_layout
1962
1963 \end_inset
1964
1965 .
1966  
1967 \end_layout
1968
1969 \end_inset
1970
1971
1972 \end_layout
1973
1974 \begin_layout Section
1975 Converters
1976 \begin_inset CommandInset label
1977 LatexCommand label
1978 name "sec:Converters"
1979
1980 \end_inset
1981
1982
1983 \end_layout
1984
1985 \begin_layout Standard
1986 You can define your own Converters to convert files between different formats.
1987  This is done in the 
1988 \begin_inset Flex CharStyle:MenuItem
1989 status collapsed
1990
1991 \begin_layout Plain Layout
1992 Tools\SpecialChar \menuseparator
1993 Preferences\SpecialChar \menuseparator
1994 File Handling\SpecialChar \menuseparator
1995 Converters
1996 \end_layout
1997
1998 \end_inset
1999
2000  dialog.
2001 \end_layout
2002
2003 \begin_layout Standard
2004 To define a new converter, select the 
2005 \begin_inset Flex CharStyle:MenuItem
2006 status collapsed
2007
2008 \begin_layout Plain Layout
2009 From
2010 \begin_inset space ~
2011 \end_inset
2012
2013 format
2014 \end_layout
2015
2016 \end_inset
2017
2018  and 
2019 \begin_inset Flex CharStyle:MenuItem
2020 status collapsed
2021
2022 \begin_layout Plain Layout
2023 To
2024 \begin_inset space ~
2025 \end_inset
2026
2027 format
2028 \end_layout
2029
2030 \end_inset
2031
2032  from the drop-down lists, enter the command needed for the conversion,
2033  and then press the 
2034 \begin_inset Flex CharStyle:MenuItem
2035 status collapsed
2036
2037 \begin_layout Plain Layout
2038 Add
2039 \end_layout
2040
2041 \end_inset
2042
2043  button.
2044  Several variables can be used in the definition of converters:
2045 \end_layout
2046
2047 \begin_layout Labeling
2048 \labelwidthstring 00.00.0000
2049 \begin_inset Flex CharStyle:Code
2050 status collapsed
2051
2052 \begin_layout Plain Layout
2053 $$s
2054 \end_layout
2055
2056 \end_inset
2057
2058  The LyX system directory
2059 \end_layout
2060
2061 \begin_layout Labeling
2062 \labelwidthstring 00.00.0000
2063 \begin_inset Flex CharStyle:Code
2064 status collapsed
2065
2066 \begin_layout Plain Layout
2067 $$i
2068 \end_layout
2069
2070 \end_inset
2071
2072  The input file
2073 \end_layout
2074
2075 \begin_layout Labeling
2076 \labelwidthstring 00.00.0000
2077 \begin_inset Flex CharStyle:Code
2078 status collapsed
2079
2080 \begin_layout Plain Layout
2081 $$o
2082 \end_layout
2083
2084 \end_inset
2085
2086  The output file
2087 \end_layout
2088
2089 \begin_layout Labeling
2090 \labelwidthstring 00.00.0000
2091 \begin_inset Flex CharStyle:Code
2092 status collapsed
2093
2094 \begin_layout Plain Layout
2095 $$b
2096 \end_layout
2097
2098 \end_inset
2099
2100  The base filename of the input file (i.
2101 \begin_inset space \thinspace{}
2102 \end_inset
2103
2104 g., without the extension)
2105 \end_layout
2106
2107 \begin_layout Labeling
2108 \labelwidthstring 00.00.0000
2109 \begin_inset Flex CharStyle:Code
2110 status collapsed
2111
2112 \begin_layout Plain Layout
2113 $$p
2114 \end_layout
2115
2116 \end_inset
2117
2118  The path to the input file
2119 \end_layout
2120
2121 \begin_layout Labeling
2122 \labelwidthstring 00.00.0000
2123 \begin_inset Flex CharStyle:Code
2124 status collapsed
2125
2126 \begin_layout Plain Layout
2127 $$r
2128 \end_layout
2129
2130 \end_inset
2131
2132  The path to the original input file (this is different from $$p when a
2133  chain of converters is called).
2134 \end_layout
2135
2136 \begin_layout Standard
2137 In the 
2138 \begin_inset Flex CharStyle:MenuItem
2139 status collapsed
2140
2141 \begin_layout Plain Layout
2142 Extra
2143 \begin_inset space ~
2144 \end_inset
2145
2146 Flag
2147 \end_layout
2148
2149 \end_inset
2150
2151  field you can enter the following flags, separated by commas:
2152 \end_layout
2153
2154 \begin_layout Labeling
2155 \labelwidthstring 00.00.0000
2156 \begin_inset Flex CharStyle:Code
2157 status collapsed
2158
2159 \begin_layout Plain Layout
2160 latex
2161 \end_layout
2162
2163 \end_inset
2164
2165  This converter runs some form of LaTeX.
2166  This will make LyX's LaTeX error logs available.
2167 \end_layout
2168
2169 \begin_layout Labeling
2170 \labelwidthstring 00.00.0000
2171 \begin_inset Flex CharStyle:Code
2172 status collapsed
2173
2174 \begin_layout Plain Layout
2175 needaux
2176 \end_layout
2177
2178 \end_inset
2179
2180  Needs the LaTeX 
2181 \begin_inset Flex CharStyle:MenuItem
2182 status collapsed
2183
2184 \begin_layout Plain Layout
2185 .aux
2186 \end_layout
2187
2188 \end_inset
2189
2190  file for the conversion.
2191 \end_layout
2192
2193 \begin_layout Labeling
2194 \labelwidthstring 00.00.0000
2195 \begin_inset Flex CharStyle:Code
2196 status collapsed
2197
2198 \begin_layout Plain Layout
2199 xml
2200 \end_layout
2201
2202 \end_inset
2203
2204  Output is XML.
2205 \end_layout
2206
2207 \begin_layout Standard
2208 The following three flags are not really flags at all because they take
2209  an argument in the 
2210 \begin_inset Flex CharStyle:MenuItem
2211 status collapsed
2212
2213 \begin_layout Plain Layout
2214 key
2215 \begin_inset space ~
2216 \end_inset
2217
2218 =
2219 \begin_inset space ~
2220 \end_inset
2221
2222 value
2223 \end_layout
2224
2225 \end_inset
2226
2227  format:
2228 \end_layout
2229
2230 \begin_layout Labeling
2231 \labelwidthstring 00.00.0000
2232 \begin_inset Flex CharStyle:Code
2233 status collapsed
2234
2235 \begin_layout Plain Layout
2236 parselog
2237 \end_layout
2238
2239 \end_inset
2240
2241  If set, the converter's standard error will be redirected to a file 
2242 \begin_inset Flex CharStyle:Code
2243 status collapsed
2244
2245 \begin_layout Plain Layout
2246 infile.out
2247 \end_layout
2248
2249 \end_inset
2250
2251 , and the script given as argument will be run as: 
2252 \begin_inset Flex CharStyle:Code
2253 status collapsed
2254
2255 \begin_layout Plain Layout
2256 script < infile.out > infile.log
2257 \end_layout
2258
2259 \end_inset
2260
2261 .
2262  The argument may contain 
2263 \begin_inset Flex CharStyle:Code
2264 status collapsed
2265
2266 \begin_layout Plain Layout
2267 $$s
2268 \end_layout
2269
2270 \end_inset
2271
2272 .
2273 \end_layout
2274
2275 \begin_layout Labeling
2276 \labelwidthstring 00.00.0000
2277 \begin_inset Flex CharStyle:Code
2278 status collapsed
2279
2280 \begin_layout Plain Layout
2281 resultdir
2282 \end_layout
2283
2284 \end_inset
2285
2286  The name of the directory in which the converter will dump the generated
2287  files.
2288  LyX will not create this directory, and it does not copy anything into
2289  it, though it will copy this directory to the destination.
2290  The argument may contain 
2291 \begin_inset Flex CharStyle:Code
2292 status collapsed
2293
2294 \begin_layout Plain Layout
2295 $$b
2296 \end_layout
2297
2298 \end_inset
2299
2300 , which will be replaced by the base name of the input and output files,
2301  respectively, when the directory is copied.
2302 \begin_inset Newline newline
2303 \end_inset
2304
2305 Note that resultdir and usetempdir make no sense together.
2306  The latter will be ignored if the former is given.
2307 \end_layout
2308
2309 \begin_layout Labeling
2310 \labelwidthstring 00.00.0000
2311 \begin_inset Flex CharStyle:Code
2312 status collapsed
2313
2314 \begin_layout Plain Layout
2315 resultfile
2316 \end_layout
2317
2318 \end_inset
2319
2320  Determines the output file name and may, contain 
2321 \begin_inset Flex CharStyle:Code
2322 status collapsed
2323
2324 \begin_layout Plain Layout
2325 $$b
2326 \end_layout
2327
2328 \end_inset
2329
2330 .
2331  Sensible only with resultdir and optional even then; if not given, it defaults
2332  to `index'.
2333 \end_layout
2334
2335 \begin_layout Standard
2336 None of these last three are presently used in any of the converters that
2337  are installed with LyX.
2338  
2339 \end_layout
2340
2341 \begin_layout Standard
2342 You do not have to define converters for all formats between which you want
2343  to convert.
2344  For example, you will note that there is no `LyX to PostScript' converter,
2345  but LyX will export PostScript.
2346  It does so by first creating a LaTeX file (no converter needs to be defined
2347  for this) which is then converted to DVI using the `LaTeX to DVI' converter,
2348  and finally converting the resulting DVI file to PostScript.
2349  LyX finds such `chains' of converters automatically, and it will always
2350  choose the shortest possible chain.
2351  You can, though, still define multiple conversion methods between file
2352  formats.
2353  For example, the standard LyX configuration provides three ways to convert
2354  LaTeX to PDF: Directly, using 
2355 \begin_inset Flex CharStyle:MenuItem
2356 status collapsed
2357
2358 \begin_layout Plain Layout
2359 pdflatex
2360 \end_layout
2361
2362 \end_inset
2363
2364 ; via (DVI and) PostScript, using 
2365 \begin_inset Flex CharStyle:MenuItem
2366 status collapsed
2367
2368 \begin_layout Plain Layout
2369 ps2pdf
2370 \end_layout
2371
2372 \end_inset
2373
2374 ; or via DVI, using 
2375 \begin_inset Flex CharStyle:MenuItem
2376 status collapsed
2377
2378 \begin_layout Plain Layout
2379 dvipdfm
2380 \end_layout
2381
2382 \end_inset
2383
2384 .
2385  To define such alternate chains, you must define multiple target `file
2386  formats', as described in section 
2387 \begin_inset CommandInset ref
2388 LatexCommand ref
2389 reference "sec:Formats"
2390
2391 \end_inset
2392
2393 .
2394  For example, in the standard configuration, the formats named 
2395 \begin_inset Flex CharStyle:MenuItem
2396 status collapsed
2397
2398 \begin_layout Plain Layout
2399 pdf
2400 \end_layout
2401
2402 \end_inset
2403
2404
2405 \begin_inset Flex CharStyle:MenuItem
2406 status collapsed
2407
2408 \begin_layout Plain Layout
2409 pdf2
2410 \end_layout
2411
2412 \end_inset
2413
2414 , and 
2415 \begin_inset Flex CharStyle:MenuItem
2416 status collapsed
2417
2418 \begin_layout Plain Layout
2419 pdf3
2420 \end_layout
2421
2422 \end_inset
2423
2424  are defined, all of which share the extension 
2425 \begin_inset Flex CharStyle:MenuItem
2426 status collapsed
2427
2428 \begin_layout Plain Layout
2429 .pdf
2430 \end_layout
2431
2432 \end_inset
2433
2434 , and which correspond to the conversion methods just mentioned.
2435 \end_layout
2436
2437 \begin_layout Chapter
2438 Internationalizing LyX
2439 \begin_inset CommandInset label
2440 LatexCommand label
2441 name "cha:Internationalizing-LyX"
2442
2443 \end_inset
2444
2445
2446 \end_layout
2447
2448 \begin_layout Standard
2449 LyX supports using a translated interface.
2450  Last time we checked, LyX provided text in thirty languages.
2451  The language of choice is called your 
2452 \emph on
2453 locale
2454 \emph default
2455 .
2456  (For further reading on locale settings, see also the documentation for
2457  locale that comes with your operating system.
2458  For Linux, the manual page for 
2459 \begin_inset Flex CharStyle:Code
2460 status collapsed
2461
2462 \begin_layout Plain Layout
2463 locale(5)
2464 \end_layout
2465
2466 \end_inset
2467
2468  could be a good place to start).
2469 \end_layout
2470
2471 \begin_layout Standard
2472 Notice that these translations will work, but do contain a few flaws.
2473  In particular, all dialogs have been designed with the English text in
2474  mind, which means that some of the translated text will be too large to
2475  fit within the space allocated.
2476  This is only a display problem and will not cause any harm.
2477  Also, you will find that some of the translations do not define shortcut
2478  keys for everything.
2479  Sometimes, there are simply not enough free letters to do it.
2480  Other times, the translator just hasn't got around to doing it yet.
2481  Our localization team, which you may wish to join,
2482 \begin_inset Foot
2483 status collapsed
2484
2485 \begin_layout Plain Layout
2486 If you are a fluent speaker of a language other than English, joining these
2487  teams is a great way to give back to the LyX community!
2488 \end_layout
2489
2490 \end_inset
2491
2492  will of course try to fix these shortcomings in future versions of LyX.
2493 \end_layout
2494
2495 \begin_layout Section
2496 Translating LyX
2497 \end_layout
2498
2499 \begin_layout Subsection
2500 Translating the graphical user interface (text messages).
2501 \end_layout
2502
2503 \begin_layout Standard
2504 LyX uses the GNU 
2505 \begin_inset Flex CharStyle:Code
2506 status collapsed
2507
2508 \begin_layout Plain Layout
2509 gettext
2510 \end_layout
2511
2512 \end_inset
2513
2514  library to handle the internationalization of the interface.
2515  To have LyX speak your favorite language in all menus and dialogs, you
2516  need a 
2517 \begin_inset Flex CharStyle:Code
2518 status collapsed
2519
2520 \begin_layout Plain Layout
2521 po
2522 \end_layout
2523
2524 \end_inset
2525
2526 -file for that language.
2527  When this is available, you'll have to generate a 
2528 \begin_inset Flex CharStyle:Code
2529 status collapsed
2530
2531 \begin_layout Plain Layout
2532 mo
2533 \end_layout
2534
2535 \end_inset
2536
2537 -file from it and install the 
2538 \begin_inset Flex CharStyle:Code
2539 status collapsed
2540
2541 \begin_layout Plain Layout
2542 mo
2543 \end_layout
2544
2545 \end_inset
2546
2547 -file.
2548  The process of doing all of this is explained in the documentation for
2549  GNU 
2550 \begin_inset Flex CharStyle:Code
2551 status collapsed
2552
2553 \begin_layout Plain Layout
2554 gettext
2555 \end_layout
2556
2557 \end_inset
2558
2559 .
2560  It is possible to do this just for yourself, but if you're going to do
2561  it, you might as well share the results of your labors with the rest of
2562  the LyX community.
2563  Send a message to the LyX developers' list for more information about how
2564  to proceed.
2565 \end_layout
2566
2567 \begin_layout Standard
2568 In short, this is what you should do (xx denotes the language code):
2569 \end_layout
2570
2571 \begin_layout Itemize
2572 Check out the LyX source code.
2573  (See the 
2574 \begin_inset CommandInset href
2575 LatexCommand href
2576 name "information on the web"
2577 target "http://www.lyx.org/devel/cvs.php"
2578
2579 \end_inset
2580
2581 .)
2582 \end_layout
2583
2584 \begin_layout Itemize
2585 Copy the file 
2586 \begin_inset Flex CharStyle:Code
2587 status collapsed
2588
2589 \begin_layout Plain Layout
2590 lyx.pot
2591 \end_layout
2592
2593 \end_inset
2594
2595  to the folder of the 
2596 \begin_inset Flex CharStyle:Code
2597 status collapsed
2598
2599 \begin_layout Plain Layout
2600 **.po
2601 \end_layout
2602
2603 \end_inset
2604
2605  files.
2606  Then rename it to 
2607 \begin_inset Flex CharStyle:Code
2608 status collapsed
2609
2610 \begin_layout Plain Layout
2611 xx.po
2612 \end_layout
2613
2614 \end_inset
2615
2616 .
2617  (If 
2618 \begin_inset Flex CharStyle:Code
2619 status collapsed
2620
2621 \begin_layout Plain Layout
2622 lyx.pot
2623 \end_layout
2624
2625 \end_inset
2626
2627  doesn't exist anywhere, it can be remade with the console command 
2628 \begin_inset Flex CharStyle:Code
2629 status collapsed
2630
2631 \begin_layout Plain Layout
2632 make lyx.pot
2633 \end_layout
2634
2635 \end_inset
2636
2637  in that directory, or you can use an existing po-file for some other language
2638  as a template).
2639 \end_layout
2640
2641 \begin_layout Itemize
2642 Edit 
2643 \begin_inset Flex CharStyle:Code
2644 status collapsed
2645
2646 \begin_layout Plain Layout
2647 xx.po
2648 \end_layout
2649
2650 \end_inset
2651
2652 .
2653 \begin_inset Foot
2654 status collapsed
2655
2656 \begin_layout Plain Layout
2657 This is just a text file, so it can be edited in any text editor.
2658  But there are also specialized programs that support such editing, such
2659  as 
2660 \family typewriter
2661 Poedit
2662 \family default
2663  (for all platforms) or 
2664 \family typewriter
2665 KBabel
2666 \family default
2667  (for KDE).
2668  
2669 \family typewriter
2670 Emacs
2671 \family default
2672  contains a `mode' for editing 
2673 \begin_inset Flex CharStyle:Code
2674 status collapsed
2675
2676 \begin_layout Plain Layout
2677 po
2678 \end_layout
2679
2680 \end_inset
2681
2682  files, as well.
2683 \end_layout
2684
2685 \end_inset
2686
2687  For some menu- and widget-labels, there are also shortcut keys that should
2688  be translated.
2689  Those keys are marked after a `|', and should be translated according to
2690  the words and phrases of the language.
2691  You should also fill also out the information at the beginning of the new
2692  
2693 \begin_inset Flex CharStyle:Code
2694 status collapsed
2695
2696 \begin_layout Plain Layout
2697 po
2698 \end_layout
2699
2700 \end_inset
2701
2702 -file with your email-address, etc., so people know where to reach you with
2703  suggestions and entertaining flames.
2704 \end_layout
2705
2706 \begin_layout Standard
2707 If you are just doing this on your own, then:
2708 \end_layout
2709
2710 \begin_layout Itemize
2711 Generate 
2712 \begin_inset Flex CharStyle:Code
2713 status collapsed
2714
2715 \begin_layout Plain Layout
2716 xx.mo
2717 \end_layout
2718
2719 \end_inset
2720
2721 .
2722  This can be done with 
2723 \begin_inset Flex CharStyle:Code
2724 status collapsed
2725
2726 \begin_layout Plain Layout
2727 msgfmt -o xx.mo < xx.po
2728 \end_layout
2729
2730 \end_inset
2731
2732 .
2733 \end_layout
2734
2735 \begin_layout Itemize
2736 Copy the 
2737 \begin_inset Flex CharStyle:Code
2738 status collapsed
2739
2740 \begin_layout Plain Layout
2741 mo
2742 \end_layout
2743
2744 \end_inset
2745
2746 -file to your locale-tree, at the correct directory for application messages
2747  for the language
2748 \series bold
2749  
2750 \series default
2751 xx, and under the name 
2752 \begin_inset Flex CharStyle:Code
2753 status collapsed
2754
2755 \begin_layout Plain Layout
2756 lyx.mo
2757 \end_layout
2758
2759 \end_inset
2760
2761  (e.
2762 \begin_inset space \thinspace{}
2763 \end_inset
2764
2765 g.
2766 \begin_inset space \space{}
2767 \end_inset
2768
2769
2770 \begin_inset Flex CharStyle:Code
2771 status collapsed
2772
2773 \begin_layout Plain Layout
2774 /usr/local/share/locale/xx/LC_MESSAGES/lyx.mo
2775 \end_layout
2776
2777 \end_inset
2778
2779
2780 \series bold
2781 .
2782 \end_layout
2783
2784 \begin_layout Standard
2785 As said, however, it would be best if the new 
2786 \begin_inset Flex CharStyle:Code
2787 status collapsed
2788
2789 \begin_layout Plain Layout
2790 po
2791 \end_layout
2792
2793 \end_inset
2794
2795 -file could be added to the LyX distribution, so others can use it.
2796  Adding it involves making additional changes to LyX.
2797  So send an email to the developers' mailing list if you're interested in
2798  doing that.
2799 \end_layout
2800
2801 \begin_layout Subsubsection
2802 Ambiguous messages
2803 \end_layout
2804
2805 \begin_layout Standard
2806 Sometimes it turns out that one English message needs to be translated into
2807  different messages in the target language.
2808  One example is the message 
2809 \begin_inset Flex CharStyle:Code
2810 status collapsed
2811
2812 \begin_layout Plain Layout
2813 To
2814 \end_layout
2815
2816 \end_inset
2817
2818  which has the German translation 
2819 \lang german
2820 Nach
2821 \lang english
2822  or 
2823 \lang german
2824 Bis
2825 \lang english
2826 , depending upon exactly what the English 
2827 \begin_inset Quotes eld
2828 \end_inset
2829
2830 to
2831 \begin_inset Quotes erd
2832 \end_inset
2833
2834  means.
2835  GNU 
2836 \begin_inset Flex CharStyle:Code
2837 status collapsed
2838
2839 \begin_layout Plain Layout
2840 gettext
2841 \end_layout
2842
2843 \end_inset
2844
2845  does not handle such ambiguous translations.
2846  Therefore you have to add some context information to the message: Instead
2847  of 
2848 \begin_inset Flex CharStyle:Code
2849 status collapsed
2850
2851 \begin_layout Plain Layout
2852 To
2853 \end_layout
2854
2855 \end_inset
2856
2857  it becomes 
2858 \begin_inset Flex CharStyle:Code
2859 status collapsed
2860
2861 \begin_layout Plain Layout
2862 To[[as in 'From format x to format y']]
2863 \end_layout
2864
2865 \end_inset
2866
2867  and 
2868 \begin_inset Flex CharStyle:Code
2869 status collapsed
2870
2871 \begin_layout Plain Layout
2872 To[[as in 'From page x to page y']].
2873 \end_layout
2874
2875 \end_inset
2876
2877  Now the two occurrences of 
2878 \begin_inset Flex CharStyle:Code
2879 status collapsed
2880
2881 \begin_layout Plain Layout
2882 To
2883 \end_layout
2884
2885 \end_inset
2886
2887  are different for 
2888 \begin_inset Flex CharStyle:Code
2889 status collapsed
2890
2891 \begin_layout Plain Layout
2892 gettext
2893 \end_layout
2894
2895 \end_inset
2896
2897  and can be translated correctly to 
2898 \lang german
2899 Nach
2900 \lang english
2901  and 
2902 \lang german
2903 Bis
2904 \lang english
2905 , respectively.
2906 \end_layout
2907
2908 \begin_layout Standard
2909 Of course the context information needs to be stripped off the original
2910  message when no translation is used.
2911  Therefore you have to put it in double square brackets at the end of the
2912  message (see the example above).
2913  The translation mechanism of LyX ensures that everything in double square
2914  brackets at the end of messages is removed before displaying the message.
2915 \end_layout
2916
2917 \begin_layout Subsection
2918 Translating the documentation.
2919 \end_layout
2920
2921 \begin_layout Standard
2922 The online documentation (in the 
2923 \begin_inset Flex CharStyle:MenuItem
2924 status collapsed
2925
2926 \begin_layout Plain Layout
2927 Help
2928 \end_layout
2929
2930 \end_inset
2931
2932 -menu) can (and should!) be translated.
2933  If there are translated versions of the documentation available
2934 \begin_inset Foot
2935 status collapsed
2936
2937 \begin_layout Plain Layout
2938 As of March 2008, at least some of the documents have been translated into
2939  fourteen languages, with the Tutorial available in a few more.
2940 \end_layout
2941
2942 \end_inset
2943
2944  and the locale is set accordingly, these will be used automagically by
2945  LyX.
2946  LyX looks for translated versions as 
2947 \begin_inset Flex CharStyle:Code
2948 status collapsed
2949
2950 \begin_layout Plain Layout
2951 LyXDir/doc/xx/DocName.lyx
2952 \end_layout
2953
2954 \end_inset
2955
2956 , where 
2957 \begin_inset Flex CharStyle:Code
2958 status collapsed
2959
2960 \begin_layout Plain Layout
2961 xx
2962 \end_layout
2963
2964 \end_inset
2965
2966  is the code for the language currently in use.
2967  If there are no translated documents, the default English versions will
2968  be displayed.
2969  Note that the translated versions must have the same filenames (
2970 \begin_inset Flex CharStyle:Code
2971 status collapsed
2972
2973 \begin_layout Plain Layout
2974 DocName
2975 \end_layout
2976
2977 \end_inset
2978
2979  above) as the original.
2980  If you feel up to translating the documentation (an excellent way to proof-read
2981  the original documentation by the way!), there are a few things you should
2982  do right away:
2983 \end_layout
2984
2985 \begin_layout Itemize
2986 Check out the documentation translation web page at 
2987 \begin_inset CommandInset href
2988 LatexCommand href
2989 name "http://www.lyx.org/Translation"
2990 target "http://www.lyx.org/Translation"
2991
2992 \end_inset
2993
2994 .
2995  That way, you can find out which (if any) documents have already been translate
2996 d into your language.
2997  You can also find out who (if anyone) is organizing the effort to translate
2998  the documentation into your language.
2999  If no one is organizing the effort, please let us know that you're interested.
3000 \end_layout
3001
3002 \begin_layout Standard
3003 Once you get to actually translating, here's a few hints for you that may
3004  save you trouble:
3005 \end_layout
3006
3007 \begin_layout Itemize
3008 Join the documentation team! There is information on how to do that in 
3009 \begin_inset Flex CharStyle:Code
3010 status collapsed
3011
3012 \begin_layout Plain Layout
3013 Intro.lyx
3014 \end_layout
3015
3016 \end_inset
3017
3018  (
3019 \begin_inset Flex CharStyle:MenuItem
3020 status collapsed
3021
3022 \begin_layout Plain Layout
3023 Help\SpecialChar \menuseparator
3024 Introduction
3025 \end_layout
3026
3027 \end_inset
3028
3029 ), which by the way is the first document you should translate.
3030 \end_layout
3031
3032 \begin_layout Itemize
3033 Learn the typographic conventions for the language you are translating to.
3034  Typography is an ancient art and over the centuries, a great variety of
3035  conventions have developed throughout different parts of the world.
3036  Also study the professional terminology amongst typographers in your country.
3037  Inventing your own terminology will only confuse the users.
3038  
3039 \emph on
3040 (Warning! Typography is addictive!)
3041 \end_layout
3042
3043 \begin_layout Itemize
3044 Make a copy of the document.
3045  This will be your working copy.
3046  You can use this as your personal translated help-file by placing it in
3047  your 
3048 \begin_inset Flex CharStyle:Code
3049 status collapsed
3050
3051 \begin_layout Plain Layout
3052 UserDir/doc/xx/
3053 \end_layout
3054
3055 \end_inset
3056
3057  directory.
3058 \end_layout
3059
3060 \begin_layout Itemize
3061 Sometimes the original document (from the LyX-team) will be updated.
3062  Use the source viewer at 
3063 \begin_inset CommandInset href
3064 LatexCommand href
3065 name "http://www.lyx.org/trac/timeline"
3066 target "http://www.lyx.org/trac/timeline"
3067
3068 \end_inset
3069
3070  to see what has been changed.
3071  That way you can easily see which parts of the translated document need
3072  to be updated.
3073 \end_layout
3074
3075 \begin_layout Standard
3076 If you ever find an error in the original document, fix it and notify the
3077  rest of the documentation team of the changes! (You didn't forget to join
3078  the documentation team, did you?)
3079 \end_layout
3080
3081 \begin_layout Standard
3082 \begin_inset Branch OutDated
3083 status collapsed
3084
3085 \begin_layout Section
3086 International Keyboard Support
3087 \end_layout
3088
3089 \begin_layout Standard
3090
3091 \emph on
3092 [Editor's Note: The following section is by
3093 \emph default
3094  
3095 \shape smallcaps
3096 \emph on
3097 Ivan Schreter
3098 \shape default
3099 .
3100  It needs to be fixed to conform to the new Documentation Style sheet and
3101  to make use of the new v1.0 features.
3102  The whole thing also needs to be merged with the section following it.-jw
3103  It may also be badly out of date.-rh (2008)]
3104 \end_layout
3105
3106 \begin_layout Subsection
3107 Defining Own Keymaps: Keymap File Format
3108 \end_layout
3109
3110 \begin_layout Standard
3111 Let's look at a keyboard definition file a little closer.
3112  It is a plain text file defining
3113 \end_layout
3114
3115 \begin_layout Itemize
3116 key-to-key or key-to-string translations
3117 \end_layout
3118
3119 \begin_layout Itemize
3120 dead keys
3121 \end_layout
3122
3123 \begin_layout Itemize
3124 dead keys exceptions
3125 \end_layout
3126
3127 \begin_layout Standard
3128 To define key-to-key or key-to-string translation, use this command:
3129 \end_layout
3130
3131 \begin_layout Quotation
3132 \begin_inset Flex CharStyle:Code
3133 status collapsed
3134
3135 \begin_layout Plain Layout
3136
3137 \backslash
3138 kmap
3139 \end_layout
3140
3141 \end_inset
3142
3143  
3144 \begin_inset Flex CharStyle:Code
3145 status collapsed
3146
3147 \begin_layout Plain Layout
3148 key
3149 \end_layout
3150
3151 \end_inset
3152
3153  outstring 
3154 \end_layout
3155
3156 \begin_layout Standard
3157 where 
3158 \begin_inset Flex CharStyle:Code
3159 status collapsed
3160
3161 \begin_layout Plain Layout
3162 key
3163 \end_layout
3164
3165 \end_inset
3166
3167  is the key to be translated and 
3168 \begin_inset Flex CharStyle:Code
3169 status collapsed
3170
3171 \begin_layout Plain Layout
3172 outstring
3173 \end_layout
3174
3175 \end_inset
3176
3177  is the string to be inserted into the document.
3178  To define dead keys, use:
3179 \end_layout
3180
3181 \begin_layout Quotation
3182 \begin_inset Flex CharStyle:Code
3183 status collapsed
3184
3185 \begin_layout Plain Layout
3186
3187 \backslash
3188 kmod
3189 \end_layout
3190
3191 \end_inset
3192
3193  
3194 \begin_inset Flex CharStyle:Code
3195 status collapsed
3196
3197 \begin_layout Plain Layout
3198 key
3199 \end_layout
3200
3201 \end_inset
3202
3203  deadkey
3204 \end_layout
3205
3206 \begin_layout Standard
3207 where 
3208 \begin_inset Flex CharStyle:Code
3209 status collapsed
3210
3211 \begin_layout Plain Layout
3212 key
3213 \end_layout
3214
3215 \end_inset
3216
3217  is a keyboard key and 
3218 \begin_inset Flex CharStyle:Code
3219 status collapsed
3220
3221 \begin_layout Plain Layout
3222 deadkey
3223 \end_layout
3224
3225 \end_inset
3226
3227  is dead key name.
3228  The following dead keys are supported (shortcut name is in parentheses):
3229 \end_layout
3230
3231 \begin_layout Quotation
3232
3233 \emph on
3234 Name
3235 \begin_inset space \hfill{}
3236 \end_inset
3237
3238 Example
3239 \end_layout
3240
3241 \begin_layout Quotation
3242 acute (acu)
3243 \begin_inset space \hfill{}
3244 \end_inset
3245
3246 áéíóú
3247 \end_layout
3248
3249 \begin_layout Quotation
3250 grave (gra)
3251 \begin_inset space \hfill{}
3252 \end_inset
3253
3254 àèìòù
3255 \end_layout
3256
3257 \begin_layout Quotation
3258 macron (mac)
3259 \begin_inset space \hfill{}
3260 \end_inset
3261
3262  ō
3263 \end_layout
3264
3265 \begin_layout Quotation
3266 tilde (til)
3267 \begin_inset space \hfill{}
3268 \end_inset
3269
3270 ñÑ
3271 \end_layout
3272
3273 \begin_layout Quotation
3274 underbar (underb)
3275 \begin_inset space \hfill{}
3276 \end_inset
3277
3278
3279 \begin_inset ERT
3280 status open
3281
3282 \begin_layout Plain Layout
3283
3284
3285 \backslash
3286 b o
3287 \end_layout
3288
3289 \end_inset
3290
3291
3292 \end_layout
3293
3294 \begin_layout Quotation
3295 cedilla (ced)
3296 \begin_inset space \hfill{}
3297 \end_inset
3298
3299 çÇ
3300 \end_layout
3301
3302 \begin_layout Quotation
3303 underdot (underd)
3304 \begin_inset space \hfill{}
3305 \end_inset
3306
3307
3308 \begin_inset ERT
3309 status open
3310
3311 \begin_layout Plain Layout
3312
3313
3314 \backslash
3315 d o
3316 \end_layout
3317
3318 \end_inset
3319
3320
3321 \end_layout
3322
3323 \begin_layout Quotation
3324 circumflex (circu)
3325 \begin_inset space \hfill{}
3326 \end_inset
3327
3328 âêîôû
3329 \end_layout
3330
3331 \begin_layout Quotation
3332 circle (circl)
3333 \begin_inset space \hfill{}
3334 \end_inset
3335
3336 ÅůŮ
3337 \end_layout
3338
3339 \begin_layout Quotation
3340 tie (tie)
3341 \begin_inset space \hfill{}
3342 \end_inset
3343
3344
3345 \begin_inset ERT
3346 status open
3347
3348 \begin_layout Plain Layout
3349
3350
3351 \backslash
3352 t o
3353 \end_layout
3354
3355 \end_inset
3356
3357
3358 \end_layout
3359
3360 \begin_layout Quotation
3361 breve (bre)
3362 \begin_inset space \hfill{}
3363 \end_inset
3364
3365 ă
3366 \begin_inset ERT
3367 status open
3368
3369 \begin_layout Plain Layout
3370
3371
3372 \backslash
3373 u o
3374 \end_layout
3375
3376 \end_inset
3377
3378
3379 \end_layout
3380
3381 \begin_layout Quotation
3382 caron (car)
3383 \begin_inset space \hfill{}
3384 \end_inset
3385
3386 čšž
3387 \end_layout
3388
3389 \begin_layout Quotation
3390 hungarian umlaut (hug)
3391 \begin_inset space \hfill{}
3392 \end_inset
3393
3394 őű
3395 \end_layout
3396
3397 \begin_layout Quotation
3398 umlaut (uml)
3399 \begin_inset space \hfill{}
3400 \end_inset
3401
3402 äöü
3403 \end_layout
3404
3405 \begin_layout Quotation
3406 dot (dot)
3407 \begin_inset space \hfill{}
3408 \end_inset
3409
3410 ż
3411 \begin_inset ERT
3412 status open
3413
3414 \begin_layout Plain Layout
3415
3416
3417 \backslash
3418 .s
3419 \end_layout
3420
3421 \end_inset
3422
3423
3424 \end_layout
3425
3426 \begin_layout Standard
3427 Since in many international keyboards there are exceptions to what some
3428  dead keys should do, you can define them using
3429 \end_layout
3430
3431 \begin_layout Quotation
3432 \begin_inset Flex CharStyle:Code
3433 status collapsed
3434
3435 \begin_layout Plain Layout
3436
3437 \backslash
3438 kxmod
3439 \end_layout
3440
3441 \end_inset
3442
3443  deadkey key outstring
3444 \end_layout
3445
3446 \begin_layout Standard
3447 For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
3448 , so you put in
3449 \end_layout
3450
3451 \begin_layout Quotation
3452 \begin_inset Flex CharStyle:Code
3453 status collapsed
3454
3455 \begin_layout Plain Layout
3456
3457 \backslash
3458 kxmod
3459 \end_layout
3460
3461 \end_inset
3462
3463  caron o "
3464 \backslash
3465 ^o"
3466 \end_layout
3467
3468 \begin_layout Standard
3469 to make it work correctly.
3470  Also, you have to define as exceptions dead keys over i and j, to remove
3471  the dot from them before inserting an accent mark.
3472  I will change this when the time comes, but so far I haven't had time.
3473 \end_layout
3474
3475 \begin_layout Standard
3476 Oh, and about characters: backslash is escaped, so to enter it, you'll need
3477  double backslash.
3478  Also, quotes and 
3479 \begin_inset Flex CharStyle:Code
3480 status collapsed
3481
3482 \begin_layout Plain Layout
3483 #
3484 \end_layout
3485
3486 \end_inset
3487
3488  have different meaning.
3489  
3490 \begin_inset Flex CharStyle:Code
3491 status collapsed
3492
3493 \begin_layout Plain Layout
3494 #
3495 \end_layout
3496
3497 \end_inset
3498
3499  marks comments, quotes start and end LaTeX-style commands.
3500  To enter quote, you'll need to use 
3501 \begin_inset Flex CharStyle:Code
3502 status collapsed
3503
3504 \begin_layout Plain Layout
3505
3506 \backslash
3507 "
3508 \end_layout
3509
3510 \end_inset
3511
3512 , to enter 
3513 \begin_inset Flex CharStyle:Code
3514 status collapsed
3515
3516 \begin_layout Plain Layout
3517 #
3518 \end_layout
3519
3520 \end_inset
3521
3522 , use 
3523 \begin_inset Flex CharStyle:Code
3524 status collapsed
3525
3526 \begin_layout Plain Layout
3527
3528 \backslash
3529 #
3530 \end_layout
3531
3532 \end_inset
3533
3534 .
3535 \end_layout
3536
3537 \begin_layout Standard
3538 If you make a keyboard description file that works for your language, please
3539  mail it to me, so I can include it in the next keymap distribution.
3540 \end_layout
3541
3542 \begin_layout Standard
3543 More keywords will be supported in keymap configuration file in future,
3544  like
3545 \end_layout
3546
3547 \begin_layout Itemize
3548 \begin_inset Flex CharStyle:Code
3549 status collapsed
3550
3551 \begin_layout Plain Layout
3552
3553 \backslash
3554 kinclude filename
3555 \end_layout
3556
3557 \end_inset
3558
3559
3560 \emph on
3561
3562 \begin_inset space \hfill{}
3563 \end_inset
3564
3565
3566 \begin_inset Flex CharStyle:Code
3567 status collapsed
3568
3569 \begin_layout Plain Layout
3570 include
3571 \end_layout
3572
3573 \end_inset
3574
3575  another file
3576 \end_layout
3577
3578 \begin_layout Itemize
3579 \begin_inset Flex CharStyle:Code
3580 status collapsed
3581
3582 \begin_layout Plain Layout
3583
3584 \backslash
3585 kprog program
3586 \end_layout
3587
3588 \end_inset
3589
3590
3591 \emph on
3592
3593 \begin_inset space \hfill{}
3594 \end_inset
3595
3596
3597 \begin_inset Flex CharStyle:Code
3598 status collapsed
3599
3600 \begin_layout Plain Layout
3601 define
3602 \end_layout
3603
3604 \end_inset
3605
3606  an external keymap translation program 
3607 \end_layout
3608
3609 \begin_layout Standard
3610 Also, it should look into 
3611 \begin_inset Flex CharStyle:Code
3612 status collapsed
3613
3614 \begin_layout Plain Layout
3615 lyxrc
3616 \end_layout
3617
3618 \end_inset
3619
3620  file for defaults, too (for example, a 
3621 \begin_inset Flex CharStyle:Code
3622 status collapsed
3623
3624 \begin_layout Plain Layout
3625
3626 \backslash
3627 kinclude
3628 \end_layout
3629
3630 \end_inset
3631
3632  option to include default keyboard).
3633 \end_layout
3634
3635 \end_inset
3636
3637
3638 \end_layout
3639
3640 \begin_layout Section
3641 International Keymap Stuff
3642 \begin_inset CommandInset label
3643 LatexCommand label
3644 name "sec:International-Keymap-Stuff"
3645
3646 \end_inset
3647
3648
3649 \end_layout
3650
3651 \begin_layout Standard
3652 \begin_inset Note Note
3653 status open
3654
3655 \begin_layout Plain Layout
3656 In doing the revisions on this document in March 2008, I did not look over
3657  this stuff, as I do not understand it.
3658  It would be good if someone else could do so.
3659  (RH)
3660 \end_layout
3661
3662 \end_inset
3663
3664
3665 \end_layout
3666
3667 \begin_layout Standard
3668 The next two sections describe the 
3669 \begin_inset Flex CharStyle:Code
3670 status collapsed
3671
3672 \begin_layout Plain Layout
3673
3674 \shape up
3675 .kmap
3676 \end_layout
3677
3678 \end_inset
3679
3680  and 
3681 \begin_inset Flex CharStyle:Code
3682 status collapsed
3683
3684 \begin_layout Plain Layout
3685
3686 \shape up
3687 .cdef
3688 \end_layout
3689
3690 \end_inset
3691
3692  file syntax in detail.
3693  These sections should help you design your own key map if the ones provided
3694  do not meet your needs.
3695 \end_layout
3696
3697 \begin_layout Subsection
3698 The .kmap File
3699 \end_layout
3700
3701 \begin_layout Standard
3702
3703 \shape up
3704 .
3705 \begin_inset Flex CharStyle:Code
3706 status collapsed
3707
3708 \begin_layout Plain Layout
3709 kmap
3710 \end_layout
3711
3712 \end_inset
3713
3714  file maps keystrokes to characters or strings.
3715  As the name suggests, it sets a keyboard mapping.
3716  The 
3717 \begin_inset Flex CharStyle:Code
3718 status collapsed
3719
3720 \begin_layout Plain Layout
3721 .kmap
3722 \end_layout
3723
3724 \end_inset
3725
3726
3727 \shape default
3728  file keywords 
3729 \shape up
3730
3731 \begin_inset Flex CharStyle:Code
3732 status collapsed
3733
3734 \begin_layout Plain Layout
3735
3736 \shape up
3737 kmap
3738 \end_layout
3739
3740 \end_inset
3741
3742
3743 \shape default
3744 ,
3745 \shape up
3746  
3747 \shape default
3748
3749 \begin_inset Flex CharStyle:Code
3750 status collapsed
3751
3752 \begin_layout Plain Layout
3753
3754 \shape up
3755 kmod
3756 \end_layout
3757
3758 \end_inset
3759
3760 ,
3761 \shape up
3762  
3763 \shape default
3764
3765 \begin_inset Flex CharStyle:Code
3766 status collapsed
3767
3768 \begin_layout Plain Layout
3769
3770 \shape up
3771 ksmod
3772 \end_layout
3773
3774 \end_inset
3775
3776 , and 
3777 \begin_inset Flex CharStyle:Code
3778 status collapsed
3779
3780 \begin_layout Plain Layout
3781
3782 \shape up
3783 kcomb
3784 \end_layout
3785
3786 \end_inset
3787
3788  are described in this section.
3789 \end_layout
3790
3791 \begin_layout Labeling
3792 \labelwidthstring 00.00.0000
3793 \begin_inset Flex CharStyle:Code
3794 status collapsed
3795
3796 \begin_layout Plain Layout
3797
3798 \shape up
3799 kmap
3800 \end_layout
3801
3802 \end_inset
3803
3804  Map a character to a string
3805 \end_layout
3806
3807 \begin_layout LyX-Code
3808
3809 \backslash
3810 kmap 
3811 \family roman
3812 \emph on
3813 char
3814 \family default
3815 \emph default
3816  
3817 \family roman
3818 \emph on
3819 string
3820 \end_layout
3821
3822 \begin_layout Standard
3823 This will ma
3824 \family roman
3825 p
3826 \family default
3827  
3828 \family roman
3829 \emph on
3830 char
3831 \family default
3832 \emph default
3833  
3834 \family roman
3835 to
3836 \family default
3837  
3838 \family roman
3839 \emph on
3840 string
3841 \emph default
3842 .
3843  Note that in
3844 \family default
3845  
3846 \family roman
3847 \emph on
3848 string
3849 \emph default
3850 ,
3851 \family default
3852  
3853 \family roman
3854 \shape up
3855 the double-quote (")
3856 \family default
3857 \shape default
3858  
3859 \family roman
3860 and
3861 \family default
3862  
3863 \family roman
3864 \shape up
3865 the backslash (
3866 \backslash
3867 )
3868 \family default
3869 \shape default
3870  
3871 \family roman
3872 must be escaped with a preceding backslash (
3873 \shape up
3874
3875 \backslash
3876
3877 \shape default
3878 )
3879 \family default
3880 .
3881 \end_layout
3882
3883 \begin_layout Standard
3884 An example of a 
3885 \begin_inset Flex CharStyle:MenuItem
3886 status collapsed
3887
3888 \begin_layout Plain Layout
3889
3890 \shape up
3891 kmap
3892 \end_layout
3893
3894 \end_inset
3895
3896  statement to cause the symbol 
3897 \begin_inset Flex CharStyle:MenuItem
3898 status collapsed
3899
3900 \begin_layout Plain Layout
3901
3902 \shape up
3903 /
3904 \end_layout
3905
3906 \end_inset
3907
3908  to be output for the keystroke 
3909 \begin_inset Flex CharStyle:MenuItem
3910 status collapsed
3911
3912 \begin_layout Plain Layout
3913
3914 \shape up
3915 &
3916 \end_layout
3917
3918 \end_inset
3919
3920  is:
3921 \end_layout
3922
3923 \begin_layout LyX-Code
3924
3925 \backslash
3926 kmap & /
3927 \end_layout
3928
3929 \begin_layout Labeling
3930 \labelwidthstring 00.00.0000
3931 \begin_inset Flex CharStyle:Code
3932 status collapsed
3933
3934 \begin_layout Plain Layout
3935
3936 \shape up
3937 kmod
3938 \end_layout
3939
3940 \end_inset
3941
3942  Specify an accent character
3943 \end_layout
3944
3945 \begin_layout LyX-Code
3946
3947 \backslash
3948 kmod 
3949 \family roman
3950 \emph on
3951 char accent allowed
3952 \end_layout
3953
3954 \begin_layout Standard
3955 This will make the cha
3956 \family roman
3957 racter
3958 \family default
3959  
3960 \family roman
3961 \emph on
3962 char
3963 \family default
3964 \emph default
3965  
3966 \family roman
3967 \shape up
3968 \emph on
3969 be an accent
3970 \family default
3971 \shape default
3972 \emph default
3973  
3974 \family roman
3975 \shape up
3976 on the
3977 \family default
3978 \shape default
3979  
3980 \family roman
3981 \shape up
3982 \emph on
3983 allowed
3984 \family default
3985 \shape default
3986 \emph default
3987  
3988 \family roman
3989 \shape up
3990 cha
3991 \family default
3992 racter(s).
3993  This is the dead key
3994 \begin_inset Foot
3995 status collapsed
3996
3997 \begin_layout Plain Layout
3998 The term 
3999 \family roman
4000 \emph on
4001 dead key
4002 \family default
4003 \emph default
4004  refers to a key that does not produce a character by itself, but when followed
4005  with another key, produces the desired accent character.
4006  For example, a German characte
4007 \family roman
4008 r with an umlaut like
4009 \family default
4010  
4011 \family roman
4012 \emph on
4013 ä
4014 \family default
4015 \emph default
4016  
4017 \family roman
4018 can be produced in this manner.
4019 \end_layout
4020
4021 \end_inset
4022
4023  mechanism.
4024  
4025 \end_layout
4026
4027 \begin_layout Standard
4028 If you 
4029 \family roman
4030 hit
4031 \family default
4032  
4033 \family roman
4034 \emph on
4035 char
4036 \family default
4037 \emph default
4038  
4039 \family roman
4040 and then another key not in
4041 \family default
4042  
4043 \family roman
4044 \emph on
4045 allowed
4046 \emph default
4047 , you will get a
4048 \family default
4049  
4050 \family roman
4051 \emph on
4052 char
4053 \family default
4054 \emph default
4055  
4056 \family roman
4057 followed by the other, not allowed key, as output.
4058
4059 \family default
4060  Note that a 
4061 \begin_inset Flex CharStyle:MenuItem
4062 status collapsed
4063
4064 \begin_layout Plain Layout
4065
4066 \shape up
4067 Backspace
4068 \end_layout
4069
4070 \end_inset
4071
4072  cancels a dead key, so if 
4073 \family roman
4074 you hit
4075 \family default
4076  
4077 \family roman
4078 \emph on
4079 char
4080 \family default
4081 \emph default
4082  
4083 \begin_inset Flex CharStyle:MenuItem
4084 status collapsed
4085
4086 \begin_layout Plain Layout
4087
4088 \shape up
4089 \emph on
4090 Backspace
4091 \end_layout
4092
4093 \end_inset
4094
4095 , the cursor will not go one position backwards but will instead cancel
4096  the effect t
4097 \family roman
4098 hat
4099 \family default
4100  
4101 \family roman
4102 \shape up
4103 \emph on
4104 char
4105 \family default
4106 \shape default
4107 \emph default
4108  
4109 \family roman
4110 \shape up
4111 might have had on the next keystroke.
4112  
4113 \end_layout
4114
4115 \begin_layout Standard
4116 The following example specifies that the character ' is to be an acute accent,
4117  allowed on the characters a, e, i, o, u, A, E, I, O, and U:
4118 \end_layout
4119
4120 \begin_layout LyX-Code
4121
4122 \backslash
4123 kmod ' acute aeiouAEIOU
4124 \end_layout
4125
4126 \begin_layout Labeling
4127 \labelwidthstring 00.00.0000
4128 \begin_inset Flex CharStyle:Code
4129 status collapsed
4130
4131 \begin_layout Plain Layout
4132 ksmod
4133 \end_layout
4134
4135 \end_inset
4136
4137  Specify an exception to the accent character
4138 \end_layout
4139
4140 \begin_layout LyX-Code
4141
4142 \backslash
4143 kxmod  
4144 \family roman
4145 \emph on
4146 accent char result
4147 \end_layout
4148
4149 \begin_layout Standard
4150 This defines an exce
4151 \family roman
4152 ption for
4153 \family default
4154  
4155 \family roman
4156 \emph on
4157 accent
4158 \family default
4159 \emph default
4160  
4161 \family roman
4162 on
4163 \family default
4164  
4165 \family roman
4166 \emph on
4167 char
4168 \emph default
4169 .
4170  T
4171 \shape up
4172 he
4173 \family default
4174 \shape default
4175  
4176 \family roman
4177 \shape up
4178 \emph on
4179 accent
4180 \family default
4181 \shape default
4182 \emph default
4183  
4184 \family roman
4185 \shape up
4186 must
4187 \family default
4188 \shape default
4189  
4190 \shape up
4191 have been assigned a keystroke with a previous
4192 \shape default
4193  
4194 \begin_inset Flex CharStyle:Code
4195 status collapsed
4196
4197 \begin_layout Plain Layout
4198
4199 \shape up
4200
4201 \backslash
4202 kmo
4203 \shape default
4204 d
4205 \end_layout
4206
4207 \end_inset
4208
4209  declar
4210 \family roman
4211 ation and
4212 \family default
4213  
4214 \family roman
4215 \emph on
4216 char
4217 \family default
4218 \emph default
4219  
4220 \family roman
4221 must not belong in the
4222 \family default
4223  
4224 \family roman
4225 \emph on
4226 allowed
4227 \family default
4228 \emph default
4229  
4230 \family roman
4231 set of
4232 \family default
4233  
4234 \family roman
4235 \emph on
4236 accent
4237 \emph default
4238 .
4239  When
4240 \family default
4241  
4242 \family roman
4243 \shape up
4244 you enter the
4245 \family default
4246 \shape default
4247  
4248 \family roman
4249 \shape up
4250 \emph on
4251 accent char
4252 \family default
4253 \shape default
4254 \emph default
4255  
4256 \family roman
4257 \shape up
4258 sequence,
4259 \family default
4260 \shape default
4261  
4262 \family roman
4263 \shape up
4264 \emph on
4265 result
4266 \emph default
4267  is produced.
4268  If such a declaration does not exist in
4269 \family default
4270 \shape default
4271  
4272 \shape up
4273 the
4274 \shape default
4275  
4276 \begin_inset Flex CharStyle:Code
4277 status collapsed
4278
4279 \begin_layout Plain Layout
4280
4281 \shape up
4282 .kmap
4283 \end_layout
4284
4285 \end_inset
4286
4287  file and yo
4288 \family roman
4289 u enter
4290 \family default
4291  
4292 \family roman
4293 \emph on
4294 accent char
4295 \emph default
4296 , you get
4297 \family default
4298  
4299 \family roman
4300 \emph on
4301 accent_key char
4302 \emph default
4303  where
4304 \family default
4305  
4306 \family roman
4307 \emph on
4308 accent_key
4309 \emph default
4310  is the first arg
4311 \family default
4312 ument of the 
4313 \begin_inset Flex CharStyle:Code
4314 status collapsed
4315
4316 \begin_layout Plain Layout
4317
4318 \shape up
4319
4320 \backslash
4321 kmod
4322 \end_layout
4323
4324 \end_inset
4325
4326  declaration.
4327  
4328 \end_layout
4329
4330 \begin_layout Standard
4331 The following command produces causes äi to be produced when you enter acute-i
4332  ('i):
4333 \end_layout
4334
4335 \begin_layout LyX-Code
4336
4337 \backslash
4338 kxmod acute i "
4339 \backslash
4340
4341 \backslash
4342 '{
4343 \backslash
4344
4345 \backslash
4346 i}"
4347 \end_layout
4348
4349 \begin_layout Labeling
4350 \labelwidthstring 00.00.0000
4351 \begin_inset Flex CharStyle:Code
4352 status collapsed
4353
4354 \begin_layout Plain Layout
4355 kcomb
4356 \end_layout
4357
4358 \end_inset
4359
4360  Combine two accent characters
4361 \end_layout
4362
4363 \begin_layout LyX-Code
4364
4365 \backslash
4366 kcomb 
4367 \family roman
4368 \emph on
4369 accent1 accent2 allowed
4370 \end_layout
4371
4372 \begin_layout Standard
4373 This one is getting pretty esoteric.
4374  It allows you to combine the effect 
4375 \family roman
4376 of
4377 \family default
4378  
4379 \family roman
4380 \emph on
4381 accent1
4382 \family default
4383 \emph default
4384  
4385 \family roman
4386 and
4387 \family default
4388  
4389 \family roman
4390 \emph on
4391 accent2
4392 \family default
4393 \emph default
4394  
4395 \family roman
4396 (in that order!) on
4397 \family default
4398  
4399 \family roman
4400 \emph on
4401 allowed
4402 \family default
4403 \emph default
4404  
4405 \family roman
4406 chars.
4407  The keystrokes for
4408 \family default
4409  
4410 \family roman
4411 \emph on
4412 accent1
4413 \family default
4414 \emph default
4415  
4416 \family roman
4417 and
4418 \family default
4419  
4420 \family roman
4421 \emph on
4422 accent2
4423 \family default
4424 \emph default
4425  
4426 \family roman
4427 must have be
4428 \family default
4429 en set with a 
4430 \begin_inset Flex CharStyle:Code
4431 status collapsed
4432
4433 \begin_layout Plain Layout
4434
4435 \shape up
4436
4437 \backslash
4438 kmod
4439 \end_layout
4440
4441 \end_inset
4442
4443  command at 
4444 \family roman
4445 a
4446 \family default
4447  
4448 \family roman
4449 \emph on
4450 previous
4451 \family default
4452 \emph default
4453  
4454 \family roman
4455 point in the
4456 \family default
4457  file.
4458  
4459 \end_layout
4460
4461 \begin_layout Standard
4462 Consider this example from the 
4463 \begin_inset Flex CharStyle:Code
4464 status collapsed
4465
4466 \begin_layout Plain Layout
4467
4468 \shape up
4469 greek.kmap
4470 \end_layout
4471
4472 \end_inset
4473
4474  file:
4475 \end_layout
4476
4477 \begin_layout LyX-Code
4478
4479 \backslash
4480 kmod ; acute aeioyvhAEIOYVH 
4481 \backslash
4482 kmod : umlaut iyIY 
4483 \backslash
4484 kcomb acute umlaut iyIY
4485 \end_layout
4486
4487 \begin_layout Standard
4488 This allows you to press 
4489 \begin_inset Flex CharStyle:MenuItem
4490 status collapsed
4491
4492 \begin_layout Plain Layout
4493
4494 \shape up
4495 ;:i
4496 \end_layout
4497
4498 \end_inset
4499
4500  and get the effect of 
4501 \begin_inset Flex CharStyle:Code
4502 status collapsed
4503
4504 \begin_layout Plain Layout
4505
4506 \shape up
4507
4508 \backslash
4509 '{
4510 \backslash
4511 "{i}}
4512 \end_layout
4513
4514 \end_inset
4515
4516 .
4517  
4518 \family roman
4519 \shape up
4520 A backspace
4521 \family default
4522 \shape default
4523  in this case cancels the last dead key, so if you press 
4524 \begin_inset Flex CharStyle:MenuItem
4525 status collapsed
4526
4527 \begin_layout Plain Layout
4528
4529 \shape up
4530 ;: Backspace i
4531 \end_layout
4532
4533 \end_inset
4534
4535  you get 
4536 \begin_inset Flex CharStyle:Code
4537 status collapsed
4538
4539 \begin_layout Plain Layout
4540
4541 \shape up
4542
4543 \backslash
4544 '{i}
4545 \end_layout
4546
4547 \end_inset
4548
4549 .
4550 \end_layout
4551
4552 \begin_layout Subsection
4553 The .cdef File
4554 \end_layout
4555
4556 \begin_layout Standard
4557 After the 
4558 \begin_inset Flex CharStyle:Code
4559 status collapsed
4560
4561 \begin_layout Plain Layout
4562
4563 \shape up
4564 .kmap
4565 \end_layout
4566
4567 \end_inset
4568
4569  mapping is performed, a 
4570 \begin_inset Flex CharStyle:Code
4571 status collapsed
4572
4573 \begin_layout Plain Layout
4574
4575 \shape up
4576 .cde
4577 \shape default
4578 f
4579 \end_layout
4580
4581 \end_inset
4582
4583  file maps the strings that the symbols generate to characters in the current
4584  font.
4585  The LyX distribution currently includes at least the 
4586 \begin_inset Flex CharStyle:Code
4587 status collapsed
4588
4589 \begin_layout Plain Layout
4590
4591 \shape up
4592 iso8859-1.cdef
4593 \end_layout
4594
4595 \end_inset
4596
4597  and 
4598 \begin_inset Flex CharStyle:Code
4599 status collapsed
4600
4601 \begin_layout Plain Layout
4602
4603 \shape up
4604 iso8859-2.cdef
4605 \end_layout
4606
4607 \end_inset
4608
4609  files.
4610 \end_layout
4611
4612 \begin_layout Standard
4613 In general the 
4614 \begin_inset Flex CharStyle:Code
4615 status collapsed
4616
4617 \begin_layout Plain Layout
4618
4619 \shape up
4620 .cdef
4621 \end_layout
4622
4623 \end_inset
4624
4625  file is a sequence of declarations of the form
4626 \end_layout
4627
4628 \begin_layout LyX-Code
4629
4630 \family roman
4631 \emph on
4632 char_index_in_set
4633 \family default
4634 \emph default
4635  
4636 \family roman
4637 \emph on
4638  string
4639 \end_layout
4640
4641 \begin_layout Standard
4642 For example, in order to map 
4643 \begin_inset Flex CharStyle:MenuItem
4644 status collapsed
4645
4646 \begin_layout Plain Layout
4647
4648 \shape up
4649
4650 \backslash
4651 '{e}
4652 \end_layout
4653
4654 \end_inset
4655
4656  to the corresponding character in the iso-8859-1 set (233), the following
4657  declaration is used
4658 \end_layout
4659
4660 \begin_layout LyX-Code
4661 233 "
4662 \backslash
4663
4664 \backslash
4665 '{e}"
4666 \end_layout
4667
4668 \begin_layout Standard
4669 with 
4670 \begin_inset Flex CharStyle:Code
4671 status collapsed
4672
4673 \begin_layout Plain Layout
4674
4675 \backslash
4676
4677 \end_layout
4678
4679 \end_inset
4680
4681  and 
4682 \begin_inset Flex CharStyle:Code
4683 status collapsed
4684
4685 \begin_layout Plain Layout
4686 "
4687 \end_layout
4688
4689 \end_inset
4690
4691  being escap
4692 \family roman
4693 ed in
4694 \family default
4695  
4696 \family roman
4697 \emph on
4698 string
4699 \emph default
4700 .
4701  Note that
4702 \family default
4703  the same character can apply to more than one string.
4704  In the 
4705 \begin_inset Flex CharStyle:Code
4706 status collapsed
4707
4708 \begin_layout Plain Layout
4709 i
4710 \shape up
4711 so-8859-7.cdef
4712 \end_layout
4713
4714 \end_inset
4715
4716  file you have
4717 \end_layout
4718
4719 \begin_layout LyX-Code
4720 192 "
4721 \backslash
4722
4723 \backslash
4724 '{
4725 \backslash
4726
4727 \backslash
4728
4729 \backslash
4730 "{i}}"
4731 \begin_inset Newline newline
4732 \end_inset
4733
4734 192 "
4735 \backslash
4736
4737 \backslash
4738
4739 \backslash
4740 "{
4741 \backslash
4742
4743 \backslash
4744 '{i}}"
4745 \end_layout
4746
4747 \begin_layout Standard
4748 If LyX cannot find a mapping for the string produced by the keystroke or
4749  a deadkey sequence, it will check if it looks like an accented char and
4750  try to draw an accent over the character on screen.
4751 \end_layout
4752
4753 \begin_layout Subsection
4754 Dead Keys
4755 \end_layout
4756
4757 \begin_layout Standard
4758 There is a second way to add support for international characters through
4759  so-called dead-keys.
4760  A dead-key works in combination with a letter to produce an accented character.
4761  Here, we'll explain how to create a really simple dead-key to illustrate
4762  how they work.
4763 \end_layout
4764
4765 \begin_layout Standard
4766 Suppose you happen to need the circumflex character, 
4767 \begin_inset Quotes eld
4768 \end_inset
4769
4770  ̂
4771 \begin_inset Quotes erd
4772 \end_inset
4773
4774 .
4775  You could bind the 
4776 \begin_inset Flex CharStyle:MenuItem
4777 status collapsed
4778
4779 \begin_layout Plain Layout
4780 ^
4781 \end_layout
4782
4783 \end_inset
4784
4785 -key [a.k.a.
4786 \begin_inset space ~
4787 \end_inset
4788
4789
4790 \begin_inset Flex CharStyle:MenuItem
4791 status collapsed
4792
4793 \begin_layout Plain Layout
4794 Shift-6
4795 \end_layout
4796
4797 \end_inset
4798
4799 ] to the LyX command 
4800 \begin_inset Flex CharStyle:Code
4801 status collapsed
4802
4803 \begin_layout Plain Layout
4804 accent-circumflex
4805 \end_layout
4806
4807 \end_inset
4808
4809  in your 
4810 \begin_inset Flex CharStyle:Code
4811 status collapsed
4812
4813 \begin_layout Plain Layout
4814 lyxrc
4815 \end_layout
4816
4817 \end_inset
4818
4819  file.
4820  Now, whenever you type the 
4821 \begin_inset Flex CharStyle:MenuItem
4822 status collapsed
4823
4824 \begin_layout Plain Layout
4825 ^
4826 \end_layout
4827
4828 \end_inset
4829
4830 -key followed by a letter, that letter will have a circumflex accent on
4831  it.
4832  For example, the sequence 
4833 \begin_inset Quotes eld
4834 \end_inset
4835
4836
4837 \begin_inset Flex CharStyle:MenuItem
4838 status collapsed
4839
4840 \begin_layout Plain Layout
4841 ^e
4842 \end_layout
4843
4844 \end_inset
4845
4846
4847 \begin_inset Quotes erd
4848 \end_inset
4849
4850  produces the letter: 
4851 \begin_inset Quotes eld
4852 \end_inset
4853
4854 ê
4855 \begin_inset Quotes erd
4856 \end_inset
4857
4858 .
4859  If you tried to type 
4860 \begin_inset Quotes eld
4861 \end_inset
4862
4863
4864 \begin_inset Flex CharStyle:MenuItem
4865 status collapsed
4866
4867 \begin_layout Plain Layout
4868 ^t
4869 \end_layout
4870
4871 \end_inset
4872
4873
4874 \begin_inset Quotes erd
4875 \end_inset
4876
4877 , however, LyX will complain with a beep, since a 
4878 \begin_inset Quotes eld
4879 \end_inset
4880
4881
4882 \begin_inset Flex CharStyle:MenuItem
4883 status collapsed
4884
4885 \begin_layout Plain Layout
4886 t
4887 \end_layout
4888
4889 \end_inset
4890
4891
4892 \begin_inset Quotes erd
4893 \end_inset
4894
4895  never takes a circumflex accent.
4896  Hitting 
4897 \begin_inset Flex CharStyle:MenuItem
4898 status collapsed
4899
4900 \begin_layout Plain Layout
4901 Space
4902 \end_layout
4903
4904 \end_inset
4905
4906  after a dead-key produces the bare-accent.
4907  Please note this last point! If you bind a key to a dead-key, you'll need
4908  to rebind the character on that key to yet another key.
4909  Binding the 
4910 \begin_inset Flex CharStyle:MenuItem
4911 status collapsed
4912
4913 \begin_layout Plain Layout
4914 ,-key
4915 \end_layout
4916
4917 \end_inset
4918
4919  to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
4920 \end_layout
4921
4922 \begin_layout Standard
4923 One common way to bind dead-keys is to use 
4924 \begin_inset Flex CharStyle:MenuItem
4925 status collapsed
4926
4927 \begin_layout Plain Layout
4928 Meta-
4929 \end_layout
4930
4931 \end_inset
4932
4933
4934 \begin_inset Flex CharStyle:MenuItem
4935 status collapsed
4936
4937 \begin_layout Plain Layout
4938 Ctrl-
4939 \end_layout
4940
4941 \end_inset
4942
4943 , and 
4944 \begin_inset Flex CharStyle:MenuItem
4945 status collapsed
4946
4947 \begin_layout Plain Layout
4948 Shift-
4949 \end_layout
4950
4951 \end_inset
4952
4953  in combination with an accent, like 
4954 \begin_inset Quotes eld
4955 \end_inset
4956
4957
4958 \begin_inset Flex CharStyle:MenuItem
4959 status collapsed
4960
4961 \begin_layout Plain Layout
4962 ~
4963 \end_layout
4964
4965 \end_inset
4966
4967
4968 \begin_inset Quotes erd
4969 \end_inset
4970
4971  or 
4972 \begin_inset Quotes eld
4973 \end_inset
4974
4975
4976 \begin_inset Flex CharStyle:MenuItem
4977 status collapsed
4978
4979 \begin_layout Plain Layout
4980 ,
4981 \end_layout
4982
4983 \end_inset
4984
4985
4986 \begin_inset Quotes erd
4987 \end_inset
4988
4989  or 
4990 \begin_inset Quotes eld
4991 \end_inset
4992
4993
4994 \begin_inset Flex CharStyle:MenuItem
4995 status collapsed
4996
4997 \begin_layout Plain Layout
4998 ^
4999 \end_layout
5000
5001 \end_inset
5002
5003
5004 \begin_inset Quotes erd
5005 \end_inset
5006
5007 .
5008  Another way involves using 
5009 \begin_inset Flex CharStyle:Code
5010 status collapsed
5011
5012 \begin_layout Plain Layout
5013 xmodmap
5014 \end_layout
5015
5016 \end_inset
5017
5018  and 
5019 \begin_inset Flex CharStyle:Code
5020 status collapsed
5021
5022 \begin_layout Plain Layout
5023 xkeycaps
5024 \end_layout
5025
5026 \end_inset
5027
5028  to set up the special 
5029 \begin_inset Flex CharStyle:Code
5030 status collapsed
5031
5032 \begin_layout Plain Layout
5033 Mode_Switch
5034 \end_layout
5035
5036 \end_inset
5037
5038  key.
5039  The 
5040 \begin_inset Flex CharStyle:Code
5041 status collapsed
5042
5043 \begin_layout Plain Layout
5044 Mode_Switch
5045 \end_layout
5046
5047 \end_inset
5048
5049  acts in some ways just like 
5050 \begin_inset Flex CharStyle:MenuItem
5051 status collapsed
5052
5053 \begin_layout Plain Layout
5054 Shift
5055 \end_layout
5056
5057 \end_inset
5058
5059  and permits you to bind keys to accented characters.
5060  You can also turn keys into dead-keys by binding them to something like
5061  
5062 \begin_inset Flex CharStyle:Code
5063 status collapsed
5064
5065 \begin_layout Plain Layout
5066 usldead_cedilla
5067 \end_layout
5068
5069 \end_inset
5070
5071  and then binding this symbolic key to the corresponding LyX command.
5072 \begin_inset Foot
5073 status collapsed
5074
5075 \begin_layout Plain Layout
5076 Note from 
5077 \noun on
5078 John Weiss
5079 \noun default
5080 : This is exactly what I do in my 
5081 \begin_inset Flex CharStyle:Code
5082 status collapsed
5083
5084 \begin_layout Plain Layout
5085 ~/.lyx/lyxrc
5086 \end_layout
5087
5088 \end_inset
5089
5090  and my 
5091 \begin_inset Flex CharStyle:Code
5092 status collapsed
5093
5094 \begin_layout Plain Layout
5095 ~/.xmodmap
5096 \end_layout
5097
5098 \end_inset
5099
5100  files.
5101  I have my 
5102 \begin_inset Flex CharStyle:MenuItem
5103 status collapsed
5104
5105 \begin_layout Plain Layout
5106 Scroll
5107 \begin_inset space ~
5108 \end_inset
5109
5110 Lock
5111 \end_layout
5112
5113 \end_inset
5114
5115  key set up as 
5116 \begin_inset Flex CharStyle:Code
5117 status collapsed
5118
5119 \begin_layout Plain Layout
5120 Mode_Shift
5121 \end_layout
5122
5123 \end_inset
5124
5125  and a bunch of these 
5126 \begin_inset Quotes eld
5127 \end_inset
5128
5129
5130 \begin_inset Flex CharStyle:Code
5131 status collapsed
5132
5133 \begin_layout Plain Layout
5134 usldead_*
5135 \end_layout
5136
5137 \end_inset
5138
5139
5140 \begin_inset Quotes erd
5141 \end_inset
5142
5143  symbolic keys bound such things as 
5144 \begin_inset Flex CharStyle:MenuItem
5145 status collapsed
5146
5147 \begin_layout Plain Layout
5148 Scroll
5149 \begin_inset space ~
5150 \end_inset
5151
5152 Lock-^
5153 \end_layout
5154
5155 \end_inset
5156
5157  and 
5158 \begin_inset Flex CharStyle:MenuItem
5159 status collapsed
5160
5161 \begin_layout Plain Layout
5162 Scroll
5163 \begin_inset space ~
5164 \end_inset
5165
5166 Lock-~
5167 \end_layout
5168
5169 \end_inset
5170
5171 .
5172  This is how I produce my accented characters.
5173 \end_layout
5174
5175 \end_inset
5176
5177  You can make just about anything into the 
5178 \begin_inset Flex CharStyle:Code
5179 status collapsed
5180
5181 \begin_layout Plain Layout
5182 Mode_Switch
5183 \end_layout
5184
5185 \end_inset
5186
5187  key: One of the 
5188 \begin_inset Flex CharStyle:MenuItem
5189 status collapsed
5190
5191 \begin_layout Plain Layout
5192 Ctrl-
5193 \end_layout
5194
5195 \end_inset
5196
5197  keys, a spare function key, etc.
5198  As for the LyX commands that produce accents, check the entry for 
5199 \begin_inset Flex CharStyle:Code
5200 status collapsed
5201
5202 \begin_layout Plain Layout
5203 accent-acute
5204 \end_layout
5205
5206 \end_inset
5207
5208  in the 
5209 \emph on
5210 Reference Manual
5211 \emph default
5212 .
5213  You'll find the complete list there.
5214 \end_layout
5215
5216 \begin_layout Subsection
5217 Saving your Language Configuration
5218 \end_layout
5219
5220 \begin_layout Standard
5221 You can edit your preferences so that your desired language environment
5222  is automatically configured when LyX starts up, via the 
5223 \begin_inset Flex CharStyle:MenuItem
5224 status collapsed
5225
5226 \begin_layout Plain Layout
5227 Edit\SpecialChar \menuseparator
5228 Preferences
5229 \end_layout
5230
5231 \end_inset
5232
5233  dialog.
5234 \end_layout
5235
5236 \begin_layout Chapter
5237 Installing New Document Classes, Layouts, and Templates
5238 \begin_inset CommandInset label
5239 LatexCommand label
5240 name "cha:Installing-New-Document"
5241
5242 \end_inset
5243
5244
5245 \begin_inset Argument
5246 status collapsed
5247
5248 \begin_layout Plain Layout
5249 Installing New Document Classes
5250 \end_layout
5251
5252 \end_inset
5253
5254
5255 \end_layout
5256
5257 \begin_layout Standard
5258 In this chapter, we describe the procedures for creating and installing
5259  new LyX layout and template files, as well as offer a refresher on correctly
5260  installing new LaTeX document classes.
5261  
5262 \end_layout
5263
5264 \begin_layout Standard
5265 First, let us a say a few words about how one ought to think about the relation
5266  between LyX and LaTeX.
5267  The thing to understand is that, in a certain sense, LyX doesn't know anything
5268  about LaTeX.
5269  Indeed, from LyX's point of view, LaTeX is just one of several 
5270 \begin_inset Quotes eld
5271 \end_inset
5272
5273 backend formats
5274 \begin_inset Quotes erd
5275 \end_inset
5276
5277  in which it is capable of producing output.
5278  Other such formats are DocBook, plaintext, and XHTML.
5279  LaTeX is, of course, a particularly important format, but very little of
5280  the information LyX has about LaTeX is actually contained in the program
5281  itself.
5282 \begin_inset Foot
5283 status collapsed
5284
5285 \begin_layout Plain Layout
5286 Some commands are sufficiently complex that they are 
5287 \begin_inset Quotes eld
5288 \end_inset
5289
5290 hardcoded
5291 \begin_inset Quotes erd
5292 \end_inset
5293
5294  into LyX.
5295  But the developers generally regard this as a Bad Thing.
5296 \end_layout
5297
5298 \end_inset
5299
5300  Rather, that information, even for the standard classes like 
5301 \begin_inset Flex CharStyle:Code
5302 status collapsed
5303
5304 \begin_layout Plain Layout
5305 article.cls
5306 \end_layout
5307
5308 \end_inset
5309
5310 , is contained in `layout files'.
5311  Similarly, LyX itself does not know much about DocBook or XHTML.
5312  What it knows is contained in layout files.
5313 \end_layout
5314
5315 \begin_layout Standard
5316 You can think of the layout file for a given document class as a translation
5317  manual between LyX constructs---paragraphs with their corresponding styles,
5318  certain sorts of insets, etc---and the corresponding LaTeX, DocBook, or
5319  XHTML constructs.
5320  Almost everything LyX knows about 
5321 \begin_inset Flex CharStyle:Code
5322 status collapsed
5323
5324 \begin_layout Plain Layout
5325 article.cls
5326 \end_layout
5327
5328 \end_inset
5329
5330 , for example, is contained in the file 
5331 \begin_inset Flex CharStyle:Code
5332 status collapsed
5333
5334 \begin_layout Plain Layout
5335 article.layout
5336 \end_layout
5337
5338 \end_inset
5339
5340  and in various other files it includes.
5341  For this reason, anyone intending to write layout files should plan to
5342  study the existing files.
5343  A good place to start is with 
5344 \begin_inset Flex CharStyle:Code
5345 status collapsed
5346
5347 \begin_layout Plain Layout
5348 stdsections.inc
5349 \end_layout
5350
5351 \end_inset
5352
5353 , which is included in 
5354 \begin_inset Flex CharStyle:Code
5355 status collapsed
5356
5357 \begin_layout Plain Layout
5358 article.layout
5359 \end_layout
5360
5361 \end_inset
5362
5363
5364 \begin_inset Flex CharStyle:Code
5365 status collapsed
5366
5367 \begin_layout Plain Layout
5368 book.layout
5369 \end_layout
5370
5371 \end_inset
5372
5373 , and many of the other layout files for document classes.
5374  This file is where sections and the like are defined: 
5375 \begin_inset Flex CharStyle:Code
5376 status collapsed
5377
5378 \begin_layout Plain Layout
5379 stdsections.inc
5380 \end_layout
5381
5382 \end_inset
5383
5384  tells LyX how paragraphs that are marked with the Section, Subsection,
5385  etc, styles can be translated into corresponding LaTeX, DocBook, and XHTML
5386  commands and tags.
5387  The 
5388 \begin_inset Flex CharStyle:Code
5389 status collapsed
5390
5391 \begin_layout Plain Layout
5392 article.layout
5393 \end_layout
5394
5395 \end_inset
5396
5397  file basically just includes several of these 
5398 \begin_inset Flex CharStyle:Code
5399 status collapsed
5400
5401 \begin_layout Plain Layout
5402 std*.inc
5403 \end_layout
5404
5405 \end_inset
5406
5407  files.
5408 \end_layout
5409
5410 \begin_layout Standard
5411 Defining the LyX--LaTeX correspondence is not the only thing layout files
5412  do, though.
5413  Their other job is to define how the LyX constructs themselves will appear
5414  on-screen.
5415  The fact that layout files have these two jobs is often a source of confusion,
5416  because they are completely separate.
5417  Telling LyX how to translate a certain paragraph style into LaTeX does
5418  not tell LyX how to display it; conversely, telling LyX how to display
5419  a certain paragraph style does not tell LyX how to translate it into LaTeX
5420  (let alone tell LaTeX how to display it).
5421  So, in general, when you define a new LyX construct, you must always do
5422  two quite separate things: (i)
5423 \begin_inset space ~
5424 \end_inset
5425
5426 tell LyX how to translate it into LaTeX and (ii)
5427 \begin_inset space ~
5428 \end_inset
5429
5430 tell LyX how to display it.
5431 \end_layout
5432
5433 \begin_layout Standard
5434 Much the same is true, of course, as regards LyX's other backend formats,
5435  though XHTML is in some ways different, because in that case LyX 
5436 \emph on
5437 is
5438 \emph default
5439  able, to some extent, to use information about how it should display a
5440  paragraph on the screen to output information (in the form of CSS) about
5441  how the paragraph should be displayed in a browser.
5442  Even in this case, however, the distinction between what LyX does internally
5443  and how things are rendered externally remains in force, and the two can
5444  be controlled separately.
5445  See 
5446 \begin_inset CommandInset ref
5447 LatexCommand ref
5448 reference "sec:Tags-for-XHTML"
5449
5450 \end_inset
5451
5452  for the details.
5453 \end_layout
5454
5455 \begin_layout Section
5456 Installing new LaTeX files
5457 \end_layout
5458
5459 \begin_layout Standard
5460 Some installations may not include a LaTeX package or class file that you
5461  would like to use within LyX.
5462  For example, you might need FoilTeX, a package for preparing slides for
5463  overhead projectors.
5464  Modern LaTeX distributions like TeXLive (2008 or newer) or MiKTeX provide
5465  a user interface for installing such packages.
5466  For example, with MiKTeX, you start the program 
5467 \begin_inset Quotes eld
5468 \end_inset
5469
5470 Browse Packages
5471 \begin_inset Quotes erd
5472 \end_inset
5473
5474  to get a list of available packages.
5475  To install one, right click on it or use the toolbar button to install
5476  it.
5477  
5478 \end_layout
5479
5480 \begin_layout Standard
5481 If your LaTeX distribution doesn't provide such a `package manager', or
5482  if the file is not available from your distribution, then you can follow
5483  these steps to install it manually.
5484 \end_layout
5485
5486 \begin_layout Enumerate
5487 Get the package from 
5488 \begin_inset CommandInset href
5489 LatexCommand href
5490 name "CTAN"
5491 target "http://www.ctan.org/"
5492
5493 \end_inset
5494
5495  or wherever.
5496 \end_layout
5497
5498 \begin_layout Enumerate
5499 You can install the package in several different places.
5500  If you want it to be available for all users on your system, then you should
5501  install it in your `local' TeX tree; if you want (or need) it to be available
5502  just for you, then you can install it in your own `user' TeX tree.
5503  Where these trees should be created, if they do not already exist, depends
5504  upon the details of your system.
5505  To find out where they are, look in the file 
5506 \begin_inset Flex CharStyle:Code
5507 status collapsed
5508
5509 \begin_layout Plain Layout
5510 texmf.cnf
5511 \end_layout
5512
5513 \end_inset
5514
5515 .
5516 \begin_inset Foot
5517 status collapsed
5518
5519 \begin_layout Plain Layout
5520 This usually lives in the directory 
5521 \begin_inset Flex CharStyle:Code
5522 status collapsed
5523
5524 \begin_layout Plain Layout
5525 $TEXMF/web2c
5526 \end_layout
5527
5528 \end_inset
5529
5530 , though you can run 
5531 \begin_inset Flex CharStyle:Code
5532 status collapsed
5533
5534 \begin_layout Plain Layout
5535 kpsewhich texmf.cnf
5536 \end_layout
5537
5538 \end_inset
5539
5540  to locate it.
5541 \end_layout
5542
5543 \end_inset
5544
5545  The location of the `local' TeX tree is defined by the 
5546 \begin_inset Flex CharStyle:Code
5547 status collapsed
5548
5549 \begin_layout Plain Layout
5550 TEXMFLOCAL
5551 \end_layout
5552
5553 \end_inset
5554
5555  variable; this is usually somewhere like 
5556 \begin_inset Flex URL
5557 status collapsed
5558
5559 \begin_layout Plain Layout
5560
5561 /usr/local/share/texmf/
5562 \end_layout
5563
5564 \end_inset
5565
5566 .
5567  The location of the `user' TeX tree is defined by 
5568 \begin_inset Flex CharStyle:Code
5569 status collapsed
5570
5571 \begin_layout Plain Layout
5572 TEXMFHOME
5573 \end_layout
5574
5575 \end_inset
5576
5577  and is commonly 
5578 \begin_inset Flex CharStyle:Code
5579 status collapsed
5580
5581 \begin_layout Plain Layout
5582 $HOME/texmf/
5583 \end_layout
5584
5585 \end_inset
5586
5587 .
5588  (If these variables are not predefined, you can define them.) You'll probably
5589  need root permissions to create or modify the `local' tree, but your `user'
5590  tree shouldn't have such limitations.
5591 \end_layout
5592
5593 \begin_layout Enumerate
5594 Make sure 
5595 \begin_inset Flex CharStyle:Code
5596 status collapsed
5597
5598 \begin_layout Plain Layout
5599 TEXMF
5600 \end_layout
5601
5602 \end_inset
5603
5604  includes the 
5605 \begin_inset Flex CharStyle:Code
5606 status collapsed
5607
5608 \begin_layout Plain Layout
5609 TEXMFLOCAL
5610 \end_layout
5611
5612 \end_inset
5613
5614  and 
5615 \begin_inset Flex CharStyle:Code
5616 status collapsed
5617
5618 \begin_layout Plain Layout
5619 TEXMFHOME
5620 \end_layout
5621
5622 \end_inset
5623
5624  variables; e.
5625 \begin_inset space \thinspace{}
5626 \end_inset
5627
5628 g.
5629 \begin_inset Newline newline
5630 \end_inset
5631
5632
5633 \begin_inset Flex CharStyle:Code
5634 status collapsed
5635
5636 \begin_layout Plain Layout
5637 TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN}
5638 \end_layout
5639
5640 \end_inset
5641
5642
5643 \begin_inset Newline newline
5644 \end_inset
5645
5646 It probably does.
5647 \end_layout
5648
5649 \begin_layout Enumerate
5650 Your local and user trees 
5651 \emph on
5652 must
5653 \emph default
5654  have the same sort of directory structure as your main existing 
5655 \begin_inset Flex CharStyle:Code
5656 status collapsed
5657
5658 \begin_layout Plain Layout
5659 texmf
5660 \end_layout
5661
5662 \end_inset
5663
5664  directory, which will be found at 
5665 \begin_inset Flex CharStyle:Code
5666 status collapsed
5667
5668 \begin_layout Plain Layout
5669 TEXMFMAIN
5670 \end_layout
5671
5672 \end_inset
5673
5674  (commonly, 
5675 \begin_inset Flex CharStyle:Code
5676 status collapsed
5677
5678 \begin_layout Plain Layout
5679 /usr/share/texmf/
5680 \end_layout
5681
5682 \end_inset
5683
5684 .) For example, latex packages should go under 
5685 \begin_inset Flex CharStyle:Code
5686 status collapsed
5687
5688 \begin_layout Plain Layout
5689 $TEXMFLOCAL/tex/latex/
5690 \end_layout
5691
5692 \end_inset
5693
5694  or 
5695 \begin_inset Flex CharStyle:Code
5696 status collapsed
5697
5698 \begin_layout Plain Layout
5699 $TEXMFHOME/tex/latex/
5700 \end_layout
5701
5702 \end_inset
5703
5704 .
5705  If you do not put them here, they probably will not work.
5706 \end_layout
5707
5708 \begin_layout Enumerate
5709 Once your tree is properly set up, you can install the package into an appropria
5710 te location.
5711  If you are lucky, your package will have been provided as a so-called `TDS'
5712  (TeX Directory Structure) zip file.
5713  To install it, you want to unzip it from the top of your tree.
5714  So, for example, you can copy the file 
5715 \begin_inset Flex CharStyle:Code
5716 status collapsed
5717
5718 \begin_layout Plain Layout
5719 newpkg.zip
5720 \end_layout
5721
5722 \end_inset
5723
5724  to 
5725 \begin_inset Flex CharStyle:Code
5726 status collapsed
5727
5728 \begin_layout Plain Layout
5729 /home/yourname/texmf/
5730 \end_layout
5731
5732 \end_inset
5733
5734  and then, from inside that directory, just run: 
5735 \begin_inset Flex CharStyle:Code
5736 status collapsed
5737
5738 \begin_layout Plain Layout
5739 unzip newpkg.zip
5740 \end_layout
5741
5742 \end_inset
5743
5744 .
5745  This will extract the needed files and copy them where they need to be.
5746 \begin_inset Newline newline
5747 \end_inset
5748
5749 If you do not have a TDS file, then you have to do this manually.
5750  For example, you might install the FoilTeX files into 
5751 \begin_inset Flex URL
5752 status collapsed
5753
5754 \begin_layout Plain Layout
5755
5756 $TEXMFLOCAL/tex/latex/contrib/foiltex
5757 \end_layout
5758
5759 \end_inset
5760
5761 .
5762  Why there? The CTAN download directories are themselves organized much
5763  like a TeX tree, and it isn't a bad idea to follow its structure when you
5764  install your own files.
5765  FoilTeX, as it happens, is found at 
5766 \begin_inset Flex URL
5767 status collapsed
5768
5769 \begin_layout Plain Layout
5770
5771 http://ctan.org/texarchive/macros/latex/contrib/foiltex/
5772 \end_layout
5773
5774 \end_inset
5775
5776 .
5777  
5778 \end_layout
5779
5780 \begin_layout Enumerate
5781 Finally, you must update the database TeX uses to find files.
5782  On MiKTeX, this is done by pressing the button 
5783 \family sans
5784 Refresh
5785 \begin_inset space ~
5786 \end_inset
5787
5788 FNDB
5789 \family default
5790  that you find in MiKTeX's 
5791 \begin_inset Quotes eld
5792 \end_inset
5793
5794 Settings
5795 \begin_inset Quotes erd
5796 \end_inset
5797
5798  program.
5799  
5800 \begin_inset Flex CharStyle:Code
5801 status collapsed
5802
5803 \begin_layout Plain Layout
5804 $TEXMFLOCAL/tex/latex/
5805 \end_layout
5806
5807 \end_inset
5808
5809 .
5810  Under TeXLive and the like, you should run 
5811 \begin_inset Flex CharStyle:Code
5812 status collapsed
5813
5814 \begin_layout Plain Layout
5815 texhash
5816 \end_layout
5817
5818 \end_inset
5819
5820  from a terminal, with root permissions if necessary.
5821  
5822 \end_layout
5823
5824 \begin_layout Standard
5825 Your package is now installed and available to LaTeX.
5826  You can verify this from a terminal by typing `
5827 \begin_inset Flex CharStyle:Code
5828 status collapsed
5829
5830 \begin_layout Plain Layout
5831 kpsewhich yourfile.ext
5832 \end_layout
5833
5834 \end_inset
5835
5836 '.
5837  To make LyX aware of it, however, you will need to reconfigure (
5838 \begin_inset Flex CharStyle:MenuItem
5839 status collapsed
5840
5841 \begin_layout Plain Layout
5842 Tools\SpecialChar \menuseparator
5843 Reconfigure
5844 \end_layout
5845
5846 \end_inset
5847
5848 ) and then restart LyX.
5849  If the new package was a document class, such as FoilTeX again, you will
5850  now see it available under 
5851 \begin_inset Flex CharStyle:MenuItem
5852 status collapsed
5853
5854 \begin_layout Plain Layout
5855 Document\SpecialChar \menuseparator
5856 Settings\SpecialChar \menuseparator
5857 Document Class
5858 \end_layout
5859
5860 \end_inset
5861
5862 , in this case as 
5863 \begin_inset Flex CharStyle:MenuItem
5864 status collapsed
5865
5866 \begin_layout Plain Layout
5867 slides (FoilTeX)
5868 \end_layout
5869
5870 \end_inset
5871
5872 .
5873 \end_layout
5874
5875 \begin_layout Standard
5876 What if there isn't a layout file is available for your new document class?
5877  Then, unfortunately, LyX will know nothing about it until you create a
5878  layout file yourself (or get someone else to do it).
5879  That is the topic of the next section.
5880 \end_layout
5881
5882 \begin_layout Section
5883 Types of layout files
5884 \end_layout
5885
5886 \begin_layout Standard
5887 This section describes the various sorts of LyX files that contain layout
5888  information.
5889  These files describe various paragraph and character styles, determining
5890  how LyX should display them and how they should be translated into LaTeX,
5891  DocBook, XHTML, or whatever output format is being used.
5892  
5893 \end_layout
5894
5895 \begin_layout Standard
5896 We shall try to provide a thorough description of the process of writing
5897  layout files here.
5898  However, there are so many different types of documents supported even
5899  by just LaTeX that we can't hope to cover every different possibility or
5900  problem you might encounter.
5901  The LyX users' list is frequented by people with lots of experience with
5902  layout design who are willing to share what they've learned, so please
5903  feel free to ask questions there.
5904 \end_layout
5905
5906 \begin_layout Standard
5907 As you prepare to write a new layout, it is extremely helpful to look at
5908  the layouts distributed with LyX.
5909  If you write a LyX layout for a LaTeX document class that might also be
5910  used by others, or write a module that might be useful to others, then
5911  you should consider posting your layout to the 
5912 \begin_inset CommandInset href
5913 LatexCommand href
5914 name "layout section on the LyX wiki"
5915 target "http://wiki.lyx.org/Layouts/Layouts"
5916
5917 \end_inset
5918
5919  or even to the LyX developers' list, so that it might be included in LyX
5920  itself.
5921 \begin_inset Foot
5922 status collapsed
5923
5924 \begin_layout Plain Layout
5925 Note that LyX is licensed under the General Public License, so any material
5926  that is contribued to LyX must be similarly licensed.
5927 \end_layout
5928
5929 \end_inset
5930
5931
5932 \end_layout
5933
5934 \begin_layout Subsection
5935 Layout modules
5936 \begin_inset CommandInset label
5937 LatexCommand label
5938 name "sub:Layout-modules"
5939
5940 \end_inset
5941
5942
5943 \end_layout
5944
5945 \begin_layout Standard
5946 We have spoken to this point about `layout files'.
5947  But there are different sorts of files that contain layout information.
5948  Layout files, strictly so called, have the 
5949 \begin_inset Flex CharStyle:Code
5950 status collapsed
5951
5952 \begin_layout Plain Layout
5953 .layout
5954 \end_layout
5955
5956 \end_inset
5957
5958  extension and provide LyX with information about document classes.
5959  As of LyX 1.6, however, layout information can also be contained in layout
5960  
5961 \emph on
5962 modules
5963 \emph default
5964 , which have the 
5965 \begin_inset Flex CharStyle:Code
5966 status collapsed
5967
5968 \begin_layout Plain Layout
5969 .module
5970 \end_layout
5971
5972 \end_inset
5973
5974  extension.
5975  Modules are to LaTeX packages much as layouts are to LaTeX classes, and
5976  some modules—such as the 
5977 \begin_inset Flex CharStyle:Code
5978 status collapsed
5979
5980 \begin_layout Plain Layout
5981 endnotes
5982 \end_layout
5983
5984 \end_inset
5985
5986  module—specifcally provide support for one package.
5987  In a sense, layout modules are similar to included
5988 \begin_inset Foot
5989 status collapsed
5990
5991 \begin_layout Plain Layout
5992 These can have any extension, but by convention have the 
5993 \begin_inset Flex CharStyle:Code
5994 status collapsed
5995
5996 \begin_layout Plain Layout
5997 .inc
5998 \end_layout
5999
6000 \end_inset
6001
6002  extension.
6003 \end_layout
6004
6005 \end_inset
6006
6007  files—files like 
6008 \begin_inset Flex CharStyle:Code
6009 status collapsed
6010
6011 \begin_layout Plain Layout
6012 stdsections.inc
6013 \end_layout
6014
6015 \end_inset
6016
6017 —in that modules are not specific to a given document class but may be used
6018  with many different classes.
6019  The difference is that using an included file with 
6020 \begin_inset Flex CharStyle:Code
6021 status collapsed
6022
6023 \begin_layout Plain Layout
6024 article.cls
6025 \end_layout
6026
6027 \end_inset
6028
6029  requires editing that file.
6030  Modules, by contrast, are selected in the 
6031 \begin_inset Flex CharStyle:MenuItem
6032 status collapsed
6033
6034 \begin_layout Plain Layout
6035 Document\SpecialChar \menuseparator
6036 Settings
6037 \end_layout
6038
6039 \end_inset
6040
6041  dialog.
6042 \end_layout
6043
6044 \begin_layout Standard
6045 Building modules is the easiest way to get started with layout editing,
6046  since it can be as simple as adding a single new paragraph style or flex
6047  inset.
6048  But modules may, in principle, contain anything a layout file can contain.
6049 \end_layout
6050
6051 \begin_layout Standard
6052 After creating a new module and copying it to the 
6053 \begin_inset Flex CharStyle:Code
6054 status collapsed
6055
6056 \begin_layout Plain Layout
6057 layout/
6058 \end_layout
6059
6060 \end_inset
6061
6062  folder, you will need to reconfigure and then restart LyX for the module
6063  to appear in the menu.
6064  However, changes you make to the module will be seen immediately, if you
6065  open 
6066 \begin_inset Flex CharStyle:MenuItem
6067 status collapsed
6068
6069 \begin_layout Plain Layout
6070 Document\SpecialChar \menuseparator
6071 Settings
6072 \end_layout
6073
6074 \end_inset
6075
6076 , highlight something, and then hit 
6077 \begin_inset Quotes eld
6078 \end_inset
6079
6080 OK
6081 \begin_inset Quotes erd
6082 \end_inset
6083
6084 .
6085  
6086 \emph on
6087 It is strongly recommended that you save your work before doing this
6088 \emph default
6089 .
6090  In fact, 
6091 \emph on
6092 it is strongly recommended that you not attempt to edit modules while simultaneo
6093 usly working on actual documents
6094 \emph default
6095 .
6096  Though of course the developers strive to keep LyX stable in such situations,
6097  syntax errors and the like in your module file could cause strange behavior.
6098 \end_layout
6099
6100 \begin_layout Subsection
6101 Layout for 
6102 \begin_inset Flex CharStyle:MenuItem
6103 status collapsed
6104
6105 \begin_layout Plain Layout
6106 .sty
6107 \end_layout
6108
6109 \end_inset
6110
6111  files
6112 \end_layout
6113
6114 \begin_layout Standard
6115 There are two situations you are likely to encounter when wanting to support
6116  a new LaTeX document class, involving LaTeX2e class (
6117 \begin_inset Flex CharStyle:Code
6118 status collapsed
6119
6120 \begin_layout Plain Layout
6121 .cls
6122 \end_layout
6123
6124 \end_inset
6125
6126 ) and style (
6127 \begin_inset Flex CharStyle:Code
6128 status collapsed
6129
6130 \begin_layout Plain Layout
6131 .sty
6132 \end_layout
6133
6134 \end_inset
6135
6136 ) files.
6137  Supporting a style file is usually fairly easy.
6138  Supporting a new class file is a bit harder.
6139  We'll discuss the former in this section and the latter in the next.
6140  Similar remarks apply, of course, if you want to support a new DocBook
6141  DTD.
6142 \end_layout
6143
6144 \begin_layout Standard
6145 The easier case is the one in which your new document class is provided
6146  as a style file that is to be used in conjunction with an already supported
6147  document class.
6148  For the sake of the example, we'll assume that the style file is called
6149  
6150 \begin_inset Flex CharStyle:MenuItem
6151 status collapsed
6152
6153 \begin_layout Plain Layout
6154 myclass.sty
6155 \end_layout
6156
6157 \end_inset
6158
6159  and that it is meant to be used with 
6160 \begin_inset Flex CharStyle:MenuItem
6161 status collapsed
6162
6163 \begin_layout Plain Layout
6164 report.cls
6165 \end_layout
6166
6167 \end_inset
6168
6169 , which is a standard class.
6170  
6171 \end_layout
6172
6173 \begin_layout Standard
6174 Start by copying the existing class's layout file into your local directory:
6175 \begin_inset Foot
6176 status collapsed
6177
6178 \begin_layout Plain Layout
6179 Of course, which directory is your local directory will vary by platform,
6180  and LyX allows you to specify your local directory on startup, too, using
6181  the 
6182 \begin_inset Flex CharStyle:Code
6183 status collapsed
6184
6185 \begin_layout Plain Layout
6186 -userdir
6187 \end_layout
6188
6189 \end_inset
6190
6191  option.
6192 \end_layout
6193
6194 \end_inset
6195
6196
6197 \end_layout
6198
6199 \begin_layout LyX-Code
6200 cp report.layout ~/.lyx/layouts/myclass.layout
6201 \end_layout
6202
6203 \begin_layout Standard
6204 Then edit 
6205 \begin_inset Flex CharStyle:Code
6206 status collapsed
6207
6208 \begin_layout Plain Layout
6209 myclass.layout
6210 \end_layout
6211
6212 \end_inset
6213
6214  and change the line: 
6215 \end_layout
6216
6217 \begin_layout LyX-Code
6218
6219 \backslash
6220 DeclareLaTeXClass{report}
6221 \end_layout
6222
6223 \begin_layout Standard
6224 to read
6225 \end_layout
6226
6227 \begin_layout LyX-Code
6228
6229 \backslash
6230 DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
6231 \end_layout
6232
6233 \begin_layout Standard
6234 Then add:
6235 \end_layout
6236
6237 \begin_layout LyX-Code
6238 Preamble 
6239 \begin_inset Newline newline
6240 \end_inset
6241
6242     
6243 \backslash
6244 usepackage{myclass}
6245 \begin_inset Newline newline
6246 \end_inset
6247
6248 EndPreamble
6249 \end_layout
6250
6251 \begin_layout Standard
6252 near the top of the file.
6253 \end_layout
6254
6255 \begin_layout Standard
6256 Start LyX and select 
6257 \begin_inset Flex CharStyle:MenuItem
6258 status collapsed
6259
6260 \begin_layout Plain Layout
6261 Tools\SpecialChar \menuseparator
6262 Reconfigure
6263 \end_layout
6264
6265 \end_inset
6266
6267 .
6268  Then restart LyX and try creating a new document.
6269  You should see "
6270 \begin_inset Flex CharStyle:MenuItem
6271 status collapsed
6272
6273 \begin_layout Plain Layout
6274 report (myclass)
6275 \end_layout
6276
6277 \end_inset
6278
6279 " as a document class option in the 
6280 \begin_inset Flex CharStyle:MenuItem
6281 status collapsed
6282
6283 \begin_layout Plain Layout
6284 Document\SpecialChar \menuseparator
6285 Settings
6286 \end_layout
6287
6288 \end_inset
6289
6290  dialog.
6291  It is likely that some of the sectioning commands and such in your new
6292  class will work differently from how they worked in the base class—
6293 \begin_inset Flex CharStyle:Code
6294 status collapsed
6295
6296 \begin_layout Plain Layout
6297 report
6298 \end_layout
6299
6300 \end_inset
6301
6302  in this example—so you can fiddle around with the settings for the different
6303  sections if you wish.
6304  The layout information for sections is contained in 
6305 \begin_inset Flex CharStyle:Code
6306 status collapsed
6307
6308 \begin_layout Plain Layout
6309 stdsections.inc
6310 \end_layout
6311
6312 \end_inset
6313
6314 , but you do not need to copy and change this file.
6315  Instead, you can simply add your changes to your layout file, after the
6316  line 
6317 \begin_inset Flex CharStyle:Code
6318 status collapsed
6319
6320 \begin_layout Plain Layout
6321 Input stdclass.inc
6322 \end_layout
6323
6324 \end_inset
6325
6326 , which itself includes 
6327 \begin_inset Flex CharStyle:Code
6328 status collapsed
6329
6330 \begin_layout Plain Layout
6331 stdsections.inc
6332 \end_layout
6333
6334 \end_inset
6335
6336 .
6337  For example, you might add these lines:
6338 \end_layout
6339
6340 \begin_layout LyX-Code
6341 Style Chapter
6342 \end_layout
6343
6344 \begin_layout LyX-Code
6345     Font
6346 \end_layout
6347
6348 \begin_layout LyX-Code
6349         Family Sans
6350 \end_layout
6351
6352 \begin_layout LyX-Code
6353     EndFont
6354 \end_layout
6355
6356 \begin_layout LyX-Code
6357 End
6358 \end_layout
6359
6360 \begin_layout Standard
6361 to change the font for chapter headings to sans-serif.
6362  This will override (or, in this case, add to) the existing declaration
6363  for the Chapter style.
6364  
6365 \end_layout
6366
6367 \begin_layout Standard
6368 Your new package may also provide commands or environments not present in
6369  the base class.
6370  In this case, you will want to add these to the layout file.
6371  See 
6372 \begin_inset CommandInset ref
6373 LatexCommand ref
6374 reference "sec:TextClass"
6375
6376 \end_inset
6377
6378  for information on how to do so.
6379 \end_layout
6380
6381 \begin_layout Standard
6382 If 
6383 \begin_inset Flex CharStyle:MenuItem
6384 status collapsed
6385
6386 \begin_layout Plain Layout
6387 myclass.sty
6388 \end_layout
6389
6390 \end_inset
6391
6392  can be used with several different document classes, and even if it cannot,
6393  you might find it easiest just to write a module that you can load with
6394  the base class.
6395  The simplest possible such module would be:
6396 \end_layout
6397
6398 \begin_layout LyX-Code
6399 #
6400 \backslash
6401 DeclareLyXModule{My Package} 
6402 \end_layout
6403
6404 \begin_layout LyX-Code
6405 #DescriptionBegin 
6406 \end_layout
6407
6408 \begin_layout LyX-Code
6409 #Support for mypkg.sty.
6410 \end_layout
6411
6412 \begin_layout LyX-Code
6413 #DescriptionEnd 
6414 \begin_inset Newline newline
6415 \end_inset
6416
6417
6418 \end_layout
6419
6420 \begin_layout LyX-Code
6421 Format 21
6422 \begin_inset Newline newline
6423 \end_inset
6424
6425
6426 \end_layout
6427
6428 \begin_layout LyX-Code
6429 Preamble
6430 \begin_inset Newline newline
6431 \end_inset
6432
6433     
6434 \backslash
6435 usepackage{mypkg}
6436 \begin_inset Newline newline
6437 \end_inset
6438
6439 EndPreamble
6440 \end_layout
6441
6442 \begin_layout Standard
6443 A more complex module might modify the behavior of some existing constructs
6444  or define some new ones.
6445  Again, see 
6446 \begin_inset CommandInset ref
6447 LatexCommand ref
6448 reference "sec:TextClass"
6449
6450 \end_inset
6451
6452  for discussion.
6453 \end_layout
6454
6455 \begin_layout Subsection
6456 Layout for 
6457 \begin_inset Flex CharStyle:MenuItem
6458 status collapsed
6459
6460 \begin_layout Plain Layout
6461 .cls
6462 \end_layout
6463
6464 \end_inset
6465
6466  files
6467 \end_layout
6468
6469 \begin_layout Standard
6470 There are two possibilities here.
6471  One is that the class file is itself based upon an existing document class.
6472  For example, many thesis classes are based upon 
6473 \begin_inset Flex CharStyle:MenuItem
6474 status collapsed
6475
6476 \begin_layout Plain Layout
6477 book.cls
6478 \end_layout
6479
6480 \end_inset
6481
6482 .
6483  To see whether yours is, look for a line like
6484 \end_layout
6485
6486 \begin_layout LyX-Code
6487
6488 \backslash
6489 LoadClass{book}
6490 \end_layout
6491
6492 \begin_layout Standard
6493 in the file.
6494  If so, then you may proceed largely as in the previous section, though
6495  the 
6496 \begin_inset Flex CharStyle:Code
6497 status collapsed
6498
6499 \begin_layout Plain Layout
6500 DeclareLaTeXClass
6501 \end_layout
6502
6503 \end_inset
6504
6505  line will be different.
6506  If your new class is 
6507 \begin_inset Flex CharStyle:Code
6508 status collapsed
6509
6510 \begin_layout Plain Layout
6511 thesis
6512 \end_layout
6513
6514 \end_inset
6515
6516  and it is based upon 
6517 \begin_inset Flex CharStyle:Code
6518 status collapsed
6519
6520 \begin_layout Plain Layout
6521 book
6522 \end_layout
6523
6524 \end_inset
6525
6526 , then the line should read:
6527 \begin_inset Foot
6528 status collapsed
6529
6530 \begin_layout Plain Layout
6531 And it will be easiest if you save the file to 
6532 \begin_inset Flex CharStyle:Code
6533 status collapsed
6534
6535 \begin_layout Plain Layout
6536 thesis.layout
6537 \end_layout
6538
6539 \end_inset
6540
6541 : LyX assumes that the document class has the same name as the layout file.
6542  
6543 \end_layout
6544
6545 \end_inset
6546
6547
6548 \end_layout
6549
6550 \begin_layout LyX-Code
6551
6552 \backslash
6553 DeclareLaTeXClass[thesis,book]{thesis}
6554 \end_layout
6555
6556 \begin_layout Standard
6557 If, on the other hand, the new class is not based upon an existing class,
6558  you will probably have to 
6559 \begin_inset Quotes eld
6560 \end_inset
6561
6562 roll your own
6563 \begin_inset Quotes erd
6564 \end_inset
6565
6566  layout.
6567  We strongly suggest copying an existing layout file which uses a similar
6568  LaTeX class and then modifying it, if you can do so.
6569  At least use an existing file as a starting point so you can find out what
6570  items you need to worry about.
6571  Again, the specifics are covered below.
6572 \end_layout
6573
6574 \begin_layout Subsection
6575 Creating templates
6576 \begin_inset CommandInset label
6577 LatexCommand label
6578 name "sub:Creating-Templates"
6579
6580 \end_inset
6581
6582
6583 \end_layout
6584
6585 \begin_layout Standard
6586 Once you have written a layout file for a new document class, you might
6587  want to consider writing a 
6588 \emph on
6589 template
6590 \emph default
6591  for it, too.
6592  A template acts as a kind of tutorial for your layout, showing how it might
6593  be used, though containing dummy content.
6594  You can of course look at the various templates included with LyX for ideas.
6595 \end_layout
6596
6597 \begin_layout Standard
6598 Templates are created just like usual documents: using LyX.
6599  The only difference is that usual documents contain all possible settings,
6600  including the font scheme and the paper size.
6601  Usually a user doesn't want a template to overwrite his preferred settings
6602  for such parameters.
6603  For that reason, the designer of a template should remove the corresponding
6604  commands like 
6605 \begin_inset Flex CharStyle:Code
6606 status collapsed
6607
6608 \begin_layout Plain Layout
6609
6610 \backslash
6611 font_roman
6612 \end_layout
6613
6614 \end_inset
6615
6616  or 
6617 \begin_inset Flex CharStyle:Code
6618 status collapsed
6619
6620 \begin_layout Plain Layout
6621
6622 \backslash
6623 papersize
6624 \end_layout
6625
6626 \end_inset
6627
6628  from the template LyX file.
6629  This can be done with any simple text-editor, for example 
6630 \begin_inset Flex CharStyle:Code
6631 status collapsed
6632
6633 \begin_layout Plain Layout
6634 vi
6635 \end_layout
6636
6637 \end_inset
6638
6639  or 
6640 \begin_inset Flex CharStyle:Code
6641 status collapsed
6642
6643 \begin_layout Plain Layout
6644 notepad
6645 \end_layout
6646
6647 \end_inset
6648
6649 .
6650  
6651 \end_layout
6652
6653 \begin_layout Standard
6654 Put the edited template files you create in 
6655 \begin_inset Flex CharStyle:Code
6656 status collapsed
6657
6658 \begin_layout Plain Layout
6659 UserDir/templates/
6660 \end_layout
6661
6662 \end_inset
6663
6664 , copy the ones you use from the global template directory in 
6665 \begin_inset Flex CharStyle:Code
6666 status collapsed
6667
6668 \begin_layout Plain Layout
6669 LyXDir/templates/
6670 \end_layout
6671
6672 \end_inset
6673
6674  to the same place, and redefine the template path in the 
6675 \begin_inset Flex CharStyle:MenuItem
6676 status collapsed
6677
6678 \begin_layout Plain Layout
6679 Tools\SpecialChar \menuseparator
6680 Preferences\SpecialChar \menuseparator
6681 Paths
6682 \end_layout
6683
6684 \end_inset
6685
6686  dialog.
6687 \end_layout
6688
6689 \begin_layout Standard
6690 Note, by the way, that there is a template which has a particular meaning:
6691  
6692 \begin_inset Flex CharStyle:Code
6693 status collapsed
6694
6695 \begin_layout Plain Layout
6696 defaults.lyx
6697 \end_layout
6698
6699 \end_inset
6700
6701 .
6702  This template is loaded every time you create a new document with 
6703 \begin_inset Flex CharStyle:MenuItem
6704 status collapsed
6705
6706 \begin_layout Plain Layout
6707 File\SpecialChar \menuseparator
6708 New
6709 \end_layout
6710
6711 \end_inset
6712
6713  in order to provide useful defaults.
6714  To create this template from inside LyX, all you have to do is to open
6715  a document with the correct settings, and use the 
6716 \begin_inset Flex CharStyle:MenuItem
6717 status collapsed
6718
6719 \begin_layout Plain Layout
6720 Save as Document Defaults
6721 \end_layout
6722
6723 \end_inset
6724
6725  button.
6726 \end_layout
6727
6728 \begin_layout Subsection
6729 Upgrading old layout files
6730 \end_layout
6731
6732 \begin_layout Standard
6733 The format of layout files changes with each LyX release, so old layout
6734  files need to be converted to the new format.
6735  This process has been automated since LyX 1.4: If LyX reads a layout file
6736  in an older format, it automatically calls the script 
6737 \begin_inset Flex CharStyle:Code
6738 status collapsed
6739
6740 \begin_layout Plain Layout
6741 layout2layout.py
6742 \end_layout
6743
6744 \end_inset
6745
6746  to convert it to a temporary file in current format.
6747  The original file is left untouched.
6748  If you use the layout file often, then, you may want to convert it permanently,
6749  so that LyX does not have to do so itself every time.
6750  To do this, you can call the converter manually:
6751 \end_layout
6752
6753 \begin_layout LyX-Code
6754 mv myclass.layout myclass.old
6755 \end_layout
6756
6757 \begin_layout LyX-Code
6758 python LyXDir/scripts/layout2layout.py myclass.old myclass.layout
6759 \end_layout
6760
6761 \begin_layout Standard
6762 You need to replace 
6763 \begin_inset Flex CharStyle:Code
6764 status collapsed
6765
6766 \begin_layout Plain Layout
6767 LyXDir
6768 \end_layout
6769
6770 \end_inset
6771
6772  with the name of your LyX system directory, of course.
6773 \end_layout
6774
6775 \begin_layout Standard
6776 Note that manual conversion does not affect included files, so these will
6777  have to be converted separately.
6778 \end_layout
6779
6780 \begin_layout Section
6781 \begin_inset CommandInset label
6782 LatexCommand label
6783 name "sec:TextClass"
6784
6785 \end_inset
6786
6787 The layout file format
6788 \end_layout
6789
6790 \begin_layout Standard
6791 When it's finally time to get your hands dirty and create or edit your own
6792  layout file, the following sections describe what you're up against.
6793  Our advice is to go slowly, save and test often, listen to soothing music,
6794  and enjoy one or two of your favorite adult beverages; more if you are
6795  getting particularly stuck.
6796  It's really not that hard, except that the multitude of options can become
6797  overwhelming if you try to do too much in one sitting.
6798  Go have another adult beverage, just for good measure.
6799 \end_layout
6800
6801 \begin_layout Standard
6802 Note that all the tags used in layout files are case-insensitive.
6803  This means that 
6804 \begin_inset Flex CharStyle:Code
6805 status collapsed
6806
6807 \begin_layout Plain Layout
6808 Style
6809 \end_layout
6810
6811 \end_inset
6812
6813
6814 \begin_inset Flex CharStyle:Code
6815 status collapsed
6816
6817 \begin_layout Plain Layout
6818 style
6819 \end_layout
6820
6821 \end_inset
6822
6823  and 
6824 \begin_inset Flex CharStyle:Code
6825 status collapsed
6826
6827 \begin_layout Plain Layout
6828 StYlE
6829 \end_layout
6830
6831 \end_inset
6832
6833  are really the same tag.
6834  The possible values are printed in brackets after the feature's name.
6835  The default value if a feature isn't specified inside a text class-description
6836  is typeset 
6837 \begin_inset Flex CharStyle:Code
6838 status collapsed
6839
6840 \begin_layout Plain Layout
6841
6842 \emph on
6843 emphasized
6844 \end_layout
6845
6846 \end_inset
6847
6848 .
6849  If the argument has a data type like 
6850 \begin_inset Quotes eld
6851 \end_inset
6852
6853 string
6854 \begin_inset Quotes erd
6855 \end_inset
6856
6857  or 
6858 \begin_inset Quotes eld
6859 \end_inset
6860
6861 float
6862 \begin_inset Quotes erd
6863 \end_inset
6864
6865 , the default is shown like this: 
6866 \begin_inset Flex CharStyle:Code
6867 status collapsed
6868
6869 \begin_layout Plain Layout
6870 float=
6871 \emph on
6872 default
6873 \end_layout
6874
6875 \end_inset
6876
6877 .
6878 \end_layout
6879
6880 \begin_layout Subsection
6881 The document class declaration
6882 \end_layout
6883
6884 \begin_layout Standard
6885 Lines in a layout file which begin with 
6886 \begin_inset Flex CharStyle:Code
6887 status collapsed
6888
6889 \begin_layout Plain Layout
6890 #
6891 \end_layout
6892
6893 \end_inset
6894
6895  are comments.
6896  There is one exception to this rule.
6897  All 
6898 \begin_inset Flex CharStyle:Code
6899 status collapsed
6900
6901 \begin_layout Plain Layout
6902 *.layout
6903 \end_layout
6904
6905 \end_inset
6906
6907  files should begin with a line like:
6908 \end_layout
6909
6910 \begin_layout LyX-Code
6911
6912 \size small
6913 #% Do not delete the line below; configure depends on this 
6914 \end_layout
6915
6916 \begin_layout LyX-Code
6917
6918 \size small
6919 #  
6920 \backslash
6921 DeclareLaTeXClass{article}
6922 \end_layout
6923
6924 \begin_layout Standard
6925 The second line is used when you (re)configure LyX.
6926  The layout file is read by the LaTeX script 
6927 \begin_inset Flex CharStyle:Code
6928 status collapsed
6929
6930 \begin_layout Plain Layout
6931 chkconfig.ltx
6932 \end_layout
6933
6934 \end_inset
6935
6936 , in a special mode where 
6937 \begin_inset Flex CharStyle:Code
6938 status collapsed
6939
6940 \begin_layout Plain Layout
6941 #
6942 \end_layout
6943
6944 \end_inset
6945
6946  is ignored.
6947  The first line is just a LaTeX comment, and the second one contains the
6948  declaration of the text class.
6949  If these lines appear in a file named 
6950 \begin_inset Flex CharStyle:Code
6951 status collapsed
6952
6953 \begin_layout Plain Layout
6954 article.layout
6955 \end_layout
6956
6957 \end_inset
6958
6959 , then they define a text class of name 
6960 \begin_inset Flex CharStyle:Code
6961 status collapsed
6962
6963 \begin_layout Plain Layout
6964 article
6965 \end_layout
6966
6967 \end_inset
6968
6969  (the name of the layout file) which uses the LaTeX document class 
6970 \begin_inset Flex CharStyle:Code
6971 status collapsed
6972
6973 \begin_layout Plain Layout
6974 article.cls
6975 \end_layout
6976
6977 \end_inset
6978
6979  (the default is to use the same name as the layout).
6980  The string 
6981 \begin_inset Quotes eld
6982 \end_inset
6983
6984 article
6985 \begin_inset Quotes erd
6986 \end_inset
6987
6988  that appears above is used as a description of the text class in the 
6989 \begin_inset Flex CharStyle:MenuItem
6990 status collapsed
6991
6992 \begin_layout Plain Layout
6993 Document\SpecialChar \menuseparator
6994 Settings
6995 \end_layout
6996
6997 \end_inset
6998
6999  dialog.
7000 \end_layout
7001
7002 \begin_layout Standard
7003 Let's assume that you wrote your own text class that uses the 
7004 \begin_inset Flex CharStyle:Code
7005 status collapsed
7006
7007 \begin_layout Plain Layout
7008 article.cls
7009 \end_layout
7010
7011 \end_inset
7012
7013  document class, but where you changed the appearance of the section headings.
7014  If you put it in a file 
7015 \begin_inset Flex CharStyle:Code
7016 status collapsed
7017
7018 \begin_layout Plain Layout
7019 myarticle.layout
7020 \end_layout
7021
7022 \end_inset
7023
7024 , the header of this file should be:
7025 \end_layout
7026
7027 \begin_layout LyX-Code
7028
7029 \size small
7030 #% Do not delete the line below; configure depends on this 
7031 \end_layout
7032
7033 \begin_layout LyX-Code
7034
7035 \size small
7036 #  
7037 \backslash
7038 DeclareLaTeXClass[article]{article (with my own headings)}
7039 \end_layout
7040
7041 \begin_layout Standard
7042 This declares a text class 
7043 \begin_inset Flex CharStyle:Code
7044 status collapsed
7045
7046 \begin_layout Plain Layout
7047 myarticle
7048 \end_layout
7049
7050 \end_inset
7051
7052 , associated with the LaTeX document class 
7053 \begin_inset Flex CharStyle:Code
7054 status collapsed
7055
7056 \begin_layout Plain Layout
7057 article.cls
7058 \end_layout
7059
7060 \end_inset
7061
7062  and described as 
7063 \begin_inset Quotes eld
7064 \end_inset
7065
7066 article (with my own headings)
7067 \begin_inset Quotes erd
7068 \end_inset
7069
7070 .
7071  If your text class depends on several packages, you can declare it as:
7072 \end_layout
7073
7074 \begin_layout LyX-Code
7075
7076 \size small
7077 #% Do not delete the line below; configure depends on this 
7078 \end_layout
7079
7080 \begin_layout LyX-Code
7081
7082 \size small
7083 #  
7084 \backslash
7085 DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
7086 \end_layout
7087
7088 \begin_layout Standard
7089 This indicates that your text class uses the 
7090 \begin_inset Flex CharStyle:Code
7091 status collapsed
7092
7093 \begin_layout Plain Layout
7094 foo.sty
7095 \end_layout
7096
7097 \end_inset
7098
7099  package.
7100  Finally, it is also possible to declare classes for DocBook code.
7101  Typical declarations will look like:
7102 \end_layout
7103
7104 \begin_layout LyX-Code
7105
7106 \size small
7107 #% Do not delete the line below; configure depends on this 
7108 \end_layout
7109
7110 \begin_layout LyX-Code
7111
7112 \size small
7113
7114 \backslash
7115 DeclareDocBookClass[article]{SGML (DocBook article)}
7116 \end_layout
7117
7118 \begin_layout Standard
7119 Note that these declarations can also be given an optional parameter declaring
7120  the name of the document class (but not a list).
7121 \end_layout
7122
7123 \begin_layout Standard
7124 So, to be as explicit as possible, the form of the layout declaration is:
7125 \end_layout
7126
7127 \begin_layout LyX-Code
7128
7129 \size small
7130 #  
7131 \backslash
7132 DeclareLaTeXClass[class,package.sty]{layout description}
7133 \end_layout
7134
7135 \begin_layout Standard
7136 The class need only be specified if the name of the LaTeX class file and
7137  the name of the layout file are different or if there are packages to load.
7138  If the name of the class file is not specified, then LyX will simply assume
7139  that it is the same as the name of the layout file.
7140 \end_layout
7141
7142 \begin_layout Standard
7143 When the text class has been modified to your taste, all you have to do
7144  is to copy it either to 
7145 \begin_inset Flex CharStyle:Code
7146 status collapsed
7147
7148 \begin_layout Plain Layout
7149 LyXDir/layouts/
7150 \end_layout
7151
7152 \end_inset
7153
7154  or to 
7155 \begin_inset Flex CharStyle:Code
7156 status collapsed
7157
7158 \begin_layout Plain Layout
7159 UserDir/layouts
7160 \end_layout
7161
7162 \end_inset
7163
7164 , run 
7165 \begin_inset Flex CharStyle:MenuItem
7166 status collapsed
7167
7168 \begin_layout Plain Layout
7169 Tools\SpecialChar \menuseparator
7170 Reconfigure
7171 \end_layout
7172
7173 \end_inset
7174
7175 , exit LyX and restart.
7176  Then your new text class should be available along with the others.
7177 \end_layout
7178
7179 \begin_layout Standard
7180 Once the layout file is installed, you can edit it and see your changes
7181  without having to reconfigure or to restart LyX.
7182  
7183 \begin_inset Foot
7184 status collapsed
7185
7186 \begin_layout Plain Layout
7187 In versions of LyX prior to 1.6, this was not true.
7188  As a result, editing layout files was very time consuming, since you had
7189  constantly to restart LyX to see changes.
7190 \end_layout
7191
7192 \end_inset
7193
7194  You can force a reload of the current layout by using the LyX function
7195  
7196 \begin_inset Flex CharStyle:MenuItem
7197 status collapsed
7198
7199 \begin_layout Plain Layout
7200 layout-reload
7201 \end_layout
7202
7203 \end_inset
7204
7205 .
7206  There is no default binding for this function—though, of course, you can
7207  bind it to a key yourself.
7208  But you will normally use this function simply by entering it in the mini-buffe
7209 r.
7210  
7211 \end_layout
7212
7213 \begin_layout Standard
7214
7215 \emph on
7216 Warning
7217 \emph default
7218
7219 \begin_inset Flex CharStyle:MenuItem
7220 status collapsed
7221
7222 \begin_layout Plain Layout
7223 layout-reload
7224 \end_layout
7225
7226 \end_inset
7227
7228  is very much an `advanced feature'.
7229  It is 
7230 \emph on
7231 strongly
7232 \emph default
7233  recommended that you save your work before using this function.
7234  In fact, it is 
7235 \emph on
7236 strongly
7237 \emph default
7238  recommended that you not attempt to edit layout information while simultaneousl
7239 y working on a document that you care about.
7240  Use a test document.
7241  Syntax errors and the like in your layout file could cause peculiar behavior.
7242  In particular, such errors could cause LyX to regard the current layout
7243  as invalid and to attempt to switch to some other layout.
7244 \begin_inset Foot
7245 status collapsed
7246
7247 \begin_layout Plain Layout
7248 Really bad syntax errors may even caused LyX to exit.
7249  This is because certain sorts of errors may make LyX unable to read 
7250 \emph on
7251 any
7252 \emph default
7253  layout information.
7254  Please be careful.
7255 \end_layout
7256
7257 \end_inset
7258
7259  The LyX team strives to keep LyX stable in such situations, but safe is
7260  better than sorry.
7261 \begin_inset Foot
7262 status collapsed
7263
7264 \begin_layout Plain Layout
7265 While we're giving advice: make regular backups.
7266  And be nice to your mother.
7267 \end_layout
7268
7269 \end_inset
7270
7271
7272 \end_layout
7273
7274 \begin_layout Subsection
7275 The Module declaration
7276 \end_layout
7277
7278 \begin_layout Standard
7279 A module must begin with a line like the following:
7280 \end_layout
7281
7282 \begin_layout LyX-Code
7283 #
7284 \backslash
7285 DeclareLyXModule[endnotes.sty]{Endnotes} 
7286 \end_layout
7287
7288 \begin_layout Standard
7289 The mandatory argument, in curly brackets, is the name of the module, as
7290  it should appear in 
7291 \begin_inset Flex CharStyle:MenuItem
7292 status collapsed
7293
7294 \begin_layout Plain Layout
7295 Document\SpecialChar \menuseparator
7296 Settings
7297 \end_layout
7298
7299 \end_inset
7300
7301 .
7302  The argument in square brackets is optional: It declares any LaTeX packages
7303  on which the module depends.
7304  Please note that only packages about which LyX knows should be listed in
7305  the square brackets.
7306 \begin_inset Foot
7307 status collapsed
7308
7309 \begin_layout Plain Layout
7310 The list of such packages is documented only in the source code.
7311 \end_layout
7312
7313 \end_inset
7314
7315  LyX will not check for arbitrary packages.
7316  It is also possible to use the form 
7317 \begin_inset Flex CharStyle:MenuItem
7318 status collapsed
7319
7320 \begin_layout Plain Layout
7321 from->to
7322 \end_layout
7323
7324 \end_inset
7325
7326  as an optional argument, which declares that the module can only be used
7327  when there exists a conversion chain between the formats `
7328 \begin_inset Flex CharStyle:Code
7329 status collapsed
7330
7331 \begin_layout Plain Layout
7332 from
7333 \end_layout
7334
7335 \end_inset
7336
7337 ' and `
7338 \begin_inset Flex CharStyle:Code
7339 status collapsed
7340
7341 \begin_layout Plain Layout
7342 to
7343 \end_layout
7344
7345 \end_inset
7346
7347 '.
7348 \end_layout
7349
7350 \begin_layout Standard
7351 The module declaration should then be followed by lines like the following:
7352 \end_layout
7353
7354 \begin_layout LyX-Code
7355 #DescriptionBegin 
7356 \end_layout
7357
7358 \begin_layout LyX-Code
7359 #Adds an endnote command, in addition to footnotes.
7360  
7361 \end_layout
7362
7363 \begin_layout LyX-Code
7364 #You will need to add  
7365 \backslash
7366 theendnotes in TeX code where you 
7367 \end_layout
7368
7369 \begin_layout LyX-Code
7370 #want the endnotes to appear.
7371  
7372 \end_layout
7373
7374 \begin_layout LyX-Code
7375 #DescriptionEnd 
7376 \end_layout
7377
7378 \begin_layout LyX-Code
7379 #Requires: somemodule | othermodule
7380 \end_layout
7381
7382 \begin_layout LyX-Code
7383 #Excludes: badmodule
7384 \end_layout
7385
7386 \begin_layout Standard
7387 The description is used in 
7388 \begin_inset Flex CharStyle:MenuItem
7389 status collapsed
7390
7391 \begin_layout Plain Layout
7392 Document\SpecialChar \menuseparator
7393 Settings
7394 \end_layout
7395
7396 \end_inset
7397
7398  to provide the user with information about what the module does.
7399  The 
7400 \begin_inset Flex CharStyle:Code
7401 status collapsed
7402
7403 \begin_layout Plain Layout
7404 Requires
7405 \end_layout
7406
7407 \end_inset
7408
7409  line is used to identify other modules with which this one must be used;
7410  the 
7411 \begin_inset Flex CharStyle:Code
7412 status collapsed
7413
7414 \begin_layout Plain Layout
7415 Excludes
7416 \end_layout
7417
7418 \end_inset
7419
7420  line is used to identify modules with which this one may not be used.
7421  Both are optional, and, as shown, multiple modules should be separated
7422  with the pipe symbol: |.
7423  Note that the required modules are treated disjunctively: 
7424 \emph on
7425 at least one
7426 \emph default
7427  of the required modules must be used.
7428  Similarly, 
7429 \emph on
7430 no
7431 \emph default
7432  excluded module may be used.
7433  Note that modules are identified here by their 
7434 \emph on
7435 filenames
7436 \emph default
7437  without the 
7438 \begin_inset Flex CharStyle:Code
7439 status collapsed
7440
7441 \begin_layout Plain Layout
7442 .module
7443 \end_layout
7444
7445 \end_inset
7446
7447  extension.
7448  So 
7449 \begin_inset Flex CharStyle:Code
7450 status collapsed
7451
7452 \begin_layout Plain Layout
7453 somemodule
7454 \end_layout
7455
7456 \end_inset
7457
7458  is really 
7459 \begin_inset Flex CharStyle:Code
7460 status collapsed
7461
7462 \begin_layout Plain Layout
7463 somemodule.module
7464 \end_layout
7465
7466 \end_inset
7467
7468 .
7469 \end_layout
7470
7471 \begin_layout Subsection
7472 File format
7473 \end_layout
7474
7475 \begin_layout Standard
7476 The first non-comment line of any layout file, included file, or module
7477  
7478 \emph on
7479 must
7480 \emph default
7481  contain the file format number:
7482 \end_layout
7483
7484 \begin_layout Description
7485 \begin_inset Flex CharStyle:Code
7486 status collapsed
7487
7488 \begin_layout Plain Layout
7489 Format
7490 \end_layout
7491
7492 \end_inset
7493
7494  [
7495 \begin_inset Flex CharStyle:Code
7496 status collapsed
7497
7498 \begin_layout Plain Layout
7499 int
7500 \end_layout
7501
7502 \end_inset
7503
7504 ] The format of the layout file.
7505 \end_layout
7506
7507 \begin_layout Standard
7508 This tag was introduced with LyX 1.4.0.
7509  Layout files from LyX 1.3.x and earlier don't have an explicit file format
7510  and are considered to be of format 1.
7511  The format for the present version of LyX is format 21.
7512  But each version of LyX is capable of reading earlier versions' layout
7513  files, just as they are capable of reading files produced by earlier versions
7514  of LyX.
7515  There is, however, no provision for converting to earlier formats.
7516  So LyX 1.6.x will not read layout files in format 21 but only files in format
7517  11 or earlier.
7518 \end_layout
7519
7520 \begin_layout Subsection
7521 \begin_inset CommandInset label
7522 LatexCommand label
7523 name "sub:General-text-class"
7524
7525 \end_inset
7526
7527 General text class parameters
7528 \end_layout
7529
7530 \begin_layout Standard
7531 These are general parameters that govern the behavior of an entire document
7532  class.
7533  (This does 
7534 \emph on
7535 not
7536 \emph default
7537  mean that they must appear in 
7538 \begin_inset Flex CharStyle:Code
7539 status collapsed
7540
7541 \begin_layout Plain Layout
7542 .layout
7543 \end_layout
7544
7545 \end_inset
7546
7547  files rather than in modules.
7548  A module can contain any layout tag.)
7549 \end_layout
7550
7551 \begin_layout Description
7552 \begin_inset Flex CharStyle:Code
7553 status collapsed
7554
7555 \begin_layout Plain Layout
7556 AddToHTMLPreamble
7557 \end_layout
7558
7559 \end_inset
7560
7561  Adds information that will be output in the 
7562 \begin_inset Flex CharStyle:Code
7563 status collapsed
7564
7565 \begin_layout Plain Layout
7566 <head>
7567 \end_layout
7568
7569 \end_inset
7570
7571  block when this document class is output to XHTML.
7572  Typically, this would be used to output CSS style information, but it can
7573  be used for anything that can appear in 
7574 \begin_inset Flex CharStyle:Code
7575 status collapsed
7576
7577 \begin_layout Plain Layout
7578 <head>
7579 \end_layout
7580
7581 \end_inset
7582
7583 .
7584  Must end with 
7585 \begin_inset Quotes eld
7586 \end_inset
7587
7588
7589 \begin_inset Flex CharStyle:Code
7590 status collapsed
7591
7592 \begin_layout Plain Layout
7593 EndPreamble
7594 \end_layout
7595
7596 \end_inset
7597
7598
7599 \begin_inset Quotes erd
7600 \end_inset
7601
7602 .
7603 \end_layout
7604
7605 \begin_layout Description
7606 \begin_inset Flex CharStyle:Code
7607 status collapsed
7608
7609 \begin_layout Plain Layout
7610 AddToPreamble
7611 \end_layout
7612
7613 \end_inset
7614
7615  Adds information to the document preamble.
7616  Must end with 
7617 \begin_inset Quotes eld
7618 \end_inset
7619
7620
7621 \begin_inset Flex CharStyle:Code
7622 status collapsed
7623
7624 \begin_layout Plain Layout
7625 EndPreamble
7626 \end_layout
7627
7628 \end_inset
7629
7630
7631 \begin_inset Quotes erd
7632 \end_inset
7633
7634 .
7635 \end_layout
7636
7637 \begin_layout Description
7638 \begin_inset Flex CharStyle:Code
7639 status collapsed
7640
7641 \begin_layout Plain Layout
7642 CiteFormat
7643 \end_layout
7644
7645 \end_inset
7646
7647  Defines formats for use in the display of bibliographic information.
7648  See Section 
7649 \begin_inset CommandInset ref
7650 LatexCommand ref
7651 reference "sub:Citation-format-description"
7652
7653 \end_inset
7654
7655  for details.
7656  Must end with 
7657 \begin_inset Quotes eld
7658 \end_inset
7659
7660
7661 \begin_inset Flex CharStyle:Code
7662 status collapsed
7663
7664 \begin_layout Plain Layout
7665 End
7666 \end_layout
7667
7668 \end_inset
7669
7670
7671 \begin_inset Quotes erd
7672 \end_inset
7673
7674 .
7675 \end_layout
7676
7677 \begin_layout Description
7678 \begin_inset Flex CharStyle:Code
7679 status collapsed
7680
7681 \begin_layout Plain Layout
7682 ClassOptions
7683 \end_layout
7684
7685 \end_inset
7686
7687  Describes various global options supported by the document class.
7688  See Section
7689 \begin_inset space ~
7690 \end_inset
7691
7692
7693 \begin_inset CommandInset ref
7694 LatexCommand ref
7695 reference "sub:ClassOptions"
7696
7697 \end_inset
7698
7699  for a description.
7700  Must end with 
7701 \begin_inset Quotes eld
7702 \end_inset
7703
7704
7705 \begin_inset Flex CharStyle:Code
7706 status collapsed
7707
7708 \begin_layout Plain Layout
7709 End
7710 \end_layout
7711
7712 \end_inset
7713
7714
7715 \begin_inset Quotes erd
7716 \end_inset
7717
7718 .
7719 \end_layout
7720
7721 \begin_layout Description
7722 \begin_inset Flex CharStyle:Code
7723 status collapsed
7724
7725 \begin_layout Plain Layout
7726 Columns
7727 \end_layout
7728
7729 \end_inset
7730
7731  [
7732 \begin_inset Flex CharStyle:Code
7733 status collapsed
7734
7735 \begin_layout Plain Layout
7736
7737 \emph on
7738 1
7739 \end_layout
7740
7741 \end_inset
7742
7743
7744 \begin_inset Flex CharStyle:Code
7745 status collapsed
7746
7747 \begin_layout Plain Layout
7748 2
7749 \end_layout
7750
7751 \end_inset
7752
7753 ] Whether the class should 
7754 \emph on
7755 default
7756 \emph default
7757  to having one or two columns.
7758  Can be changed in the 
7759 \begin_inset Flex CharStyle:MenuItem
7760 status collapsed
7761
7762 \begin_layout Plain Layout
7763 Document\SpecialChar \menuseparator
7764 Settings
7765 \end_layout
7766
7767 \end_inset
7768
7769  dialog.
7770 \end_layout
7771
7772 \begin_layout Description
7773 \begin_inset Flex CharStyle:Code
7774 status collapsed
7775
7776 \begin_layout Plain Layout
7777 Counter
7778 \end_layout
7779
7780 \end_inset
7781
7782  [
7783 \begin_inset Flex CharStyle:Code
7784 status collapsed
7785
7786 \begin_layout Plain Layout
7787 string
7788 \end_layout
7789
7790 \end_inset
7791
7792 ] This sequence defines the properties for a counter.
7793  If the counter does not yet exist, it is created; if it does exist, it
7794  is modified.
7795  Must end with 
7796 \begin_inset Quotes eld
7797 \end_inset
7798
7799
7800 \begin_inset Flex CharStyle:Code
7801 status collapsed
7802
7803 \begin_layout Plain Layout
7804 End
7805 \end_layout
7806
7807 \end_inset
7808
7809
7810 \begin_inset Quotes erd
7811 \end_inset
7812
7813 .
7814 \begin_inset Newline newline
7815 \end_inset
7816
7817 See Section
7818 \begin_inset space ~
7819 \end_inset
7820
7821
7822 \begin_inset CommandInset ref
7823 LatexCommand ref
7824 reference "sub:Counters"
7825
7826 \end_inset
7827
7828  for details on counters.
7829 \end_layout
7830
7831 \begin_layout Description
7832 \begin_inset Flex CharStyle:Code
7833 status collapsed
7834
7835 \begin_layout Plain Layout
7836 DefaultFont
7837 \end_layout
7838
7839 \end_inset
7840
7841  Sets the default font used to display the document.
7842  See Section
7843 \begin_inset space ~
7844 \end_inset
7845
7846
7847 \begin_inset CommandInset ref
7848 LatexCommand ref
7849 reference "sub:Font-description"
7850
7851 \end_inset
7852
7853  for how to declare fonts.
7854  Must end with 
7855 \begin_inset Quotes eld
7856 \end_inset
7857
7858
7859 \begin_inset Flex CharStyle:Code
7860 status collapsed
7861
7862 \begin_layout Plain Layout
7863 EndFont
7864 \end_layout
7865
7866 \end_inset
7867
7868
7869 \begin_inset Quotes erd
7870 \end_inset
7871
7872 .
7873 \end_layout
7874
7875 \begin_layout Description
7876 \begin_inset Flex CharStyle:Code
7877 status collapsed
7878
7879 \begin_layout Plain Layout
7880 DefaultModule
7881 \end_layout
7882
7883 \end_inset
7884
7885  [
7886 \begin_inset Flex CharStyle:Code
7887 status collapsed
7888
7889 \begin_layout Plain Layout
7890 string]
7891 \end_layout
7892
7893 \end_inset
7894
7895  Specifies a module to be included by default with this document class.
7896  The module should be specified by filename without the 
7897 \begin_inset Flex CharStyle:Code
7898 status collapsed
7899
7900 \begin_layout Plain Layout
7901 .module
7902 \end_layout
7903
7904 \end_inset
7905
7906  extension.
7907  The user can still remove the module, but it will be active at the outset.
7908  (This applies only when new files are created, or when this class is chosen
7909  for an existing document.)
7910 \end_layout
7911
7912 \begin_layout Description
7913 \begin_inset Flex CharStyle:Code
7914 status collapsed
7915
7916 \begin_layout Plain Layout
7917 DefaultStyle
7918 \end_layout
7919
7920 \end_inset
7921
7922  [
7923 \begin_inset Flex CharStyle:Code
7924 status collapsed
7925
7926 \begin_layout Plain Layout
7927 string
7928 \end_layout
7929
7930 \end_inset
7931
7932 ] This is the style that will be assigned to new paragraphs, usually 
7933 \begin_inset Flex CharStyle:MenuItem
7934 status collapsed
7935
7936 \begin_layout Plain Layout
7937 Standard
7938 \end_layout
7939
7940 \end_inset
7941
7942 .
7943  This will default to the first defined style if not given, but you are
7944  encouraged to use this directive.
7945 \end_layout
7946
7947 \begin_layout Description
7948 \begin_inset Flex CharStyle:Code
7949 status collapsed
7950
7951 \begin_layout Plain Layout
7952 ExcludesModule
7953 \end_layout
7954
7955 \end_inset
7956
7957  [
7958 \begin_inset Flex CharStyle:Code
7959 status collapsed
7960
7961 \begin_layout Plain Layout
7962 string
7963 \end_layout
7964
7965 \end_inset
7966
7967 ] This tag indicates that the module in question—which should be specified
7968  by filename without the 
7969 \begin_inset Flex CharStyle:Code
7970 status collapsed
7971
7972 \begin_layout Plain Layout
7973 .module
7974 \end_layout
7975
7976 \end_inset
7977
7978  extension—cannot be used with this document class.
7979  This might be used in a journal-specific layout file to prevent, say, the
7980  use of the 
7981 \begin_inset Flex CharStyle:Code
7982 status collapsed
7983
7984 \begin_layout Plain Layout
7985 theorems-sec
7986 \end_layout
7987
7988 \end_inset
7989
7990  module that numbers theorems by section.
7991  This tag may 
7992 \emph on
7993 not
7994 \emph default
7995  be used in a module.
7996  Modules have their own way of excluding other modules (see 
7997 \begin_inset CommandInset ref
7998 LatexCommand ref
7999 reference "sub:Layout-modules"
8000
8001 \end_inset
8002
8003 ).
8004 \end_layout
8005
8006 \begin_layout Description
8007 \begin_inset Flex CharStyle:Code
8008 status collapsed
8009
8010 \begin_layout Plain Layout
8011 Float
8012 \end_layout
8013
8014 \end_inset
8015
8016  Defines a new float.
8017  See Section
8018 \begin_inset space ~
8019 \end_inset
8020
8021
8022 \begin_inset CommandInset ref
8023 LatexCommand ref
8024 reference "sub:Floats"
8025
8026 \end_inset
8027
8028  for details.
8029  Must end with 
8030 \begin_inset Quotes eld
8031 \end_inset
8032
8033
8034 \begin_inset Flex CharStyle:Code
8035 status collapsed
8036
8037 \begin_layout Plain Layout
8038 End
8039 \end_layout
8040
8041 \end_inset
8042
8043
8044 \begin_inset Quotes erd
8045 \end_inset
8046
8047 .
8048 \end_layout
8049
8050 \begin_layout Description
8051 \begin_inset Flex CharStyle:Code
8052 status collapsed
8053
8054 \begin_layout Plain Layout
8055 HTMLPreamble
8056 \end_layout
8057
8058 \end_inset
8059
8060  Sets the information that will be output in the 
8061 \begin_inset Flex CharStyle:Code
8062 status collapsed
8063
8064 \begin_layout Plain Layout
8065 <head>
8066 \end_layout
8067
8068 \end_inset
8069
8070  block when this document class is output to XHTML.
8071  Note that this will completely override any prior 
8072 \begin_inset Flex CharStyle:Code
8073 status collapsed
8074
8075 \begin_layout Plain Layout
8076 HTMLPreamble
8077 \end_layout
8078
8079 \end_inset
8080
8081  or 
8082 \begin_inset Flex CharStyle:Code
8083 status collapsed
8084
8085 \begin_layout Plain Layout
8086 AddToHTMLPreamble
8087 \end_layout
8088
8089 \end_inset
8090
8091  declarations.
8092  (Use 
8093 \begin_inset Flex CharStyle:Code
8094 status collapsed
8095
8096 \begin_layout Plain Layout
8097 AddToHTMLPreamble
8098 \end_layout
8099
8100 \end_inset
8101
8102  if you just want to add material to the preamble.) Must end with 
8103 \begin_inset Quotes eld
8104 \end_inset
8105
8106
8107 \begin_inset Flex CharStyle:Code
8108 status collapsed
8109
8110 \begin_layout Plain Layout
8111 EndPreamble
8112 \end_layout
8113
8114 \end_inset
8115
8116
8117 \begin_inset Quotes erd
8118 \end_inset
8119
8120 .
8121 \end_layout
8122
8123 \begin_layout Description
8124 \begin_inset Flex CharStyle:Code
8125 status collapsed
8126
8127 \begin_layout Plain Layout
8128 HTMLTOCSection
8129 \end_layout
8130
8131 \end_inset
8132
8133  [
8134 \begin_inset Flex CharStyle:Code
8135 status collapsed
8136
8137 \begin_layout Plain Layout
8138 string
8139 \end_layout
8140
8141 \end_inset
8142
8143 ] The layout to use for the table of contents, bibliography, and so forth,
8144  when the document is output to HTML.
8145  For articles, this should normally be Section; for books, Chapter.
8146  If it is not given, then LyX will attempt to figure out which layout to
8147  use.
8148 \end_layout
8149
8150 \begin_layout Description
8151 \begin_inset Flex CharStyle:Code
8152 status collapsed
8153
8154 \begin_layout Plain Layout
8155 IfCounter
8156 \end_layout
8157
8158 \end_inset
8159
8160  [
8161 \begin_inset Flex CharStyle:Code
8162 status collapsed
8163
8164 \begin_layout Plain Layout
8165 string
8166 \end_layout
8167
8168 \end_inset
8169
8170 ] Modifies the properties of the given counter.
8171  If the counter does not exist, the section is ignored.
8172  Must end with 
8173 \begin_inset Quotes eld
8174 \end_inset
8175
8176
8177 \begin_inset Flex CharStyle:Code
8178 status collapsed
8179
8180 \begin_layout Plain Layout
8181 End
8182 \end_layout
8183
8184 \end_inset
8185
8186
8187 \begin_inset Quotes erd
8188 \end_inset
8189
8190 .
8191 \begin_inset Newline newline
8192 \end_inset
8193
8194 See Section
8195 \begin_inset space ~
8196 \end_inset
8197
8198
8199 \begin_inset CommandInset ref
8200 LatexCommand ref
8201 reference "sub:Counters"
8202
8203 \end_inset
8204
8205  for details on counters.
8206 \end_layout
8207
8208 \begin_layout Description
8209 \begin_inset Flex CharStyle:Code
8210 status collapsed
8211
8212 \begin_layout Plain Layout
8213 IfStyle
8214 \end_layout
8215
8216 \end_inset
8217
8218  [
8219 \begin_inset Flex CharStyle:Code
8220 status collapsed
8221
8222 \begin_layout Plain Layout
8223 string
8224 \end_layout
8225
8226 \end_inset
8227
8228 ] Modifies the properties of the given paragraph style.
8229  If the style does not exist, the section is ignored.
8230  Must end with 
8231 \begin_inset Quotes eld
8232 \end_inset
8233
8234
8235 \begin_inset Flex CharStyle:Code
8236 status collapsed
8237
8238 \begin_layout Plain Layout
8239 End
8240 \end_layout
8241
8242 \end_inset
8243
8244
8245 \begin_inset Quotes erd
8246 \end_inset
8247
8248 .
8249 \end_layout
8250
8251 \begin_layout Description
8252 \begin_inset Flex CharStyle:Code
8253 status collapsed
8254
8255 \begin_layout Plain Layout
8256 Input
8257 \end_layout
8258
8259 \end_inset
8260
8261  As its name implies, this command allows you to include another layout
8262  definition file within yours to avoid duplicating commands.
8263  Common examples are the standard layout files, for example, 
8264 \begin_inset Flex CharStyle:Code
8265 status collapsed
8266
8267 \begin_layout Plain Layout
8268 stdclass.inc
8269 \end_layout
8270
8271 \end_inset
8272
8273 , which contains most of the basic layouts.
8274 \end_layout
8275
8276 \begin_layout Description
8277 \begin_inset Flex CharStyle:Code
8278 status collapsed
8279
8280 \begin_layout Plain Layout
8281 InsetLayout
8282 \end_layout
8283
8284 \end_inset
8285
8286  This section (re-)defines the layout of an inset.
8287  It can be applied to an existing inset or to a new, user-defined inset,
8288  e.g., a new character style.
8289  Must end with 
8290 \begin_inset Quotes eld
8291 \end_inset
8292
8293
8294 \begin_inset Flex CharStyle:Code
8295 status collapsed
8296
8297 \begin_layout Plain Layout
8298 End
8299 \end_layout
8300
8301 \end_inset
8302
8303
8304 \begin_inset Quotes erd
8305 \end_inset
8306
8307 .
8308 \begin_inset Newline newline
8309 \end_inset
8310
8311 See Section
8312 \begin_inset space ~
8313 \end_inset
8314
8315
8316 \begin_inset CommandInset ref
8317 LatexCommand ref
8318 reference "sub:Flex-insets-and"
8319
8320 \end_inset
8321
8322  for more information.
8323  
8324 \end_layout
8325
8326 \begin_layout Description
8327 \begin_inset Flex CharStyle:Code
8328 status collapsed
8329
8330 \begin_layout Plain Layout
8331 LeftMargin
8332 \end_layout
8333
8334 \end_inset
8335
8336  [
8337 \begin_inset Flex CharStyle:Code
8338 status collapsed
8339
8340 \begin_layout Plain Layout
8341 string
8342 \end_layout
8343
8344 \end_inset
8345
8346 ] A string that indicates the width of the left margin on the screen, for
8347  example, 
8348 \begin_inset Quotes eld
8349 \end_inset
8350
8351 MMMMM
8352 \begin_inset Quotes erd
8353 \end_inset
8354
8355 .
8356  (Note that this is not a `length', like 
8357 \begin_inset Quotes eld
8358 \end_inset
8359
8360 2ex
8361 \begin_inset Quotes erd
8362 \end_inset
8363
8364 .)
8365 \end_layout
8366
8367 \begin_layout Description
8368 \begin_inset Flex CharStyle:Code
8369 status collapsed
8370
8371 \begin_layout Plain Layout
8372 NoFloat
8373 \end_layout
8374
8375 \end_inset
8376
8377  This command deletes an existing float.
8378  This is particularly useful when you want to suppress a float that has
8379  been defined in an input file.
8380 \end_layout
8381
8382 \begin_layout Description
8383 \begin_inset Flex CharStyle:Code
8384 status collapsed
8385
8386 \begin_layout Plain Layout
8387 NoStyle
8388 \end_layout
8389
8390 \end_inset
8391
8392  This command deletes an existing style.
8393  This is particularly useful when you want to suppress a style that has
8394  be defined in an input file.
8395 \end_layout
8396
8397 \begin_layout Description
8398 \begin_inset Flex CharStyle:Code
8399 status collapsed
8400
8401 \begin_layout Plain Layout
8402 OutputFormat
8403 \end_layout
8404
8405 \end_inset
8406
8407  A string indicating the file format (as defined in the Preferences dialog)
8408  produced by this class.
8409  It is mainly useful when 
8410 \begin_inset Flex CharStyle:Code
8411 status collapsed
8412
8413 \begin_layout Plain Layout
8414 OutputType
8415 \end_layout
8416
8417 \end_inset
8418
8419  is `literate' and one wants to define a new type of literate document.
8420  This string is reset to `docbook', `latex', or `literate' when the correspondin
8421
8422 \begin_inset Flex CharStyle:Code
8423 status collapsed
8424
8425 \begin_layout Plain Layout
8426 OutputType
8427 \end_layout
8428
8429 \end_inset
8430
8431  parameter is encountered.
8432 \end_layout
8433
8434 \begin_layout Description
8435 \begin_inset Flex CharStyle:Code
8436 status collapsed
8437
8438 \begin_layout Plain Layout
8439 OutputType
8440 \end_layout
8441
8442 \end_inset
8443
8444  A string indicating what sort of output documents using this class will
8445  produce.
8446  At present, the options are: `docbook', `latex', and `literate'.
8447 \end_layout
8448
8449 \begin_layout Description
8450 \begin_inset Flex CharStyle:Code
8451 status collapsed
8452
8453 \begin_layout Plain Layout
8454 PageStyle
8455 \end_layout
8456
8457 \end_inset
8458
8459  [
8460 \begin_inset Flex CharStyle:Code
8461 status collapsed
8462
8463 \begin_layout Plain Layout
8464
8465 \emph on
8466 plain
8467 \end_layout
8468
8469 \end_inset
8470
8471
8472 \begin_inset Flex CharStyle:Code
8473 status collapsed
8474
8475 \begin_layout Plain Layout
8476 empty
8477 \end_layout
8478
8479 \end_inset
8480
8481
8482 \begin_inset Flex CharStyle:Code
8483 status collapsed
8484
8485 \begin_layout Plain Layout
8486 headings
8487 \end_layout
8488
8489 \end_inset
8490
8491 ] The default pagestyle.
8492  Can be changed in the 
8493 \begin_inset Flex CharStyle:MenuItem
8494 status collapsed
8495
8496 \begin_layout Plain Layout
8497 Document\SpecialChar \menuseparator
8498 Settings
8499 \end_layout
8500
8501 \end_inset
8502
8503  dialog.
8504 \end_layout
8505
8506 \begin_layout Description
8507 \begin_inset Flex CharStyle:Code
8508 status collapsed
8509
8510 \begin_layout Plain Layout
8511 Preamble
8512 \end_layout
8513
8514 \end_inset
8515
8516  Sets the preamble for the LaTeX document.
8517  Note that this will completely override any prior 
8518 \begin_inset Flex CharStyle:Code
8519 status collapsed
8520
8521 \begin_layout Plain Layout
8522 Preamble
8523 \end_layout
8524
8525 \end_inset
8526
8527  or 
8528 \begin_inset Flex CharStyle:Code
8529 status collapsed
8530
8531 \begin_layout Plain Layout
8532 AddToPreamble
8533 \end_layout
8534
8535 \end_inset
8536
8537  declarations.
8538  (Use 
8539 \begin_inset Flex CharStyle:Code
8540 status collapsed
8541
8542 \begin_layout Plain Layout
8543 AddToPreamble
8544 \end_layout
8545
8546 \end_inset
8547
8548  if you just want to add material to the preamble.) Must end with 
8549 \begin_inset Quotes eld
8550 \end_inset
8551
8552
8553 \begin_inset Flex CharStyle:Code
8554 status collapsed
8555
8556 \begin_layout Plain Layout
8557 EndPreamble
8558 \end_layout
8559
8560 \end_inset
8561
8562
8563 \begin_inset Quotes erd
8564 \end_inset
8565
8566 .
8567 \end_layout
8568
8569 \begin_layout Description
8570 \begin_inset Flex CharStyle:Code
8571 status collapsed
8572
8573 \begin_layout Plain Layout
8574 Provides
8575 \end_layout
8576
8577 \end_inset
8578
8579  [
8580 \begin_inset Flex CharStyle:Code
8581 status collapsed
8582
8583 \begin_layout Plain Layout
8584 string
8585 \end_layout
8586
8587 \end_inset
8588
8589 ] [
8590 \begin_inset Flex CharStyle:Code
8591 status collapsed
8592
8593 \begin_layout Plain Layout
8594
8595 \emph on
8596 0
8597 \end_layout
8598
8599 \end_inset
8600
8601
8602 \begin_inset Flex CharStyle:Code
8603 status collapsed
8604
8605 \begin_layout Plain Layout
8606 1
8607 \end_layout
8608
8609 \end_inset
8610
8611 ] Whether the class already provides the feature 
8612 \begin_inset Flex CharStyle:Code
8613 status collapsed
8614
8615 \begin_layout Plain Layout
8616 string
8617 \end_layout
8618
8619 \end_inset
8620
8621 .
8622  A feature is in general the name of a package (
8623 \begin_inset Flex CharStyle:Code
8624 status collapsed
8625
8626 \begin_layout Plain Layout
8627 amsmath
8628 \end_layout
8629
8630 \end_inset
8631
8632
8633 \begin_inset Flex CharStyle:Code
8634 status collapsed
8635
8636 \begin_layout Plain Layout
8637 makeidx
8638 \end_layout
8639
8640 \end_inset
8641
8642 , \SpecialChar \ldots{}
8643 ) or a macro (
8644 \begin_inset Flex CharStyle:Code
8645 status collapsed
8646
8647 \begin_layout Plain Layout
8648 url
8649 \end_layout
8650
8651 \end_inset
8652
8653
8654 \begin_inset Flex CharStyle:Code
8655 status collapsed
8656
8657 \begin_layout Plain Layout
8658 boldsymbol
8659 \end_layout
8660
8661 \end_inset
8662
8663 ,\SpecialChar \ldots{}
8664 ); the complete list of supported features is unfortunately not documented
8665  outside the LyX source code—but see 
8666 \begin_inset Flex CharStyle:Code
8667 status collapsed
8668
8669 \begin_layout Plain Layout
8670 LaTeXFeatures.cpp
8671 \end_layout
8672
8673 \end_inset
8674
8675  if you're interested.
8676  
8677 \begin_inset Flex CharStyle:MenuItem
8678 status collapsed
8679
8680 \begin_layout Plain Layout
8681 Help\SpecialChar \menuseparator
8682 LaTeX Configuration
8683 \end_layout
8684
8685 \end_inset
8686
8687  also gives an overview of the supported packages.
8688 \end_layout
8689
8690 \begin_layout Description
8691 \begin_inset Flex CharStyle:Code
8692 status collapsed
8693
8694 \begin_layout Plain Layout
8695 ProvidesModule
8696 \end_layout
8697
8698 \end_inset
8699
8700  [
8701 \begin_inset Flex CharStyle:Code
8702 status collapsed
8703
8704 \begin_layout Plain Layout
8705 string
8706 \end_layout
8707
8708 \end_inset
8709
8710 ] Indicates that this layout provides the functionality of the module mentioned,
8711  which should be specified by the filename without the 
8712 \begin_inset Flex CharStyle:Code
8713 status collapsed
8714
8715 \begin_layout Plain Layout
8716 .module
8717 \end_layout
8718
8719 \end_inset
8720
8721  extension.
8722  This will typically be used if the layout includes the module directly,
8723  rather than using the 
8724 \begin_inset Flex CharStyle:Code
8725 status collapsed
8726
8727 \begin_layout Plain Layout
8728 DefaultModule
8729 \end_layout
8730
8731 \end_inset
8732
8733  tag to indicate that it ought to be used.
8734  It could also be used in a module that provided an alternate implementation
8735  of the same functionality.
8736 \end_layout
8737
8738 \begin_layout Description
8739 \begin_inset Flex CharStyle:Code
8740 status collapsed
8741
8742 \begin_layout Plain Layout
8743 Requires
8744 \end_layout
8745
8746 \end_inset
8747
8748  [
8749 \begin_inset Flex CharStyle:Code
8750 status collapsed
8751
8752 \begin_layout Plain Layout
8753 string
8754 \end_layout
8755
8756 \end_inset
8757
8758 ] Whether the class requires the feature 
8759 \begin_inset Flex CharStyle:Code
8760 status collapsed
8761
8762 \begin_layout Plain Layout
8763 string
8764 \end_layout
8765
8766 \end_inset
8767
8768 .
8769  Multiple features must be separated by commas.
8770  Note that you can only request supported features.
8771  (Again, see 
8772 \begin_inset Flex CharStyle:Code
8773 status collapsed
8774
8775 \begin_layout Plain Layout
8776 LaTeXFeatures.cpp
8777 \end_layout
8778
8779 \end_inset
8780
8781  for a list of these.)
8782 \end_layout
8783
8784 \begin_layout Description
8785 \begin_inset Flex CharStyle:Code
8786 status collapsed
8787
8788 \begin_layout Plain Layout
8789 RightMargin
8790 \end_layout
8791
8792 \end_inset
8793
8794  A string that indicates the width of the right margin on the screen, for
8795  example, 
8796 \begin_inset Quotes eld
8797 \end_inset
8798
8799 MMMMM
8800 \begin_inset Quotes erd
8801 \end_inset
8802
8803 .
8804 \end_layout
8805
8806 \begin_layout Description
8807 \begin_inset Flex CharStyle:Code
8808 status collapsed
8809
8810 \begin_layout Plain Layout
8811 SecNumDepth
8812 \end_layout
8813
8814 \end_inset
8815
8816  Sets which divisions get numbered.
8817  Corresponds to the 
8818 \begin_inset Flex CharStyle:Code
8819 status collapsed
8820
8821 \begin_layout Plain Layout
8822 secnumdepth
8823 \end_layout
8824
8825 \end_inset
8826
8827  counter in LaTeX.
8828 \end_layout
8829
8830 \begin_layout Description
8831 \begin_inset Flex CharStyle:Code
8832 status collapsed
8833
8834 \begin_layout Plain Layout
8835 Sides
8836 \end_layout
8837
8838 \end_inset
8839
8840  [
8841 \begin_inset Flex CharStyle:Code
8842 status collapsed
8843
8844 \begin_layout Plain Layout
8845
8846 \emph on
8847 1
8848 \end_layout
8849
8850 \end_inset
8851
8852
8853 \begin_inset Flex CharStyle:Code
8854 status collapsed
8855
8856 \begin_layout Plain Layout
8857 2
8858 \end_layout
8859
8860 \end_inset
8861
8862 ] Whether the class-default should be printing on one or both sides of the
8863  paper.
8864  Can be changed in the 
8865 \begin_inset Flex CharStyle:MenuItem
8866 status collapsed
8867
8868 \begin_layout Plain Layout
8869 Document\SpecialChar \menuseparator
8870 Settings
8871 \end_layout
8872
8873 \end_inset
8874
8875  dialog.
8876 \end_layout
8877
8878 \begin_layout Description
8879 \begin_inset Flex CharStyle:Code
8880 status collapsed
8881
8882 \begin_layout Plain Layout
8883 Style
8884 \end_layout
8885
8886 \end_inset
8887
8888  This sequence defines a paragraph style.
8889  If the style does not yet exist, it is created; if it does exist, its parameter
8890 s are modified.
8891  Must end with 
8892 \begin_inset Quotes eld
8893 \end_inset
8894
8895
8896 \begin_inset Flex CharStyle:Code
8897 status collapsed
8898
8899 \begin_layout Plain Layout
8900 End
8901 \end_layout
8902
8903 \end_inset
8904
8905
8906 \begin_inset Quotes erd
8907 \end_inset
8908
8909 .
8910 \begin_inset Newline newline
8911 \end_inset
8912
8913 See Section
8914 \begin_inset space ~
8915 \end_inset
8916
8917
8918 \begin_inset CommandInset ref
8919 LatexCommand ref
8920 reference "sub:Paragraph-Styles"
8921
8922 \end_inset
8923
8924  for details on paragraph styles.
8925 \end_layout
8926
8927 \begin_layout Description
8928 \begin_inset Flex CharStyle:Code
8929 status collapsed
8930
8931 \begin_layout Plain Layout
8932 TitleLatexName
8933 \end_layout
8934
8935 \end_inset
8936
8937  [
8938 \begin_inset Flex CharStyle:Code
8939 status collapsed
8940
8941 \begin_layout Plain Layout
8942 string="maketitle"
8943 \end_layout
8944
8945 \end_inset
8946
8947 ] The name of the command or environment to be used with 
8948 \begin_inset Flex CharStyle:Code
8949 status collapsed
8950
8951 \begin_layout Plain Layout
8952 TitleLatexType
8953 \end_layout
8954
8955 \end_inset
8956
8957 .
8958 \end_layout
8959
8960 \begin_layout Description
8961 \begin_inset Flex CharStyle:Code
8962 status collapsed
8963
8964 \begin_layout Plain Layout
8965 TitleLatexType
8966 \end_layout
8967
8968 \end_inset
8969
8970  [
8971 \begin_inset Flex CharStyle:Code
8972 status collapsed
8973
8974 \begin_layout Plain Layout
8975
8976 \emph on
8977 CommandAfter
8978 \end_layout
8979
8980 \end_inset
8981
8982
8983 \begin_inset Flex CharStyle:Code
8984 status collapsed
8985
8986 \begin_layout Plain Layout
8987 Environment
8988 \end_layout
8989
8990 \end_inset
8991
8992 ] Indicates what kind of markup is used to define the title of a document.
8993  
8994 \begin_inset Flex CharStyle:Code
8995 status collapsed
8996
8997 \begin_layout Plain Layout
8998 CommandAfter
8999 \end_layout
9000
9001 \end_inset
9002
9003  means that the macro with name 
9004 \begin_inset Flex CharStyle:Code
9005 status collapsed
9006
9007 \begin_layout Plain Layout
9008 TitleLatexName
9009 \end_layout
9010
9011 \end_inset
9012
9013  will be inserted after the last layout which has 
9014 \begin_inset Quotes eld
9015 \end_inset
9016
9017
9018 \begin_inset Flex CharStyle:Code
9019 status collapsed
9020
9021 \begin_layout Plain Layout
9022 InTitle 1
9023 \end_layout
9024
9025 \end_inset
9026
9027
9028 \begin_inset Quotes erd
9029 \end_inset
9030
9031 .
9032  
9033 \begin_inset Flex CharStyle:Code
9034 status collapsed
9035
9036 \begin_layout Plain Layout
9037 Environment
9038 \end_layout
9039
9040 \end_inset
9041
9042  corresponds to the case where the block of paragraphs which have 
9043 \begin_inset Quotes eld
9044 \end_inset
9045
9046
9047 \begin_inset Flex CharStyle:Code
9048 status collapsed
9049
9050 \begin_layout Plain Layout
9051 InTitle 1
9052 \end_layout
9053
9054 \end_inset
9055
9056
9057 \begin_inset Quotes erd
9058 \end_inset
9059
9060  should be enclosed into the 
9061 \begin_inset Flex CharStyle:Code
9062 status collapsed
9063
9064 \begin_layout Plain Layout
9065 TitleLatexName
9066 \end_layout
9067
9068 \end_inset
9069
9070  environment.
9071 \end_layout
9072
9073 \begin_layout Description
9074 \begin_inset Flex CharStyle:Code
9075 status collapsed
9076
9077 \begin_layout Plain Layout
9078 TocDepth
9079 \end_layout
9080
9081 \end_inset
9082
9083  Sets which divisions are included in the table of contents.
9084  Corresponds to the 
9085 \begin_inset Flex CharStyle:Code
9086 status collapsed
9087
9088 \begin_layout Plain Layout
9089 tocdepth
9090 \end_layout
9091
9092 \end_inset
9093
9094  counter in LaTeX.
9095 \end_layout
9096
9097 \begin_layout Subsection
9098 \begin_inset Flex CharStyle:Code
9099 status collapsed
9100
9101 \begin_layout Plain Layout
9102 ClassOptions
9103 \end_layout
9104
9105 \end_inset
9106
9107  section
9108 \begin_inset CommandInset label
9109 LatexCommand label
9110 name "sub:ClassOptions"
9111
9112 \end_inset
9113
9114
9115 \end_layout
9116
9117 \begin_layout Standard
9118 The 
9119 \begin_inset Flex CharStyle:Code
9120 status collapsed
9121
9122 \begin_layout Plain Layout
9123 ClassOptions
9124 \end_layout
9125
9126 \end_inset
9127
9128  section can contain the following entries:
9129 \end_layout
9130
9131 \begin_layout Description
9132 \begin_inset Flex CharStyle:Code
9133 status collapsed
9134
9135 \begin_layout Plain Layout
9136 FontSize
9137 \end_layout
9138
9139 \end_inset
9140
9141  [
9142 \begin_inset Flex CharStyle:Code
9143 status collapsed
9144
9145 \begin_layout Plain Layout
9146 string="10|11|12"
9147 \end_layout
9148
9149 \end_inset
9150
9151 ] The list of available font sizes for the document's main font, separated
9152  by 
9153 \begin_inset Quotes eld
9154 \end_inset
9155
9156
9157 \begin_inset Flex CharStyle:Code
9158 status collapsed
9159
9160 \begin_layout Plain Layout
9161 |
9162 \end_layout
9163
9164 \end_inset
9165
9166
9167 \begin_inset Quotes erd
9168 \end_inset
9169
9170 .
9171 \end_layout
9172
9173 \begin_layout Description
9174 \begin_inset Flex CharStyle:Code
9175 status collapsed
9176
9177 \begin_layout Plain Layout
9178 Header
9179 \end_layout
9180
9181 \end_inset
9182
9183  Used to set the DTD line with XML-based output classes.
9184  E.
9185 \begin_inset space \thinspace{}
9186 \end_inset
9187
9188 g.: PUBLIC 
9189 \begin_inset Quotes eld
9190 \end_inset
9191
9192 -//OASIS//DTD DocBook V4.2//EN
9193 \begin_inset Quotes erd
9194 \end_inset
9195
9196 .
9197 \end_layout
9198
9199 \begin_layout Description
9200 \begin_inset Flex CharStyle:Code
9201 status collapsed
9202
9203 \begin_layout Plain Layout
9204 PageStyle
9205 \end_layout
9206
9207 \end_inset
9208
9209  [
9210 \begin_inset Flex CharStyle:Code
9211 status collapsed
9212
9213 \begin_layout Plain Layout
9214 string="empty|plain|headings|fancy"
9215 \end_layout
9216
9217 \end_inset
9218
9219 ] The list of available page styles, separated by 
9220 \begin_inset Quotes eld
9221 \end_inset
9222
9223
9224 \begin_inset Flex CharStyle:Code
9225 status collapsed
9226
9227 \begin_layout Plain Layout
9228 |
9229 \end_layout
9230
9231 \end_inset
9232
9233
9234 \begin_inset Quotes erd
9235 \end_inset
9236
9237 .
9238 \end_layout
9239
9240 \begin_layout Description
9241 \begin_inset Flex CharStyle:Code
9242 status collapsed
9243
9244 \begin_layout Plain Layout
9245 Other
9246 \end_layout
9247
9248 \end_inset
9249
9250  [
9251 \begin_inset Flex CharStyle:Code
9252 status collapsed
9253
9254 \begin_layout Plain Layout
9255 string=""
9256 \end_layout
9257
9258 \end_inset
9259
9260 ] Some document class options, separated by a comma, that will be added
9261  to the optional part of the 
9262 \begin_inset Flex CharStyle:Code
9263 status collapsed
9264
9265 \begin_layout Plain Layout
9266
9267 \backslash
9268 documentclass
9269 \end_layout
9270
9271 \end_inset
9272
9273  command.
9274 \end_layout
9275
9276 \begin_layout Standard
9277 The 
9278 \begin_inset Flex CharStyle:Code
9279 status collapsed
9280
9281 \begin_layout Plain Layout
9282 ClassOptions
9283 \end_layout
9284
9285 \end_inset
9286
9287  section must end with 
9288 \begin_inset Quotes eld
9289 \end_inset
9290
9291
9292 \begin_inset Flex CharStyle:Code
9293 status collapsed
9294
9295 \begin_layout Plain Layout
9296 End
9297 \end_layout
9298
9299 \end_inset
9300
9301
9302 \begin_inset Quotes erd
9303 \end_inset
9304
9305 .
9306 \end_layout
9307
9308 \begin_layout Subsection
9309 Paragraph styles
9310 \begin_inset CommandInset label
9311 LatexCommand label
9312 name "sub:Paragraph-Styles"
9313
9314 \end_inset
9315
9316
9317 \end_layout
9318
9319 \begin_layout Standard
9320 A paragraph style description looks like this:
9321 \begin_inset Foot
9322 status collapsed
9323
9324 \begin_layout Plain Layout
9325 Note that this will either define a new layout or modify an existing one.
9326 \end_layout
9327
9328 \end_inset
9329
9330
9331 \end_layout
9332
9333 \begin_layout LyX-Code
9334 Style 
9335 \family roman
9336 \emph on
9337 name
9338 \end_layout
9339
9340 \begin_layout LyX-Code
9341  ...
9342 \end_layout
9343
9344 \begin_layout LyX-Code
9345 End
9346 \end_layout
9347
9348 \begin_layout Standard
9349 where the following commands are allowed:
9350 \end_layout
9351
9352 \begin_layout Description
9353 \begin_inset Flex CharStyle:Code
9354 status collapsed
9355
9356 \begin_layout Plain Layout
9357 Align
9358 \end_layout
9359
9360 \end_inset
9361
9362  [
9363 \begin_inset Flex CharStyle:Code
9364 status collapsed
9365
9366 \begin_layout Plain Layout
9367
9368 \emph on
9369 block
9370 \emph default
9371 , left, right, center
9372 \end_layout
9373
9374 \end_inset
9375
9376 ] Paragraph alignment.
9377 \end_layout
9378
9379 \begin_layout Description
9380 \begin_inset Flex CharStyle:Code
9381 status collapsed
9382
9383 \begin_layout Plain Layout
9384 AlignPossible
9385 \end_layout
9386
9387 \end_inset
9388
9389  [
9390 \begin_inset Flex CharStyle:Code
9391 status collapsed
9392
9393 \begin_layout Plain Layout
9394
9395 \emph on
9396 block
9397 \emph default
9398 , left, right, center
9399 \end_layout
9400
9401 \end_inset
9402
9403 ] A comma separated list of permitted alignments.
9404  (Some LaTeX styles prohibit certain alignments, since those wouldn't make
9405  sense.
9406  For example a right-aligned or centered enumeration isn't possible.)
9407 \end_layout
9408
9409 \begin_layout Description
9410 \begin_inset Flex CharStyle:Code
9411 status collapsed
9412
9413 \begin_layout Plain Layout
9414 BabelPreamble
9415 \end_layout
9416
9417 \end_inset
9418
9419  Note that this will completely override any prior 
9420 \begin_inset Flex CharStyle:Code
9421 status collapsed
9422
9423 \begin_layout Plain Layout
9424 BabelPreamble
9425 \end_layout
9426
9427 \end_inset
9428
9429  declaration for this style.
9430  Must end with 
9431 \begin_inset Quotes eld
9432 \end_inset
9433
9434
9435 \begin_inset Flex CharStyle:Code
9436 status collapsed
9437
9438 \begin_layout Plain Layout
9439 EndBabelPreamble
9440 \end_layout
9441
9442 \end_inset
9443
9444
9445 \begin_inset Quotes erd
9446 \end_inset
9447
9448 .
9449  See section 
9450 \begin_inset CommandInset ref
9451 LatexCommand ref
9452 reference "sub:I18n"
9453
9454 \end_inset
9455
9456  for details on its use.
9457 \end_layout
9458
9459 \begin_layout Description
9460 \begin_inset Flex CharStyle:Code
9461 status collapsed
9462
9463 \begin_layout Plain Layout
9464 BottomSep
9465 \end_layout
9466
9467 \end_inset
9468
9469  [
9470 \begin_inset Flex CharStyle:Code
9471 status collapsed
9472
9473 \begin_layout Plain Layout
9474 float=0
9475 \end_layout
9476
9477 \end_inset
9478
9479 ]
9480 \begin_inset Foot
9481 status collapsed
9482
9483 \begin_layout Plain Layout
9484 Note that a `float' here is a real number, such as: 1.5.
9485 \end_layout
9486
9487 \end_inset
9488
9489  The vertical space with which the last of a chain of paragraphs with this
9490  layout is separated from the following paragraph.
9491  If the next paragraph has another layout, the separations are not simply
9492  added, but the maximum is taken.
9493 \end_layout
9494
9495 \begin_layout Description
9496 \begin_inset Flex CharStyle:Code
9497 status collapsed
9498
9499 \begin_layout Plain Layout
9500 Category
9501 \end_layout
9502
9503 \end_inset
9504
9505  
9506 \begin_inset Flex CharStyle:Code
9507 status collapsed
9508
9509 \begin_layout Plain Layout
9510 [string]
9511 \end_layout
9512
9513 \end_inset
9514
9515  The category for this style.
9516  This is used to group related styles in the Layout combobox on the toolbar.
9517  Any string can be used, but you may want to use existing categories with
9518  your own styles.
9519  
9520 \end_layout
9521
9522 \begin_layout Description
9523 \begin_inset Flex CharStyle:Code
9524 status collapsed
9525
9526 \begin_layout Plain Layout
9527 CommandDepth
9528 \end_layout
9529
9530 \end_inset
9531
9532  Depth of XML command.
9533  Used only with XML-type formats.
9534 \end_layout
9535
9536 \begin_layout Description
9537 \begin_inset Flex CharStyle:Code
9538 status collapsed
9539
9540 \begin_layout Plain Layout
9541 CopyStyle
9542 \end_layout
9543
9544 \end_inset
9545
9546  
9547 \begin_inset CommandInset label
9548 LatexCommand label
9549 name "des:CopyStyle"
9550
9551 \end_inset
9552
9553
9554 \begin_inset Flex CharStyle:Code
9555 status collapsed
9556
9557 \begin_layout Plain Layout
9558 [string]
9559 \end_layout
9560
9561 \end_inset
9562
9563  Copies all the features of an existing style into the current one.
9564  
9565 \end_layout
9566
9567 \begin_layout Description
9568 \begin_inset Flex CharStyle:Code
9569 status collapsed
9570
9571 \begin_layout Plain Layout
9572 DependsOn
9573 \end_layout
9574
9575 \end_inset
9576
9577  The name of a style whose preamble should be output 
9578 \emph on
9579 before
9580 \emph default
9581  this one.
9582  This allows to ensure some ordering of the preamble snippets when macros
9583  definitions depend on one another.
9584 \begin_inset Foot
9585 status collapsed
9586
9587 \begin_layout Plain Layout
9588 Note that, besides that functionality, there is no way to ensure any ordering
9589  of preambles.
9590  The ordering that you see in a given version of LyX may change without
9591  warning in later versions.
9592 \end_layout
9593
9594 \end_inset
9595
9596
9597 \end_layout
9598
9599 \begin_layout Description
9600 \begin_inset Flex CharStyle:Code
9601 status collapsed
9602
9603 \begin_layout Plain Layout
9604 EndLabeltype
9605 \end_layout
9606
9607 \end_inset
9608
9609  [
9610 \begin_inset Flex CharStyle:Code
9611 status collapsed
9612
9613 \begin_layout Plain Layout
9614
9615 \emph on
9616 No_Label
9617 \emph default
9618 , Box, Filled_Box, Static
9619 \end_layout
9620
9621 \end_inset
9622
9623 ] The type of label that stands at the end of the paragraph (or sequence
9624  of paragraphs if 
9625 \begin_inset Flex CharStyle:Code
9626 status collapsed
9627
9628 \begin_layout Plain Layout
9629 LatexType
9630 \end_layout
9631
9632 \end_inset
9633
9634  is 
9635 \begin_inset Flex CharStyle:Code
9636 status collapsed
9637
9638 \begin_layout Plain Layout
9639 Environment
9640 \end_layout
9641
9642 \end_inset
9643
9644
9645 \begin_inset Flex CharStyle:Code
9646 status collapsed
9647
9648 \begin_layout Plain Layout
9649 Item_Environment
9650 \end_layout
9651
9652 \end_inset
9653
9654  or 
9655 \begin_inset Flex CharStyle:Code
9656 status collapsed
9657
9658 \begin_layout Plain Layout
9659 List_Environment
9660 \end_layout
9661
9662 \end_inset
9663
9664 ).
9665  
9666 \begin_inset Flex CharStyle:Code
9667 status collapsed
9668
9669 \begin_layout Plain Layout
9670 No_Label
9671 \end_layout
9672
9673 \end_inset
9674
9675  means 
9676 \begin_inset Quotes eld
9677 \end_inset
9678
9679 nothing
9680 \begin_inset Quotes erd
9681 \end_inset
9682
9683
9684 \begin_inset Flex CharStyle:Code
9685 status collapsed
9686
9687 \begin_layout Plain Layout
9688 Box
9689 \end_layout
9690
9691 \end_inset
9692
9693  (resp.
9694 \begin_inset Flex CharStyle:Code
9695 status collapsed
9696
9697 \begin_layout Plain Layout
9698 \begin_inset space ~
9699 \end_inset
9700
9701 Filled_Box
9702 \end_layout
9703
9704 \end_inset
9705
9706 ) is a white (resp.
9707 \begin_inset space ~
9708 \end_inset
9709
9710 black) square suitable for end of proof markers, 
9711 \begin_inset Flex CharStyle:Code
9712 status collapsed
9713
9714 \begin_layout Plain Layout
9715 Static
9716 \end_layout
9717
9718 \end_inset
9719
9720  is an explicit text string.
9721 \end_layout
9722
9723 \begin_layout Description
9724 \begin_inset Flex CharStyle:Code
9725 status collapsed
9726
9727 \begin_layout Plain Layout
9728 EndLabelString
9729 \end_layout
9730
9731 \end_inset
9732
9733  [
9734 \begin_inset Flex CharStyle:Code
9735 status collapsed
9736
9737 \begin_layout Plain Layout
9738 string=""
9739 \end_layout
9740
9741 \end_inset
9742
9743 ] The string used for a label with a 
9744 \begin_inset Flex CharStyle:Code
9745 status collapsed
9746
9747 \begin_layout Plain Layout
9748 Static
9749 \end_layout
9750
9751 \end_inset
9752
9753  
9754 \begin_inset Flex CharStyle:Code
9755 status collapsed
9756
9757 \begin_layout Plain Layout
9758 EndLabelType
9759 \end_layout
9760
9761 \end_inset
9762
9763 .
9764  
9765 \end_layout
9766
9767 \begin_layout Description
9768 \begin_inset Flex CharStyle:Code
9769 status collapsed
9770
9771 \begin_layout Plain Layout
9772 Fill_Bottom
9773 \end_layout
9774
9775 \end_inset
9776
9777  [
9778 \begin_inset Flex CharStyle:Code
9779 status collapsed
9780
9781 \begin_layout Plain Layout
9782
9783 \emph on
9784 0
9785 \emph default
9786 ,1
9787 \end_layout
9788
9789 \end_inset
9790
9791 ] Similar to 
9792 \begin_inset Flex CharStyle:Code
9793 status collapsed
9794
9795 \begin_layout Plain Layout
9796 Fill_Top
9797 \end_layout
9798
9799 \end_inset
9800
9801 .
9802 \end_layout
9803
9804 \begin_layout Description
9805 \begin_inset Flex CharStyle:Code
9806 status collapsed
9807
9808 \begin_layout Plain Layout
9809 Fill_Top
9810 \end_layout
9811
9812 \end_inset
9813
9814  [
9815 \begin_inset Flex CharStyle:Code
9816 status collapsed
9817
9818 \begin_layout Plain Layout
9819
9820 \emph on
9821 0
9822 \emph default
9823 ,1
9824 \end_layout
9825
9826 \end_inset
9827
9828 ] With this parameter the 
9829 \begin_inset Flex CharStyle:MenuItem
9830 status collapsed
9831
9832 \begin_layout Plain Layout
9833 Fill
9834 \end_layout
9835
9836 \end_inset
9837
9838  value of the 
9839 \begin_inset Quotes eld
9840 \end_inset
9841
9842 Vertical space above
9843 \begin_inset Quotes erd
9844 \end_inset
9845
9846  list of the 
9847 \begin_inset Flex CharStyle:MenuItem
9848 status collapsed
9849
9850 \begin_layout Plain Layout
9851 Edit\SpecialChar \menuseparator
9852 Paragraph
9853 \begin_inset space ~
9854 \end_inset
9855
9856 Settings
9857 \end_layout
9858
9859 \end_inset
9860
9861  dialog can be set when initializing a paragraph with this style.
9862 \begin_inset Foot
9863 status collapsed
9864
9865 \begin_layout Plain Layout
9866
9867 \emph on
9868 Note from Jean-Marc:
9869 \emph default
9870  I'm not sure that this setting has much use, and it should probably be
9871  removed in later versions.
9872 \end_layout
9873
9874 \end_inset
9875
9876  
9877 \end_layout
9878
9879 \begin_layout Description
9880 \begin_inset Flex CharStyle:Code
9881 status collapsed
9882
9883 \begin_layout Plain Layout
9884 Font
9885 \end_layout
9886
9887 \end_inset
9888
9889  The font used for both the text body 
9890 \emph on
9891 and
9892 \emph default
9893  the label.
9894  See section
9895 \begin_inset space ~
9896 \end_inset
9897
9898
9899 \begin_inset CommandInset ref
9900 LatexCommand ref
9901 reference "sub:Font-description"
9902
9903 \end_inset
9904
9905 .
9906  Note that defining this font automatically defines the 
9907 \begin_inset Flex CharStyle:Code
9908 status collapsed
9909
9910 \begin_layout Plain Layout
9911 LabelFont
9912 \end_layout
9913
9914 \end_inset
9915
9916  to the same value.
9917  So you should define this one first if you also want to define 
9918 \begin_inset Flex CharStyle:Code
9919 status collapsed
9920
9921 \begin_layout Plain Layout
9922 LabelFont
9923 \end_layout
9924
9925 \end_inset
9926
9927 .
9928 \end_layout
9929
9930 \begin_layout Description
9931 \begin_inset Flex CharStyle:Code
9932 status collapsed
9933
9934 \begin_layout Plain Layout
9935 FreeSpacing
9936 \end_layout
9937
9938 \end_inset
9939
9940  
9941 \begin_inset CommandInset label
9942 LatexCommand label
9943 name "des:FreeSpacing"
9944
9945 \end_inset
9946
9947 [
9948 \begin_inset Flex CharStyle:Code
9949 status collapsed
9950
9951 \begin_layout Plain Layout
9952
9953 \emph on
9954 0
9955 \end_layout
9956
9957 \end_inset
9958
9959
9960 \begin_inset Flex CharStyle:Code
9961 status collapsed
9962
9963 \begin_layout Plain Layout
9964 1
9965 \end_layout
9966
9967 \end_inset
9968
9969 ] Usually LyX doesn't allow you to insert more than one space between words,
9970  since a space is considered as the separation between two words, not a
9971  character or symbol of its own.
9972  This is a very fine thing but sometimes annoying, for example, when typing
9973  program code or plain LaTeX code.
9974  For this reason, 
9975 \begin_inset Flex CharStyle:Code
9976 status collapsed
9977
9978 \begin_layout Plain Layout
9979 FreeSpacing
9980 \end_layout
9981
9982 \end_inset
9983
9984  can be enabled.
9985  Note that LyX will create protected blanks for the additional blanks when
9986  in another mode than LaTeX-mode.
9987 \end_layout
9988
9989 \begin_layout Description
9990 \begin_inset Flex CharStyle:Code
9991 status collapsed
9992
9993 \begin_layout Plain Layout
9994 HTML*
9995 \end_layout
9996
9997 \end_inset
9998
9999  These tags are used with XHTML output.
10000  See 
10001 \begin_inset CommandInset ref
10002 LatexCommand ref
10003 reference "sub:Paragraph-Style-XHTML"
10004
10005 \end_inset
10006
10007 .
10008 \end_layout
10009
10010 \begin_layout Description
10011 \begin_inset Flex CharStyle:Code
10012 status collapsed
10013
10014 \begin_layout Plain Layout
10015 InnerTag
10016 \end_layout
10017
10018 \end_inset
10019
10020  [[FIXME]] (Used only with XML-type formats.)
10021 \end_layout
10022
10023 \begin_layout Description
10024 \begin_inset Flex CharStyle:Code
10025 status collapsed
10026
10027 \begin_layout Plain Layout
10028 InPreamble
10029 \end_layout
10030
10031 \end_inset
10032
10033  
10034 \begin_inset Flex CharStyle:Code
10035 status collapsed
10036
10037 \begin_layout Plain Layout
10038 [1, 0]
10039 \end_layout
10040
10041 \end_inset
10042
10043  If 1, marks the layout as to be included in the document preamble rather
10044  than in the document body.
10045  This is useful for document classes that want such information as the title
10046  and author to appear in the preamble.
10047  Note that this works only for layouts for which the 
10048 \begin_inset Flex CharStyle:Code
10049 status collapsed
10050
10051 \begin_layout Plain Layout
10052 LatexType
10053 \end_layout
10054
10055 \end_inset
10056
10057  is 
10058 \begin_inset Flex CharStyle:Code
10059 status collapsed
10060
10061 \begin_layout Plain Layout
10062 Command
10063 \end_layout
10064
10065 \end_inset
10066
10067 .
10068 \end_layout
10069
10070 \begin_layout Description
10071 \begin_inset Flex CharStyle:Code
10072 status collapsed
10073
10074 \begin_layout Plain Layout
10075 InTitle
10076 \end_layout
10077
10078 \end_inset
10079
10080  
10081 \begin_inset Flex CharStyle:Code
10082 status collapsed
10083
10084 \begin_layout Plain Layout
10085 [1, 0]
10086 \end_layout
10087
10088 \end_inset
10089
10090  If 1, marks the layout as being part of a title block (see also the 
10091 \begin_inset Flex CharStyle:Code
10092 status collapsed
10093
10094 \begin_layout Plain Layout
10095 TitleLatexType
10096 \end_layout
10097
10098 \end_inset
10099
10100  and 
10101 \begin_inset Flex CharStyle:Code
10102 status collapsed
10103
10104 \begin_layout Plain Layout
10105 TitleLatexName
10106 \end_layout
10107
10108 \end_inset
10109
10110  global entries).
10111 \end_layout
10112
10113 \begin_layout Description
10114 \begin_inset Flex CharStyle:Code
10115 status collapsed
10116
10117 \begin_layout Plain Layout
10118 ItemSep
10119 \end_layout
10120
10121 \end_inset
10122
10123  [
10124 \begin_inset Flex CharStyle:Code
10125 status collapsed
10126
10127 \begin_layout Plain Layout
10128 float=0
10129 \end_layout
10130
10131 \end_inset
10132
10133 ] This provides extra space between paragraphs that have the same layout.
10134  If you put other layouts into an environment, each is separated with the
10135  environment's 
10136 \begin_inset Flex CharStyle:Code
10137 status collapsed
10138
10139 \begin_layout Plain Layout
10140 Parsep
10141 \end_layout
10142
10143 \end_inset
10144
10145 .
10146  But the whole items of the environment are additionally separated with
10147  this 
10148 \begin_inset Flex CharStyle:Code
10149 status collapsed
10150
10151 \begin_layout Plain Layout
10152 Itemsep
10153 \end_layout
10154
10155 \end_inset
10156
10157 .
10158  Note that this is a
10159 \emph on
10160  multiplier.
10161 \end_layout
10162
10163 \begin_layout Description
10164 \begin_inset Flex CharStyle:Code
10165 status collapsed
10166
10167 \begin_layout Plain Layout
10168 ItemTag
10169 \end_layout
10170
10171 \end_inset
10172
10173  [[FIXME]] (Used only with XML-type formats.)
10174 \end_layout
10175
10176 \begin_layout Description
10177 \begin_inset Flex CharStyle:Code
10178 status collapsed
10179
10180 \begin_layout Plain Layout
10181 KeepEmpty
10182 \end_layout
10183
10184 \end_inset
10185
10186  
10187 \begin_inset CommandInset label
10188 LatexCommand label
10189 name "des:KeepEmpty"
10190
10191 \end_inset
10192
10193 [
10194 \begin_inset Flex CharStyle:Code
10195 status collapsed
10196
10197 \begin_layout Plain Layout
10198
10199 \emph on
10200 0
10201 \end_layout
10202
10203 \end_inset
10204
10205
10206 \begin_inset Flex CharStyle:Code
10207 status collapsed
10208
10209 \begin_layout Plain Layout
10210 1
10211 \end_layout
10212
10213 \end_inset
10214
10215 ] Usually LyX does not allow you to leave a paragraph empty, since it would
10216  lead to empty LaTeX output.
10217  There are some cases where this could be desirable however: in a letter
10218  template, the required fields can be provided as empty fields, so that
10219  people do not forget them; in some special classes, a layout can be used
10220  as some kind of break, which does not contain actual text.
10221 \end_layout
10222
10223 \begin_layout Description
10224 \begin_inset Flex CharStyle:Code
10225 status collapsed
10226
10227 \begin_layout Plain Layout
10228 LabelBottomsep
10229 \end_layout
10230
10231 \end_inset
10232
10233  [float=0] The vertical space between the label and the text body.
10234  Only used for labels that are above the text body (
10235 \begin_inset Flex CharStyle:Code
10236 status collapsed
10237
10238 \begin_layout Plain Layout
10239 Top_Environment
10240 \end_layout
10241
10242 \end_inset
10243
10244
10245 \begin_inset Flex CharStyle:Code
10246 status collapsed
10247
10248 \begin_layout Plain Layout
10249 Centered_Top_Environment
10250 \end_layout
10251
10252 \end_inset
10253
10254 ).
10255 \end_layout
10256
10257 \begin_layout Description
10258 \begin_inset Flex CharStyle:Code
10259 status collapsed
10260
10261 \begin_layout Plain Layout
10262 LabelCounter
10263 \end_layout
10264
10265 \end_inset
10266
10267  [
10268 \begin_inset Flex CharStyle:Code
10269 status collapsed
10270
10271 \begin_layout Plain Layout
10272 string=""
10273 \end_layout
10274
10275 \end_inset
10276
10277 ]
10278 \begin_inset Newline newline
10279 \end_inset
10280
10281 The name of the counter for automatic numbering.
10282  
10283 \begin_inset Newline newline
10284 \end_inset
10285
10286 This 
10287 \emph on
10288 must
10289 \emph default
10290  be given if 
10291 \begin_inset Flex CharStyle:Code
10292 status collapsed
10293
10294 \begin_layout Plain Layout
10295 LabelType
10296 \end_layout
10297
10298 \end_inset
10299
10300  is 
10301 \begin_inset Flex CharStyle:Code
10302 status collapsed
10303
10304 \begin_layout Plain Layout
10305 Counter
10306 \end_layout
10307
10308 \end_inset
10309
10310 .
10311  In that case, the counter will be stepped each time the layout appears.
10312  
10313 \begin_inset Newline newline
10314 \end_inset
10315
10316 This 
10317 \emph on
10318 may
10319 \emph default
10320  also be given if 
10321 \begin_inset Flex CharStyle:Code
10322 status collapsed
10323
10324 \begin_layout Plain Layout
10325 LabelType
10326 \end_layout
10327
10328 \end_inset
10329
10330  is 
10331 \begin_inset Flex CharStyle:Code
10332 status collapsed
10333
10334 \begin_layout Plain Layout
10335 Enumerate
10336 \end_layout
10337
10338 \end_inset
10339
10340 , though this case is a bit complicated.
10341  Suppose you declare 
10342 \begin_inset Quotes eld
10343 \end_inset
10344
10345
10346 \begin_inset Flex CharStyle:Code
10347 status collapsed
10348
10349 \begin_layout Plain Layout
10350 LabelCounter myenum
10351 \end_layout
10352
10353 \end_inset
10354
10355
10356 \begin_inset Quotes erd
10357 \end_inset
10358
10359 .
10360  Then the actual counters used are 
10361 \begin_inset Flex CharStyle:Code
10362 status collapsed
10363
10364 \begin_layout Plain Layout
10365 myenumi
10366 \end_layout
10367
10368 \end_inset
10369
10370
10371 \begin_inset Flex CharStyle:Code
10372 status collapsed
10373
10374 \begin_layout Plain Layout
10375 myenumii
10376 \end_layout
10377
10378 \end_inset
10379
10380
10381 \begin_inset Flex CharStyle:Code
10382 status collapsed
10383
10384 \begin_layout Plain Layout
10385 myenumiii
10386 \end_layout
10387
10388 \end_inset
10389
10390 , and 
10391 \begin_inset Flex CharStyle:Code
10392 status collapsed
10393
10394 \begin_layout Plain Layout
10395 myenumiv
10396 \end_layout
10397
10398 \end_inset
10399
10400 , much as in LaTeX.
10401  These counters must all be declared separately.
10402 \begin_inset Newline newline
10403 \end_inset
10404
10405 See Section 
10406 \begin_inset CommandInset ref
10407 LatexCommand ref
10408 reference "sub:Counters"
10409
10410 \end_inset
10411
10412  for details on counters.
10413 \end_layout
10414
10415 \begin_layout Description
10416 \begin_inset Flex CharStyle:Code
10417 status collapsed
10418
10419 \begin_layout Plain Layout
10420 LabelFont
10421 \end_layout
10422
10423 \end_inset
10424
10425  The font used for the label.
10426  See section
10427 \begin_inset space ~
10428 \end_inset
10429
10430
10431 \begin_inset CommandInset ref
10432 LatexCommand ref
10433 reference "sub:Font-description"
10434
10435 \end_inset
10436
10437 .
10438 \end_layout
10439
10440 \begin_layout Description
10441 \begin_inset Flex CharStyle:Code
10442 status collapsed
10443
10444 \begin_layout Plain Layout
10445 LabelIndent
10446 \end_layout
10447
10448 \end_inset
10449
10450  Text that indicates how far a label should be indented.
10451 \end_layout
10452
10453 \begin_layout Description
10454 \begin_inset Flex CharStyle:Code
10455 status collapsed
10456
10457 \begin_layout Plain Layout
10458 Labelsep
10459 \end_layout
10460
10461 \end_inset
10462
10463  [
10464 \begin_inset Flex CharStyle:Code
10465 status collapsed
10466
10467 \begin_layout Plain Layout
10468 string=""
10469 \end_layout
10470
10471 \end_inset
10472
10473 ] The horizontal space between the label and the text body.
10474  Only used for labels that are not above the text body.
10475 \end_layout
10476
10477 \begin_layout Description
10478 \begin_inset Flex CharStyle:Code
10479 status collapsed
10480
10481 \begin_layout Plain Layout
10482 LabelString
10483 \end_layout
10484
10485 \end_inset
10486
10487  [
10488 \begin_inset Flex CharStyle:Code
10489 status collapsed
10490
10491 \begin_layout Plain Layout
10492 string=""
10493 \end_layout
10494
10495 \end_inset
10496
10497 ] The string used for a label with a 
10498 \begin_inset Flex CharStyle:Code
10499 status collapsed
10500
10501 \begin_layout Plain Layout
10502 Static
10503 \end_layout
10504
10505 \end_inset
10506
10507  labeltype.
10508  When 
10509 \begin_inset Flex CharStyle:Code
10510 status collapsed
10511
10512 \begin_layout Plain Layout
10513 LabelCounter
10514 \end_layout
10515
10516 \end_inset
10517
10518  is set, this string can be contain the special formatting commands described
10519  in Section 
10520 \begin_inset CommandInset ref
10521 LatexCommand ref
10522 reference "sub:Counters"
10523
10524 \end_inset
10525
10526 .
10527 \begin_inset Foot
10528 status collapsed
10529
10530 \begin_layout Plain Layout
10531 For the sake of backwards compatibility, the string 
10532 \begin_inset Flex CharStyle:Code
10533 status collapsed
10534
10535 \begin_layout Plain Layout
10536 @
10537 \emph on
10538 style-name
10539 \emph default
10540 @
10541 \end_layout
10542
10543 \end_inset
10544
10545  will be replaced by the expanded 
10546 \begin_inset Flex CharStyle:Code
10547 status collapsed
10548
10549 \begin_layout Plain Layout
10550 LabelString
10551 \end_layout
10552
10553 \end_inset
10554
10555  of style 
10556 \begin_inset Flex CharStyle:Code
10557 status collapsed
10558
10559 \begin_layout Plain Layout
10560
10561 \emph on
10562 style-name
10563 \end_layout
10564
10565 \end_inset
10566
10567 .
10568  This feature is now obsolete and should be replaced by the mechanisms of
10569  Section 
10570 \begin_inset CommandInset ref
10571 LatexCommand ref
10572 reference "sub:Counters"
10573
10574 \end_inset
10575
10576 .
10577 \end_layout
10578
10579 \end_inset
10580
10581
10582 \end_layout
10583
10584 \begin_layout Description
10585 \begin_inset Flex CharStyle:Code
10586 status collapsed
10587
10588 \begin_layout Plain Layout
10589 LabelStringAppendix
10590 \end_layout
10591
10592 \end_inset
10593
10594  [
10595 \begin_inset Flex CharStyle:Code
10596 status collapsed
10597
10598 \begin_layout Plain Layout
10599 string=""
10600 \end_layout
10601
10602 \end_inset
10603
10604 ] This is used inside the appendix instead of 
10605 \begin_inset Flex CharStyle:Code
10606 status collapsed
10607
10608 \begin_layout Plain Layout
10609 LabelString
10610 \end_layout
10611
10612 \end_inset
10613
10614 .
10615  Note that every 
10616 \begin_inset Flex CharStyle:Code
10617 status collapsed
10618
10619 \begin_layout Plain Layout
10620 LabelString
10621 \end_layout
10622
10623 \end_inset
10624
10625  statement resets 
10626 \begin_inset Flex CharStyle:Code
10627 status collapsed
10628
10629 \begin_layout Plain Layout
10630 LabelStringAppendix
10631 \end_layout
10632
10633 \end_inset
10634
10635  too.
10636 \end_layout
10637
10638 \begin_layout Description
10639 \begin_inset Flex CharStyle:Code
10640 status collapsed
10641
10642 \begin_layout Plain Layout
10643 LabelTag
10644 \end_layout
10645
10646 \end_inset
10647
10648  [FIXME] (Used only with XML-type formats.)
10649 \end_layout
10650
10651 \begin_layout Description
10652 \begin_inset Flex CharStyle:Code
10653 status collapsed
10654
10655 \begin_layout Plain Layout
10656 LabelType
10657 \end_layout
10658
10659 \end_inset
10660
10661  [
10662 \begin_inset Flex CharStyle:Code
10663 status collapsed
10664
10665 \begin_layout Plain Layout
10666
10667 \emph on
10668 No_Label
10669 \emph default
10670 , Manual, Static, Top_Environment, Centered_Top_Environment, Counter, Sensitive,
10671  Enumerate, Itemize, Bibliography
10672 \end_layout
10673
10674 \end_inset
10675
10676
10677 \end_layout
10678
10679 \begin_deeper
10680 \begin_layout Itemize
10681 \begin_inset Flex CharStyle:Code
10682 status collapsed
10683
10684 \begin_layout Plain Layout
10685 Manual
10686 \end_layout
10687
10688 \end_inset
10689
10690  means the label is the very first word (up to the first real blank).
10691  Use protected spaces (like
10692 \begin_inset space ~
10693 \end_inset
10694
10695 that one) if you want more than one word as the label.
10696  
10697 \end_layout
10698
10699 \begin_layout Itemize
10700 \begin_inset Flex CharStyle:Code
10701 status collapsed
10702
10703 \begin_layout Plain Layout
10704 Static
10705 \end_layout
10706
10707 \end_inset
10708
10709  means the label is simply whatever 
10710 \begin_inset Flex CharStyle:Code
10711 status collapsed
10712
10713 \begin_layout Plain Layout
10714 LabelString
10715 \end_layout
10716
10717 \end_inset
10718
10719  declares it to be.
10720  Note that this really is `static'.
10721 \end_layout
10722
10723 \begin_layout Itemize
10724 \begin_inset Flex CharStyle:Code
10725 status collapsed
10726
10727 \begin_layout Plain Layout
10728 Top_Environment
10729 \end_layout
10730
10731 \end_inset
10732
10733  and 
10734 \begin_inset Flex CharStyle:Code
10735 status collapsed
10736
10737 \begin_layout Plain Layout
10738 Centered_Top_Environment
10739 \end_layout
10740
10741 \end_inset
10742
10743  are special cases of 
10744 \begin_inset Flex CharStyle:Code
10745 status collapsed
10746
10747 \begin_layout Plain Layout
10748 Static
10749 \end_layout
10750
10751 \end_inset
10752
10753 .
10754  The label will be printed above the paragraph, but only at the top of an
10755  environment or the top of a chain of paragraphs with this layout.
10756  This might be used with the 
10757 \begin_inset Flex CharStyle:MenuItem
10758 status collapsed
10759
10760 \begin_layout Plain Layout
10761 Abstract
10762 \end_layout
10763
10764 \end_inset
10765
10766  layout, for example.
10767 \end_layout
10768
10769 \begin_layout Itemize
10770 \begin_inset Flex CharStyle:Code
10771 status collapsed
10772
10773 \begin_layout Plain Layout
10774 Sensitive
10775 \end_layout
10776
10777 \end_inset
10778
10779  is a special case for the caption-labels 
10780 \begin_inset Quotes eld
10781 \end_inset
10782
10783 Figure
10784 \begin_inset Quotes erd
10785 \end_inset
10786
10787  and 
10788 \begin_inset Quotes eld
10789 \end_inset
10790
10791 Table
10792 \begin_inset Quotes erd
10793 \end_inset
10794
10795 .
10796  
10797 \begin_inset Flex CharStyle:Code
10798 status collapsed
10799
10800 \begin_layout Plain Layout
10801 Sensitive
10802 \end_layout
10803
10804 \end_inset
10805
10806  means the (hardcoded) label string depends on the kind of float: It is
10807  hardcoded to be `FloatType N', where N is the value of the counter associated
10808  with the float.
10809 \end_layout
10810
10811 \begin_layout Itemize
10812 The 
10813 \begin_inset Flex CharStyle:Code
10814 status collapsed
10815
10816 \begin_layout Plain Layout
10817 Counter
10818 \end_layout
10819
10820 \end_inset
10821
10822  label type defines automatically numbered labels.
10823  The 
10824 \begin_inset Flex CharStyle:Code
10825 status collapsed
10826
10827 \begin_layout Plain Layout
10828 LabelString
10829 \end_layout
10830
10831 \end_inset
10832
10833  will be expanded to resolve any counter references it contains: For example,
10834  it might be 
10835 \begin_inset Quotes eld
10836 \end_inset
10837
10838
10839 \begin_inset Flex CharStyle:Code
10840 status collapsed
10841
10842 \begin_layout Plain Layout
10843 Section 
10844 \backslash
10845 thechapter.
10846 \backslash
10847 thesection
10848 \end_layout
10849
10850 \end_inset
10851
10852
10853 \begin_inset Quotes erd
10854 \end_inset
10855
10856 .
10857  See Section 
10858 \begin_inset CommandInset ref
10859 LatexCommand ref
10860 reference "sub:Counters"
10861
10862 \end_inset
10863
10864  for more information on counters.
10865 \end_layout
10866
10867 \begin_layout Itemize
10868 \begin_inset Flex CharStyle:Code
10869 status collapsed
10870
10871 \begin_layout Plain Layout
10872 Enumerate
10873 \end_layout
10874
10875 \end_inset
10876
10877  produces the usual sort of enumeration labels.
10878  At present, it is hardcoded to use Arabic numerals, lowercase letters,
10879  small Roman numerals, and uppercase letters for the four possible depths.
10880 \end_layout
10881
10882 \begin_layout Itemize
10883 \begin_inset Flex CharStyle:Code
10884 status collapsed
10885
10886 \begin_layout Plain Layout
10887 Itemize
10888 \end_layout
10889
10890 \end_inset
10891
10892  produces various bullets at the different levels.
10893  It is also hardcoded.
10894 \end_layout
10895
10896 \begin_layout Itemize
10897 \begin_inset Flex CharStyle:Code
10898 status collapsed
10899
10900 \begin_layout Plain Layout
10901 Bibliography
10902 \end_layout
10903
10904 \end_inset
10905
10906  is used internally by LyX and should be used only with 
10907 \begin_inset Flex CharStyle:Code
10908 status collapsed
10909
10910 \begin_layout Plain Layout
10911 LatexType BibEnvironment
10912 \end_layout
10913
10914 \end_inset
10915
10916 .
10917 \end_layout
10918
10919 \end_deeper
10920 \begin_layout Description
10921 \begin_inset Flex CharStyle:Code
10922 status collapsed
10923
10924 \begin_layout Plain Layout
10925 LangPreamble
10926 \end_layout
10927
10928 \end_inset
10929
10930  Note that this will completely override any prior 
10931 \begin_inset Flex CharStyle:Code
10932 status collapsed
10933
10934 \begin_layout Plain Layout
10935 LangPreamble
10936 \end_layout
10937
10938 \end_inset
10939
10940  declaration for this style.
10941  Must end with 
10942 \begin_inset Quotes eld
10943 \end_inset
10944
10945
10946 \begin_inset Flex CharStyle:Code
10947 status collapsed
10948
10949 \begin_layout Plain Layout
10950 EndLangPreamble
10951 \end_layout
10952
10953 \end_inset
10954
10955
10956 \begin_inset Quotes erd
10957 \end_inset
10958
10959 .
10960  See section 
10961 \begin_inset CommandInset ref
10962 LatexCommand ref
10963 reference "sub:I18n"
10964
10965 \end_inset
10966
10967  for details on its use.
10968 \end_layout
10969
10970 \begin_layout Description
10971 \begin_inset Flex CharStyle:Code
10972 status collapsed
10973
10974 \begin_layout Plain Layout
10975 LatexName
10976 \end_layout
10977
10978 \end_inset
10979
10980  The name of the corresponding LaTeX stuff.
10981  Either the environment or command name.
10982 \end_layout
10983
10984 \begin_layout Description
10985 \begin_inset Flex CharStyle:Code
10986 status collapsed
10987
10988 \begin_layout Plain Layout
10989 LatexParam
10990 \end_layout
10991
10992 \end_inset
10993
10994  An optional parameter for the corresponding 
10995 \begin_inset Flex CharStyle:Code
10996 status collapsed
10997
10998 \begin_layout Plain Layout
10999 LatexName
11000 \end_layout
11001
11002 \end_inset
11003
11004  stuff.
11005  This parameter cannot be changed from within LyX.
11006 \end_layout
11007
11008 \begin_layout Description
11009 \begin_inset Flex CharStyle:Code
11010 status collapsed
11011
11012 \begin_layout Plain Layout
11013 LatexType
11014 \end_layout
11015
11016 \end_inset
11017
11018  
11019 \begin_inset CommandInset label
11020 LatexCommand label
11021 name "des:LatexType"
11022
11023 \end_inset
11024
11025 [
11026 \begin_inset Flex CharStyle:Code
11027 status collapsed
11028
11029 \begin_layout Plain Layout
11030
11031 \emph on
11032 Paragraph
11033 \emph default
11034 , Command, Environment, Item_Environment,
11035 \end_layout
11036
11037 \end_inset
11038
11039  
11040 \begin_inset Flex CharStyle:Code
11041 status collapsed
11042
11043 \begin_layout Plain Layout
11044 List_Environment, Bib_Environment
11045 \end_layout
11046
11047 \end_inset
11048
11049 ] How the layout should be translated into LaTeX.
11050 \begin_inset Foot
11051 status collapsed
11052
11053 \begin_layout Plain Layout
11054 \begin_inset Flex CharStyle:Code
11055 status collapsed
11056
11057 \begin_layout Plain Layout
11058 LatexType
11059 \end_layout
11060
11061 \end_inset
11062
11063  is perhaps a bit misleading, since these rules apply to SGML classes, too.
11064  Visit the SGML class files for specific examples.
11065 \end_layout
11066
11067 \end_inset
11068
11069
11070 \end_layout
11071
11072 \begin_deeper
11073 \begin_layout Itemize
11074 \begin_inset Flex CharStyle:Code
11075 status collapsed
11076
11077 \begin_layout Plain Layout
11078 Paragraph
11079 \end_layout
11080
11081 \end_inset
11082
11083  means nothing special.
11084  
11085 \end_layout
11086
11087 \begin_layout Itemize
11088 \begin_inset Flex CharStyle:Code
11089 status collapsed
11090
11091 \begin_layout Plain Layout
11092 Command
11093 \end_layout
11094
11095 \end_inset
11096
11097  means 
11098 \begin_inset Flex CharStyle:Code
11099 status collapsed
11100
11101 \begin_layout Plain Layout
11102
11103 \backslash
11104
11105 \emph on
11106 LatexName
11107 \emph default
11108 {\SpecialChar \ldots{}
11109 }
11110 \end_layout
11111
11112 \end_inset
11113
11114 .
11115 \end_layout
11116
11117 \begin_layout Itemize
11118 \begin_inset Flex CharStyle:Code
11119 status collapsed
11120
11121 \begin_layout Plain Layout
11122 Environment
11123 \end_layout
11124
11125 \end_inset
11126
11127  means 
11128 \begin_inset Flex CharStyle:Code
11129 status collapsed
11130
11131 \begin_layout Plain Layout
11132
11133 \backslash
11134 begin{
11135 \emph on
11136 LatexName
11137 \emph default
11138 }\SpecialChar \ldots{}
11139
11140 \backslash
11141 end{
11142 \emph on
11143 LatexName
11144 \emph default
11145 }
11146 \end_layout
11147
11148 \end_inset
11149
11150 .
11151  
11152 \end_layout
11153
11154 \begin_layout Itemize
11155 \begin_inset Flex CharStyle:Code
11156 status collapsed
11157
11158 \begin_layout Plain Layout
11159 Item_Environment
11160 \end_layout
11161
11162 \end_inset
11163
11164  is the same as 
11165 \begin_inset Flex CharStyle:Code
11166 status collapsed
11167
11168 \begin_layout Plain Layout
11169 Environment
11170 \end_layout
11171
11172 \end_inset
11173
11174 , except that an 
11175 \begin_inset Flex CharStyle:Code
11176 status collapsed
11177
11178 \begin_layout Plain Layout
11179
11180 \backslash
11181 item
11182 \end_layout
11183
11184 \end_inset
11185
11186  is generated for each paragraph of this environment.
11187  
11188 \end_layout
11189
11190 \begin_layout Itemize
11191 \begin_inset Flex CharStyle:Code
11192 status collapsed
11193
11194 \begin_layout Plain Layout
11195 List_Environment
11196 \end_layout
11197
11198 \end_inset
11199
11200  is the same as 
11201 \begin_inset Flex CharStyle:Code
11202 status collapsed
11203
11204 \begin_layout Plain Layout
11205 Item_Environment
11206 \end_layout
11207
11208 \end_inset
11209
11210 , except that 
11211 \begin_inset Flex CharStyle:Code
11212 status collapsed
11213
11214 \begin_layout Plain Layout
11215 LabelWidthString
11216 \end_layout
11217
11218 \end_inset
11219
11220  is passed as an argument to the environment.
11221  
11222 \begin_inset Flex CharStyle:Code
11223 status collapsed
11224
11225 \begin_layout Plain Layout
11226 LabelWidthString
11227 \end_layout
11228
11229 \end_inset
11230
11231  can be defined in the 
11232 \begin_inset Flex CharStyle:MenuItem
11233 status collapsed
11234
11235 \begin_layout Plain Layout
11236
11237 \bar under
11238 L
11239 \bar default
11240 ayout\SpecialChar \menuseparator
11241
11242 \bar under
11243 P
11244 \bar default
11245 aragraph
11246 \end_layout
11247
11248 \end_inset
11249
11250  dialog.
11251  
11252 \end_layout
11253
11254 \begin_layout Standard
11255 Putting the last few things together, the LaTeX output will be either: 
11256 \end_layout
11257
11258 \begin_layout LyX-Code
11259
11260 \backslash
11261 latexname[latexparam]{\SpecialChar \ldots{}
11262 }
11263 \end_layout
11264
11265 \begin_layout Standard
11266 or: 
11267 \end_layout
11268
11269 \begin_layout LyX-Code
11270
11271 \backslash
11272 begin{latexname}[latexparam] \SpecialChar \ldots{}
11273  
11274 \backslash
11275 end{latexname}.
11276 \end_layout
11277
11278 \begin_layout Standard
11279 depending upon the LaTeX type.
11280 \end_layout
11281
11282 \end_deeper
11283 \begin_layout Description
11284 \begin_inset Flex CharStyle:Code
11285 status collapsed
11286
11287 \begin_layout Plain Layout
11288 LeftMargin
11289 \end_layout
11290
11291 \end_inset
11292
11293  [
11294 \begin_inset Flex CharStyle:Code
11295 status collapsed
11296
11297 \begin_layout Plain Layout
11298 string=""
11299 \end_layout
11300
11301 \end_inset
11302
11303 ] If you put layouts into environments, the leftmargins are not simply added,
11304  but added with a factor 
11305 \begin_inset Formula $\frac{4}{depth+4}$
11306 \end_inset
11307
11308 .
11309  Note that this parameter is also used when the margin is defined as 
11310 \begin_inset Flex CharStyle:Code
11311 status collapsed
11312
11313 \begin_layout Plain Layout
11314 Manual
11315 \end_layout
11316
11317 \end_inset
11318
11319  or 
11320 \begin_inset Flex CharStyle:Code
11321 status collapsed
11322
11323 \begin_layout Plain Layout
11324 Dynamic
11325 \end_layout
11326
11327 \end_inset
11328
11329 .
11330  Then it is added to the manual or dynamic margin.
11331  
11332 \begin_inset Newline newline
11333 \end_inset
11334
11335 The argument is passed as a string.
11336  For example 
11337 \begin_inset Quotes eld
11338 \end_inset
11339
11340
11341 \begin_inset Flex CharStyle:Code
11342 status collapsed
11343
11344 \begin_layout Plain Layout
11345 MM
11346 \end_layout
11347
11348 \end_inset
11349
11350
11351 \begin_inset Quotes erd
11352 \end_inset
11353
11354  means that the paragraph is indented with the width of 
11355 \begin_inset Quotes eld
11356 \end_inset
11357
11358
11359 \begin_inset Flex CharStyle:Code
11360 status collapsed
11361
11362 \begin_layout Plain Layout
11363 MM
11364 \end_layout
11365
11366 \end_inset
11367
11368
11369 \begin_inset Quotes erd
11370 \end_inset
11371
11372  in the normal font.
11373  You can get a negative width by prefixing the string with 
11374 \begin_inset Quotes eld
11375 \end_inset
11376
11377
11378 \begin_inset Flex CharStyle:Code
11379 status collapsed
11380
11381 \begin_layout Plain Layout
11382 -
11383 \end_layout
11384
11385 \end_inset
11386
11387
11388 \begin_inset Quotes erd
11389 \end_inset
11390
11391 .
11392  This way was chosen so that the look is the same with each used screen
11393  font.
11394  
11395 \end_layout
11396
11397 \begin_layout Description
11398 \begin_inset Flex CharStyle:Code
11399 status collapsed
11400
11401 \begin_layout Plain Layout
11402 Margin
11403 \end_layout
11404
11405 \end_inset
11406
11407  [
11408 \begin_inset Flex CharStyle:Code
11409 status collapsed
11410
11411 \begin_layout Plain Layout
11412
11413 \emph on
11414 Static
11415 \emph default
11416 , Manual, Dynamic, First_Dynamic, Right_Address_Box
11417 \end_layout
11418
11419 \end_inset
11420
11421
11422 \begin_inset Newline newline
11423 \end_inset
11424
11425 The kind of margin that the layout has on the left side.
11426  
11427 \begin_inset Flex CharStyle:Code
11428 status collapsed
11429
11430 \begin_layout Plain Layout
11431 Static
11432 \end_layout
11433
11434 \end_inset
11435
11436  just means a fixed margin.
11437  
11438 \begin_inset Flex CharStyle:Code
11439 status collapsed
11440
11441 \begin_layout Plain Layout
11442 Manual
11443 \end_layout
11444
11445 \end_inset
11446
11447  means that the left margin depends on the string entered in the 
11448 \begin_inset Flex CharStyle:MenuItem
11449 status collapsed
11450
11451 \begin_layout Plain Layout
11452 Edit\SpecialChar \menuseparator
11453 Paragraph
11454 \begin_inset space ~
11455 \end_inset
11456
11457 Settings
11458 \end_layout
11459
11460 \end_inset
11461
11462  dialog.
11463  This is used to typeset nice lists without tabulators.
11464  
11465 \begin_inset Flex CharStyle:Code
11466 status collapsed
11467
11468 \begin_layout Plain Layout
11469 Dynamic
11470 \end_layout
11471
11472 \end_inset
11473
11474  means that the margin depends on the size of the label.
11475  This is used for automatic enumerated headlines.
11476  It is obvious that the headline 
11477 \begin_inset Quotes eld
11478 \end_inset
11479
11480 5.4.3.2.1 Very long headline
11481 \begin_inset Quotes erd
11482 \end_inset
11483
11484  must have a wider left margin (as wide as 
11485 \begin_inset Quotes eld
11486 \end_inset
11487
11488 5.4.3.2.1
11489 \begin_inset Quotes erd
11490 \end_inset
11491
11492  plus the space) than 
11493 \begin_inset Quotes eld
11494 \end_inset
11495
11496 3.2 Very long headline
11497 \begin_inset Quotes erd
11498 \end_inset
11499
11500 , even if standard 
11501 \begin_inset Quotes eld
11502 \end_inset
11503
11504 word processors
11505 \begin_inset Quotes erd
11506 \end_inset
11507
11508  are not able to do this.
11509  
11510 \begin_inset Flex CharStyle:Code
11511 status collapsed
11512
11513 \begin_layout Plain Layout
11514 First_Dynamic
11515 \end_layout
11516
11517 \end_inset
11518
11519  is similar, but only the very first row of the paragraph is dynamic, while
11520  the others are static; this is used, for example, for descriptions.
11521  
11522 \begin_inset Flex CharStyle:Code
11523 status collapsed
11524
11525 \begin_layout Plain Layout
11526 Right_Address_Box
11527 \end_layout
11528
11529 \end_inset
11530
11531  means the margin is chosen in a way that the longest row of this paragraph
11532  fits to the right margin.
11533  This is used to typeset an address on the right edge of the page.
11534 \end_layout
11535
11536 \begin_layout Description
11537 \begin_inset Flex CharStyle:Code
11538 status collapsed
11539
11540 \begin_layout Plain Layout
11541 NeedProtect
11542 \end_layout
11543
11544 \end_inset
11545
11546  [
11547 \begin_inset Flex CharStyle:Code
11548 status collapsed
11549
11550 \begin_layout Plain Layout
11551
11552 \emph on
11553 0
11554 \end_layout
11555
11556 \end_inset
11557
11558 ,
11559 \begin_inset Flex CharStyle:Code
11560 status collapsed
11561
11562 \begin_layout Plain Layout
11563 1
11564 \end_layout
11565
11566 \end_inset
11567
11568 ] Whether fragile commands in this layout should be 
11569 \begin_inset Flex CharStyle:Code
11570 status collapsed
11571
11572 \begin_layout Plain Layout
11573
11574 \backslash
11575 protect
11576 \end_layout
11577
11578 \end_inset
11579
11580 'ed.
11581  (Note: This is 
11582 \emph on
11583 not
11584 \emph default
11585  whether this command should itself be protected.)
11586 \end_layout
11587
11588 \begin_layout Description
11589 \begin_inset Flex CharStyle:Code
11590 status collapsed
11591
11592 \begin_layout Plain Layout
11593 Newline
11594 \end_layout
11595
11596 \end_inset
11597
11598  [
11599 \begin_inset Flex CharStyle:Code
11600 status collapsed
11601
11602 \begin_layout Plain Layout
11603 0
11604 \end_layout
11605
11606 \end_inset
11607
11608
11609 \begin_inset Flex CharStyle:Code
11610 status collapsed
11611
11612 \begin_layout Plain Layout
11613
11614 \emph on
11615 1
11616 \end_layout
11617
11618 \end_inset
11619
11620 ] Whether newlines are translated into LaTeX newlines (
11621 \begin_inset Flex CharStyle:Code
11622 status collapsed
11623
11624 \begin_layout Plain Layout
11625
11626 \backslash
11627
11628 \backslash
11629
11630 \end_layout
11631
11632 \end_inset
11633
11634 ) or not.
11635  The translation can be switched off to allow more comfortable LaTeX editing
11636  inside LyX.
11637 \end_layout
11638
11639 \begin_layout Description
11640 \begin_inset Flex CharStyle:Code
11641 status collapsed
11642
11643 \begin_layout Plain Layout
11644 NextNoIndent
11645 \end_layout
11646
11647 \end_inset
11648
11649  [
11650 \begin_inset Flex CharStyle:Code
11651 status collapsed
11652
11653 \begin_layout Plain Layout
11654 1
11655 \end_layout
11656
11657 \end_inset
11658
11659
11660 \begin_inset Flex CharStyle:Code
11661 status collapsed
11662
11663 \begin_layout Plain Layout
11664
11665 \emph on
11666 0
11667 \end_layout
11668
11669 \end_inset
11670
11671 ] Whether the following Paragraph is allowed to indent its very first row.
11672  
11673 \begin_inset Flex CharStyle:Code
11674 status collapsed
11675
11676 \begin_layout Plain Layout
11677 1
11678 \end_layout
11679
11680 \end_inset
11681
11682  means that it is not allowed to do so; 
11683 \begin_inset Flex CharStyle:Code
11684 status collapsed
11685
11686 \begin_layout Plain Layout
11687 0
11688 \end_layout
11689
11690 \end_inset
11691
11692  means it could do so if it wants to.
11693 \end_layout
11694
11695 \begin_layout Description
11696 \begin_inset Flex CharStyle:Code
11697 status collapsed
11698
11699 \begin_layout Plain Layout
11700 ObsoletedBy
11701 \end_layout
11702
11703 \end_inset
11704
11705  Name of a layout that has replaced this layout.
11706  This is used to rename a layout, while keeping backward compatibility.
11707 \end_layout
11708
11709 \begin_layout Description
11710 \begin_inset Flex CharStyle:Code
11711 status collapsed
11712
11713 \begin_layout Plain Layout
11714 OptionalArgs
11715 \end_layout
11716
11717 \end_inset
11718
11719  [
11720 \begin_inset Flex CharStyle:Code
11721 status collapsed
11722
11723 \begin_layout Plain Layout
11724 int=0
11725 \end_layout
11726
11727 \end_inset
11728
11729 ] The number of optional arguments that can be used with this layout.
11730  This is useful for things like section headings, and only makes sense with
11731  LaTeX.
11732  Note that, on output, the optional arguments will all precede any required
11733  arguments (see below).
11734  So one can have constructs like:
11735 \end_layout
11736
11737 \begin_deeper
11738 \begin_layout LyX-Code
11739
11740 \backslash
11741 mycmd[opt1]{req1}{contents of paragraph}
11742 \end_layout
11743
11744 \begin_layout Standard
11745 but one cannot have things like: 
11746 \end_layout
11747
11748 \begin_layout LyX-Code
11749
11750 \backslash
11751 mycmd[opt1]{req1}[opt2]{contents of paragraph}
11752 \end_layout
11753
11754 \begin_layout Standard
11755 at least, not without ERT (with which you can have anything).
11756  
11757 \end_layout
11758
11759 \end_deeper
11760 \begin_layout Description
11761 \begin_inset Flex CharStyle:Code
11762 status collapsed
11763
11764 \begin_layout Plain Layout
11765 ParbreakIsNewline
11766 \end_layout
11767
11768 \end_inset
11769
11770
11771 \begin_inset CommandInset label
11772 LatexCommand label
11773 name "des:ParbreakIsNewline"
11774
11775 \end_inset
11776
11777  [
11778 \begin_inset Flex CharStyle:Code
11779 status collapsed
11780
11781 \begin_layout Plain Layout
11782
11783 \emph on
11784 0
11785 \end_layout
11786
11787 \end_inset
11788
11789
11790 \begin_inset Flex CharStyle:Code
11791 status collapsed
11792
11793 \begin_layout Plain Layout
11794 1
11795 \end_layout
11796
11797 \end_inset
11798
11799 ] Indicates that paragraphs will not be separated by an empty line in LaTeX
11800  output, but only by a line break; together with 
11801 \begin_inset Flex CharStyle:Code
11802 status collapsed
11803
11804 \begin_layout Plain Layout
11805 PassThru 1
11806 \end_layout
11807
11808 \end_inset
11809
11810 , this allows to emulate a plain text editor (like the ERT inset).
11811 \end_layout
11812
11813 \begin_layout Description
11814 \begin_inset Flex CharStyle:Code
11815 status collapsed
11816
11817 \begin_layout Plain Layout
11818 ParIndent
11819 \end_layout
11820
11821 \end_inset
11822
11823  [
11824 \begin_inset Flex CharStyle:Code
11825 status collapsed
11826
11827 \begin_layout Plain Layout
11828 string=""
11829 \end_layout
11830
11831 \end_inset
11832
11833 ] The indent of the very first line of a paragraph.
11834  The 
11835 \begin_inset Flex CharStyle:Code
11836 status collapsed
11837
11838 \begin_layout Plain Layout
11839 Parindent
11840 \end_layout
11841
11842 \end_inset
11843
11844  will be fixed for a certain layout.
11845  The exception is Standard layout, since the indentation of a Standard layout
11846  paragraph can be prohibited with 
11847 \begin_inset Flex CharStyle:Code
11848 status collapsed
11849
11850 \begin_layout Plain Layout
11851 NextNoIndent
11852 \end_layout
11853
11854 \end_inset
11855
11856 .
11857  Also, Standard layout paragraphs inside environments use the 
11858 \begin_inset Flex CharStyle:Code
11859 status collapsed
11860
11861 \begin_layout Plain Layout
11862 Parindent
11863 \end_layout
11864
11865 \end_inset
11866
11867  of the environment, not their native one.
11868  For example, Standard paragraphs inside an enumeration are not indented.
11869 \end_layout
11870
11871 \begin_layout Description
11872 \begin_inset Flex CharStyle:Code
11873 status collapsed
11874
11875 \begin_layout Plain Layout
11876 Parsep
11877 \end_layout
11878
11879 \end_inset
11880
11881  [
11882 \begin_inset Flex CharStyle:Code
11883 status collapsed
11884
11885 \begin_layout Plain Layout
11886 float=0
11887 \end_layout
11888
11889 \end_inset
11890
11891 ] The vertical space between two paragraphs of this layout.
11892 \end_layout
11893
11894 \begin_layout Description
11895 \begin_inset Flex CharStyle:Code
11896 status collapsed
11897
11898 \begin_layout Plain Layout
11899 Parskip
11900 \end_layout
11901
11902 \end_inset
11903
11904  [
11905 \begin_inset Flex CharStyle:Code
11906 status collapsed
11907
11908 \begin_layout Plain Layout
11909 float=0
11910 \end_layout
11911
11912 \end_inset
11913
11914 ] LyX allows the user to choose either 
11915 \begin_inset Quotes eld
11916 \end_inset
11917
11918 indent
11919 \begin_inset Quotes erd
11920 \end_inset
11921
11922  or 
11923 \begin_inset Quotes eld
11924 \end_inset
11925
11926 skip
11927 \begin_inset Quotes erd
11928 \end_inset
11929
11930  to typeset a document.
11931  When 
11932 \begin_inset Quotes eld
11933 \end_inset
11934
11935 indent
11936 \begin_inset Quotes erd
11937 \end_inset
11938
11939  is chosen, this value is completely ignored.
11940  When 
11941 \begin_inset Quotes eld
11942 \end_inset
11943
11944 skip
11945 \begin_inset Quotes erd
11946 \end_inset
11947
11948  is chosen, the parindent of a LaTeXtype 
11949 \begin_inset Quotes eld
11950 \end_inset
11951
11952 Paragraph
11953 \begin_inset Quotes erd
11954 \end_inset
11955
11956  layout is ignored and all paragraphs are separated by this parskip argument.
11957  The vertical space is calculated with 
11958 \begin_inset Flex CharStyle:Code
11959 status collapsed
11960
11961 \begin_layout Plain Layout
11962 value
11963 \begin_inset space ~
11964 \end_inset
11965
11966 * DefaultHeight
11967 \end_layout
11968
11969 \end_inset
11970
11971  where 
11972 \begin_inset Flex CharStyle:Code
11973 status collapsed
11974
11975 \begin_layout Plain Layout
11976 DefaultHeight
11977 \end_layout
11978
11979 \end_inset
11980
11981  is the height of a row with the normal font.
11982  This way, the look stays the same with different screen fonts.
11983 \end_layout
11984
11985 \begin_layout Description
11986 \begin_inset Flex CharStyle:Code
11987 status collapsed
11988
11989 \begin_layout Plain Layout
11990 PassThru
11991 \end_layout
11992
11993 \end_inset
11994
11995  
11996 \begin_inset CommandInset label
11997 LatexCommand label
11998 name "des:PassThru"
11999
12000 \end_inset
12001
12002 [
12003 \begin_inset Flex CharStyle:Code
12004 status collapsed
12005
12006 \begin_layout Plain Layout
12007
12008 \emph on
12009 0
12010 \end_layout
12011
12012 \end_inset
12013
12014
12015 \begin_inset Flex CharStyle:Code
12016 status collapsed
12017
12018 \begin_layout Plain Layout
12019 1
12020 \end_layout
12021
12022 \end_inset
12023
12024 ] Whether the contents of this paragraph should be output in raw form, meaning
12025  without special translations that LaTeX would require.
12026 \end_layout
12027
12028 \begin_layout Description
12029 \begin_inset Flex CharStyle:Code
12030 status collapsed
12031
12032 \begin_layout Plain Layout
12033 Preamble
12034 \end_layout
12035
12036 \end_inset
12037
12038  
12039 \begin_inset CommandInset label
12040 LatexCommand label
12041 name "des:Preamble"
12042
12043 \end_inset
12044
12045 Information to be included in the LaTeX preamble when this style is used.
12046  Used to define macros, load packages, etc., required by this particular
12047  style.
12048  Must end with 
12049 \begin_inset Quotes eld
12050 \end_inset
12051
12052
12053 \begin_inset Flex CharStyle:Code
12054 status collapsed
12055
12056 \begin_layout Plain Layout
12057 EndPreamble
12058 \end_layout
12059
12060 \end_inset
12061
12062
12063 \begin_inset Quotes erd
12064 \end_inset
12065
12066 .
12067 \end_layout
12068
12069 \begin_layout Description
12070 \begin_inset Flex CharStyle:Code
12071 status collapsed
12072
12073 \begin_layout Plain Layout
12074 RefPrefix
12075 \end_layout
12076
12077 \end_inset
12078
12079  [
12080 \begin_inset Flex CharStyle:Code
12081 status collapsed
12082
12083 \begin_layout Plain Layout
12084 string
12085 \end_layout
12086
12087 \end_inset
12088
12089 ] The prefix to use when creating labels referring to paragraphs of this
12090  type.
12091  This allows the use of formatted references.
12092 \end_layout
12093
12094 \begin_layout Description
12095 \begin_inset Flex CharStyle:Code
12096 status collapsed
12097
12098 \begin_layout Plain Layout
12099 RequiredArgs
12100 \end_layout
12101
12102 \end_inset
12103
12104  [
12105 \begin_inset Flex CharStyle:Code
12106 status collapsed
12107
12108 \begin_layout Plain Layout
12109 int=0
12110 \end_layout
12111
12112 \end_inset
12113
12114 ] The number of required arguments that the LaTeX command or environment
12115  corresponding to this layout expects.
12116  In the case of a command, these are required arguments 
12117 \emph on
12118 other than
12119 \emph default
12120  that associated with the content of the paragraph itself.
12121  These do not actually have to be provided: LyX will output empty arguments
12122  if necessary.
12123  Note that optional arguments will be output before required arguments.
12124  See the discussion of the 
12125 \begin_inset Flex CharStyle:Code
12126 status collapsed
12127
12128 \begin_layout Plain Layout
12129 OptionalArgs
12130 \end_layout
12131
12132 \end_inset
12133
12134  tag above for more information.
12135 \end_layout
12136
12137 \begin_layout Description
12138 \begin_inset Flex CharStyle:Code
12139 status collapsed
12140
12141 \begin_layout Plain Layout
12142 Requires 
12143 \end_layout
12144
12145 \end_inset
12146
12147  [
12148 \begin_inset Flex CharStyle:Code
12149 status collapsed
12150
12151 \begin_layout Plain Layout
12152 string
12153 \end_layout
12154
12155 \end_inset
12156
12157
12158 \begin_inset CommandInset label
12159 LatexCommand label
12160 name "des:Requires"
12161
12162 \end_inset
12163
12164 Whether the layout requires the feature 
12165 \begin_inset Flex CharStyle:Code
12166 status collapsed
12167
12168 \begin_layout Plain Layout
12169 string
12170 \end_layout
12171
12172 \end_inset
12173
12174 .
12175  See the description of 
12176 \begin_inset Flex CharStyle:Code
12177 status collapsed
12178
12179 \begin_layout Plain Layout
12180 Provides
12181 \end_layout
12182
12183 \end_inset
12184
12185  above (page 
12186 \begin_inset CommandInset ref
12187 LatexCommand pageref
12188 reference "des:FreeSpacing"
12189
12190 \end_inset
12191
12192 ) for information on `features'.
12193  
12194 \end_layout
12195
12196 \begin_layout Description
12197 \begin_inset Flex CharStyle:Code
12198 status collapsed
12199
12200 \begin_layout Plain Layout
12201 RightMargin
12202 \end_layout
12203
12204 \end_inset
12205
12206  [
12207 \begin_inset Flex CharStyle:Code
12208 status collapsed
12209
12210 \begin_layout Plain Layout
12211 string=""
12212 \end_layout
12213
12214 \end_inset
12215
12216 ] Similar to 
12217 \begin_inset Flex CharStyle:Code
12218 status collapsed
12219
12220 \begin_layout Plain Layout
12221 LeftMargin
12222 \end_layout
12223
12224 \end_inset
12225
12226 .
12227 \end_layout
12228
12229 \begin_layout Description
12230 \begin_inset Flex CharStyle:Code
12231 status collapsed
12232
12233 \begin_layout Plain Layout
12234 Spacing
12235 \end_layout
12236
12237 \end_inset
12238
12239  [
12240 \begin_inset Flex CharStyle:Code
12241 status collapsed
12242
12243 \begin_layout Plain Layout
12244
12245 \emph on
12246 single
12247 \emph default
12248 , onehalf, double, other
12249 \end_layout
12250
12251 \end_inset
12252
12253  
12254 \emph on
12255 value
12256 \emph default
12257 ] This defines what the default spacing should be in the layout.
12258  The arguments 
12259 \begin_inset Flex CharStyle:Code
12260 status collapsed
12261
12262 \begin_layout Plain Layout
12263 single
12264 \end_layout
12265
12266 \end_inset
12267
12268
12269 \begin_inset Flex CharStyle:Code
12270 status collapsed
12271
12272 \begin_layout Plain Layout
12273 onehalf
12274 \end_layout
12275
12276 \end_inset
12277
12278  and 
12279 \begin_inset Flex CharStyle:Code
12280 status collapsed
12281
12282 \begin_layout Plain Layout
12283 double
12284 \end_layout
12285
12286 \end_inset
12287
12288  correspond respectively to a multiplier value of 1, 1.25 and 1.667.
12289  If you specify the argument 
12290 \begin_inset Flex CharStyle:Code
12291 status collapsed
12292
12293 \begin_layout Plain Layout
12294 other
12295 \end_layout
12296
12297 \end_inset
12298
12299 , then you should also provide a numerical argument which will be the actual
12300  multiplier value.
12301  Note that, contrary to other parameters, 
12302 \begin_inset Flex CharStyle:Code
12303 status collapsed
12304
12305 \begin_layout Plain Layout
12306 Spacing
12307 \end_layout
12308
12309 \end_inset
12310
12311  implies the generation of specific LaTeX code, using the package 
12312 \family roman
12313
12314 \begin_inset Flex CharStyle:Code
12315 status collapsed
12316
12317 \begin_layout Plain Layout
12318 setspace.sty
12319 \end_layout
12320
12321 \end_inset
12322
12323 .
12324 \end_layout
12325
12326 \begin_layout Description
12327 \begin_inset Flex CharStyle:Code
12328 status collapsed
12329
12330 \begin_layout Plain Layout
12331 Spellcheck
12332 \end_layout
12333
12334 \end_inset
12335
12336  [
12337 \begin_inset Flex CharStyle:Code
12338 status collapsed
12339
12340 \begin_layout Plain Layout
12341 0
12342 \end_layout
12343
12344 \end_inset
12345
12346 ,
12347 \begin_inset Flex CharStyle:Code
12348 status collapsed
12349
12350 \begin_layout Plain Layout
12351
12352 \emph on
12353 1
12354 \end_layout
12355
12356 \end_inset
12357
12358 ] Spellcheck paragraphs of this style.
12359  Default is true.
12360 \end_layout
12361
12362 \begin_layout Description
12363 \begin_inset Flex CharStyle:Code
12364 status collapsed
12365
12366 \begin_layout Plain Layout
12367 TextFont
12368 \end_layout
12369
12370 \end_inset
12371
12372  The font used for the text body .
12373  See section 
12374 \begin_inset CommandInset ref
12375 LatexCommand ref
12376 reference "sub:Font-description"
12377
12378 \end_inset
12379
12380 .
12381 \end_layout
12382
12383 \begin_layout Description
12384 \begin_inset Flex CharStyle:Code
12385 status collapsed
12386
12387 \begin_layout Plain Layout
12388 TocLevel
12389 \end_layout
12390
12391 \end_inset
12392
12393
12394 \series medium
12395  
12396 \begin_inset Flex CharStyle:Code
12397 status collapsed
12398
12399 \begin_layout Plain Layout
12400
12401 \series medium
12402 [int]
12403 \end_layout
12404
12405 \end_inset
12406
12407
12408 \series default
12409  The level of the style in the table of contents.
12410  This is used for automatic numbering of section headings.
12411 \end_layout
12412
12413 \begin_layout Description
12414 \begin_inset Flex CharStyle:Code
12415 status collapsed
12416
12417 \begin_layout Plain Layout
12418 TopSep
12419 \end_layout
12420
12421 \end_inset
12422
12423  [
12424 \begin_inset Flex CharStyle:Code
12425 status collapsed
12426
12427 \begin_layout Plain Layout
12428 float=0
12429 \end_layout
12430
12431 \end_inset
12432
12433 ] The vertical space with which the very first of a chain of paragraphs
12434  with this layout is separated from the previous paragraph.
12435  If the previous paragraph has another layout, the separations are not simply
12436  added, but the maximum is taken.
12437 \end_layout
12438
12439 \begin_layout Subsection
12440 \begin_inset CommandInset label
12441 LatexCommand label
12442 name "sub:I18n"
12443
12444 \end_inset
12445
12446 Internationalization of Paragraph Styles
12447 \end_layout
12448
12449 \begin_layout Standard
12450 LyX has long supported internationalization of layout information, but,
12451  until version 2.0, this applied only to the user interface and not to, say,
12452  PDF output.
12453  Thus, French authors were forced to resort to ugly hacks if they wanted
12454  `
12455 \lang french
12456 Théorème
12457 \lang english
12458  1' instead of `Theorem 1'.
12459  Thanks to Georg Baum, that is no longer the case.
12460 \end_layout
12461
12462 \begin_layout Standard
12463 If a 
12464 \begin_inset Flex CharStyle:Code
12465 status collapsed
12466
12467 \begin_layout Plain Layout
12468 Style
12469 \end_layout
12470
12471 \end_inset
12472
12473  defines text that is to appear in the typeset document, it may use 
12474 \begin_inset Flex CharStyle:Code
12475 status collapsed
12476
12477 \begin_layout Plain Layout
12478 LangPreamble
12479 \end_layout
12480
12481 \end_inset
12482
12483  and 
12484 \begin_inset Flex CharStyle:Code
12485 status collapsed
12486
12487 \begin_layout Plain Layout
12488 BabelPreamble
12489 \end_layout
12490
12491 \end_inset
12492
12493  to support non-English and even multi-language documents correctly.
12494  The following excerpt (from the 
12495 \begin_inset Flex CharStyle:Code
12496 status collapsed
12497
12498 \begin_layout Plain Layout
12499 theorems-ams.inc
12500 \end_layout
12501
12502 \end_inset
12503
12504  file) shows how this works:
12505 \end_layout
12506
12507 \begin_layout LyX-Code
12508 Preamble
12509 \end_layout
12510
12511 \begin_deeper
12512 \begin_layout LyX-Code
12513   
12514 \backslash
12515 theoremstyle{remark}
12516 \end_layout
12517
12518 \begin_layout LyX-Code
12519   
12520 \backslash
12521 newtheorem{claim}[thm]{
12522 \backslash
12523 protect
12524 \backslash
12525 claimname}
12526 \end_layout
12527
12528 \begin_layout LyX-Code
12529 EndPreamble
12530 \end_layout
12531
12532 \begin_layout LyX-Code
12533 LangPreamble
12534 \end_layout
12535
12536 \begin_layout LyX-Code
12537   
12538 \backslash
12539 providecommand{
12540 \backslash
12541 claimname}{_(Claim)}
12542 \end_layout
12543
12544 \begin_layout LyX-Code
12545 EndLangPreamble
12546 \end_layout
12547
12548 \begin_layout LyX-Code
12549 BabelPreamble
12550 \end_layout
12551
12552 \begin_layout LyX-Code
12553     
12554 \backslash
12555 addto
12556 \backslash
12557 captions$$lang{
12558 \backslash
12559 renewcommand{
12560 \backslash
12561 claimname}{_(Claim)}}
12562 \end_layout
12563
12564 \begin_layout LyX-Code
12565 EndBabelPreamble
12566 \end_layout
12567
12568 \end_deeper
12569 \begin_layout Standard
12570 In principle, any legal LaTeX may appear in the 
12571 \begin_inset Flex CharStyle:Code
12572 status collapsed
12573
12574 \begin_layout Plain Layout
12575 LangPreamble
12576 \end_layout
12577
12578 \end_inset
12579
12580  and 
12581 \begin_inset Flex CharStyle:Code
12582 status collapsed
12583
12584 \begin_layout Plain Layout
12585 BabelPreamble
12586 \end_layout
12587
12588 \end_inset
12589
12590  tags, but in practice they will typically look as they do here.
12591  The key to correct translation of the typeset text is the definition of
12592  the LaTeX command 
12593 \begin_inset Flex CharStyle:Code
12594 status collapsed
12595
12596 \begin_layout Plain Layout
12597
12598 \backslash
12599 claimname
12600 \end_layout
12601
12602 \end_inset
12603
12604  and its use in 
12605 \begin_inset Flex CharStyle:Code
12606 status collapsed
12607
12608 \begin_layout Plain Layout
12609
12610 \backslash
12611 newtheorem
12612 \end_layout
12613
12614 \end_inset
12615
12616 .
12617  
12618 \end_layout
12619
12620 \begin_layout Standard
12621 The 
12622 \begin_inset Flex CharStyle:Code
12623 status collapsed
12624
12625 \begin_layout Plain Layout
12626 LangPreamble
12627 \end_layout
12628
12629 \end_inset
12630
12631  tag provides for internationalization based upon the overall language of
12632  the document.
12633  The contents of the tag will be included in the preamble, just as with
12634  the 
12635 \begin_inset Flex CharStyle:Code
12636 status collapsed
12637
12638 \begin_layout Plain Layout
12639 Preamble
12640 \end_layout
12641
12642 \end_inset
12643
12644  tag.
12645  What makes it special is the use of the 
12646 \begin_inset Quotes eld
12647 \end_inset
12648
12649 function
12650 \begin_inset Quotes erd
12651 \end_inset
12652
12653  
12654 \begin_inset Flex CharStyle:Code
12655 status collapsed
12656
12657 \begin_layout Plain Layout
12658 _()
12659 \end_layout
12660
12661 \end_inset
12662
12663 , which will be replaced, when LyX produces LaTeX output, with the translation
12664  of its argument into the document language.
12665 \end_layout
12666
12667 \begin_layout Standard
12668 The 
12669 \begin_inset Flex CharStyle:Code
12670 status collapsed
12671
12672 \begin_layout Plain Layout
12673 BabelPreamble
12674 \end_layout
12675
12676 \end_inset
12677
12678  tag is more complex, since it is meant to provide support for multi-language
12679  documents and so offers an interface to the 
12680 \begin_inset Flex CharStyle:Code
12681 status collapsed
12682
12683 \begin_layout Plain Layout
12684 babel
12685 \end_layout
12686
12687 \end_inset
12688
12689  package.
12690  Its contents will be added to the preamble once for each language that
12691  appears in the document.
12692  In this case, the argument to 
12693 \begin_inset Flex CharStyle:Code
12694 status collapsed
12695
12696 \begin_layout Plain Layout
12697 _()
12698 \end_layout
12699
12700 \end_inset
12701
12702  will be replaced with its translation into the language in question; the
12703  expression 
12704 \begin_inset Flex CharStyle:Code
12705 status collapsed
12706
12707 \begin_layout Plain Layout
12708 $$lang
12709 \end_layout
12710
12711 \end_inset
12712
12713  is replaced by the language name (as used by the babel package).
12714 \end_layout
12715
12716 \begin_layout Standard
12717 A German document that also included a French section would thus have the
12718  following in the preamble:
12719 \end_layout
12720
12721 \begin_layout LyX-Code
12722
12723 \backslash
12724 addto
12725 \backslash
12726 captionsfrench{
12727 \backslash
12728 renewcommand{
12729 \backslash
12730 claimname}{Affirmation}}   
12731 \backslash
12732 addto
12733 \backslash
12734 captionsngerman{
12735 \backslash
12736 renewcommand{
12737 \backslash
12738 claimname}{Behauptung}}   
12739 \backslash
12740 providecommand{
12741 \backslash
12742 claimname}{Behauptung}
12743 \end_layout
12744
12745 \begin_layout Standard
12746 LaTeX and 
12747 \begin_inset Flex CharStyle:Code
12748 status collapsed
12749
12750 \begin_layout Plain Layout
12751 babel
12752 \end_layout
12753
12754 \end_inset
12755
12756  will then conspire to produce the correct text in the output.
12757 \end_layout
12758
12759 \begin_layout Standard
12760 One important point to note here is that the translations are provided by
12761  LyX itself, through the same mechanism it uses for internationalization
12762  of the user interface.
12763  This means, in effect, that 
12764 \begin_inset Flex CharStyle:Code
12765 status collapsed
12766
12767 \begin_layout Plain Layout
12768 LangPreamble
12769 \end_layout
12770
12771 \end_inset
12772
12773  and 
12774 \begin_inset Flex CharStyle:Code
12775 status collapsed
12776
12777 \begin_layout Plain Layout
12778 BabelPreamble
12779 \end_layout
12780
12781 \end_inset
12782
12783  are really only of use in layout files that are provided with LyX, since
12784  text entered in user-created layout files will not be seen by LyX's internation
12785 alization routines.
12786  That said, however, any layout created with the intention that it will
12787  be included with LyX should use these tags where appropriate.
12788 \end_layout
12789
12790 \begin_layout Subsection
12791 Floats
12792 \begin_inset CommandInset label
12793 LatexCommand label
12794 name "sub:Floats"
12795
12796 \end_inset
12797
12798
12799 \end_layout
12800
12801 \begin_layout Standard
12802 Since version 1.3.0 of LyX, it is has been both possible and necessary to
12803  define the floats (
12804 \begin_inset Flex CharStyle:MenuItem
12805 status collapsed
12806
12807 \begin_layout Plain Layout
12808 figure
12809 \end_layout
12810
12811 \end_inset
12812
12813
12814 \begin_inset Flex CharStyle:MenuItem
12815 status collapsed
12816
12817 \begin_layout Plain Layout
12818 table
12819 \end_layout
12820
12821 \end_inset
12822
12823 , \SpecialChar \ldots{}
12824 ) in the text class itself.
12825  Standard floats are included in the file 
12826 \begin_inset Flex CharStyle:Code
12827 status collapsed
12828
12829 \begin_layout Plain Layout
12830 stdfloats.inc
12831 \end_layout
12832
12833 \end_inset
12834
12835 , so you may have to do no more than add
12836 \end_layout
12837
12838 \begin_layout LyX-Code
12839 Input stdfloats.inc
12840 \end_layout
12841
12842 \begin_layout Standard
12843 to your layout file.
12844  If you want to implement a text class that proposes some other float types
12845  (like the AGU class bundled with LyX), the information below will hopefully
12846  help you:
12847 \end_layout
12848
12849 \begin_layout Description
12850 \begin_inset Flex CharStyle:Code
12851 status collapsed
12852
12853 \begin_layout Plain Layout
12854 Extension
12855 \end_layout
12856
12857 \end_inset
12858
12859  [
12860 \begin_inset Flex CharStyle:Code
12861 status collapsed
12862
12863 \begin_layout Plain Layout
12864 string
12865 \end_layout
12866
12867 \end_inset
12868
12869 =
12870 \begin_inset Quotes erd
12871 \end_inset
12872
12873
12874 \begin_inset Quotes erd
12875 \end_inset
12876
12877 ] The file name extension of an auxiliary file for the list of figures (or
12878  whatever).
12879  LaTeX writes the captions to this file.
12880 \end_layout
12881
12882 \begin_layout Description
12883 \begin_inset Flex CharStyle:Code
12884 status collapsed
12885
12886 \begin_layout Plain Layout
12887 GuiName
12888 \end_layout
12889
12890 \end_inset
12891
12892  [
12893 \begin_inset Flex CharStyle:Code
12894 status collapsed
12895
12896 \begin_layout Plain Layout
12897 string
12898 \end_layout
12899
12900 \end_inset
12901
12902 =
12903 \begin_inset Quotes erd
12904 \end_inset
12905
12906
12907 \begin_inset Quotes erd
12908 \end_inset
12909
12910 ] The string that will be used in the menus and also for the caption.
12911  This is translated to the current language if babel is used.
12912 \end_layout
12913
12914 \begin_layout Description
12915 \begin_inset Flex CharStyle:Code
12916 status collapsed
12917
12918 \begin_layout Plain Layout
12919 HTML*
12920 \end_layout
12921
12922 \end_inset
12923
12924  These are used for XHTML output.
12925  See 
12926 \begin_inset CommandInset ref
12927 LatexCommand ref
12928 reference "sec:Tags-for-XHTML"
12929
12930 \end_inset
12931
12932 .
12933 \end_layout
12934
12935 \begin_layout Description
12936 \begin_inset Flex CharStyle:Code
12937 status collapsed
12938
12939 \begin_layout Plain Layout
12940 ListCommand
12941 \end_layout
12942
12943 \end_inset
12944
12945  [
12946 \begin_inset Flex CharStyle:Code
12947 status collapsed
12948
12949 \begin_layout Plain Layout
12950 string
12951 \end_layout
12952
12953 \end_inset
12954
12955 =
12956 \begin_inset Quotes erd
12957 \end_inset
12958
12959
12960 \begin_inset Quotes erd
12961 \end_inset
12962
12963 ] The command used to generate a list of floats of this type; the leading
12964  `
12965 \backslash
12966 ' should be omitted.
12967  This 
12968 \emph on
12969 must
12970 \emph default
12971  be given if 
12972 \begin_inset Flex CharStyle:Code
12973 status collapsed
12974
12975 \begin_layout Plain Layout
12976 NeedsFloatPkg
12977 \end_layout
12978
12979 \end_inset
12980
12981  is false, since there is no standard way to generate this command.
12982  It is ignored if 
12983 \begin_inset Flex CharStyle:Code
12984 status collapsed
12985
12986 \begin_layout Plain Layout
12987 NeedsFloatPkg
12988 \end_layout
12989
12990 \end_inset
12991
12992  is true, since in that case there is a standard way.
12993 \end_layout
12994
12995 \begin_layout Description
12996 \begin_inset Flex CharStyle:Code
12997 status collapsed
12998
12999 \begin_layout Plain Layout
13000 ListName
13001 \end_layout
13002
13003 \end_inset
13004
13005  [
13006 \begin_inset Flex CharStyle:Code
13007 status collapsed
13008
13009 \begin_layout Plain Layout
13010 string
13011 \end_layout
13012
13013 \end_inset
13014
13015 =
13016 \begin_inset Quotes erd
13017 \end_inset
13018
13019
13020 \begin_inset Quotes erd
13021 \end_inset
13022
13023 ] A title for a list of floats of this kind (list of figures, tables, or
13024  whatever).
13025  It is used for the screen label within LyX; it is passed to LaTeX for use
13026  as the title there; and it is used as the title in XHTML output.
13027  It will be translated to the document language.
13028 \end_layout
13029
13030 \begin_layout Description
13031 \begin_inset Flex CharStyle:Code
13032 status collapsed
13033
13034 \begin_layout Plain Layout
13035 NeedsFloatPkg
13036 \end_layout
13037
13038 \end_inset
13039
13040  [
13041 \begin_inset Flex CharStyle:Code
13042 status open
13043
13044 \begin_layout Plain Layout
13045 0
13046 \end_layout
13047
13048 \end_inset
13049
13050
13051 \begin_inset Flex CharStyle:Code
13052 status collapsed
13053
13054 \begin_layout Plain Layout
13055
13056 \emph on
13057 1
13058 \end_layout
13059
13060 \end_inset
13061
13062 ] Indicates whether the float is already defined in the document class or
13063  if we instead need to load 
13064 \begin_inset Flex CharStyle:Code
13065 status collapsed
13066
13067 \begin_layout Plain Layout
13068 float.sty
13069 \end_layout
13070
13071 \end_inset
13072
13073  and use what it provides.
13074  The default is 
13075 \begin_inset Flex CharStyle:Code
13076 status collapsed
13077
13078 \begin_layout Plain Layout
13079 1
13080 \end_layout
13081
13082 \end_inset
13083
13084 , which means: use 
13085 \begin_inset Flex CharStyle:Code
13086 status collapsed
13087
13088 \begin_layout Plain Layout
13089 float.sty
13090 \end_layout
13091
13092 \end_inset
13093
13094 .
13095  It should be set to 
13096 \begin_inset Flex CharStyle:Code
13097 status collapsed
13098
13099 \begin_layout Plain Layout
13100 0
13101 \end_layout
13102
13103 \end_inset
13104
13105  if the float is already defined by the LaTeX document class.
13106 \end_layout
13107
13108 \begin_layout Description
13109 \begin_inset Flex CharStyle:Code
13110 status collapsed
13111
13112 \begin_layout Plain Layout
13113 NumberWithin
13114 \end_layout
13115
13116 \end_inset
13117
13118  [
13119 \begin_inset Flex CharStyle:Code
13120 status collapsed
13121
13122 \begin_layout Plain Layout
13123 string
13124 \end_layout
13125
13126 \end_inset
13127
13128 =
13129 \begin_inset Quotes erd
13130 \end_inset
13131
13132
13133 \begin_inset Quotes erd
13134 \end_inset
13135
13136 ] This (optional) argument determines whether floats of this class will
13137  be numbered within some sectional unit of the document.
13138  For example, if within is equal to 
13139 \begin_inset Flex CharStyle:Code
13140 status collapsed
13141
13142 \begin_layout Plain Layout
13143 chapter
13144 \end_layout
13145
13146 \end_inset
13147
13148 , the floats will be numbered within chapters.
13149  
13150 \end_layout
13151
13152 \begin_layout Description
13153 \begin_inset Flex CharStyle:Code
13154 status collapsed
13155
13156 \begin_layout Plain Layout
13157 Placement
13158 \end_layout
13159
13160 \end_inset
13161
13162  [
13163 \begin_inset Flex CharStyle:Code
13164 status collapsed
13165
13166 \begin_layout Plain Layout
13167 string
13168 \end_layout
13169
13170 \end_inset
13171
13172 =
13173 \begin_inset Quotes erd
13174 \end_inset
13175
13176
13177 \begin_inset Quotes erd
13178 \end_inset
13179
13180 ] The default placement for the given class of floats.
13181  The string should be as in standard LaTeX: 
13182 \begin_inset Flex CharStyle:Code
13183 status collapsed
13184
13185 \begin_layout Plain Layout
13186 t
13187 \end_layout
13188
13189 \end_inset
13190
13191
13192 \begin_inset Flex CharStyle:Code
13193 status collapsed
13194
13195 \begin_layout Plain Layout
13196 b
13197 \end_layout
13198
13199 \end_inset
13200
13201
13202 \begin_inset Flex CharStyle:Code
13203 status collapsed
13204
13205 \begin_layout Plain Layout
13206 p
13207 \end_layout
13208
13209 \end_inset
13210
13211  and 
13212 \begin_inset Flex CharStyle:Code
13213 status collapsed
13214
13215 \begin_layout Plain Layout
13216 h
13217 \end_layout
13218
13219 \end_inset
13220
13221  for top, bottom, page, and here, respectively.
13222 \begin_inset Foot
13223 status collapsed
13224
13225 \begin_layout Plain Layout
13226 Note that the order of these letters in the string is irrelevant, like in
13227  LaTeX.
13228 \end_layout
13229
13230 \end_inset
13231
13232  On top of that there is a new type, 
13233 \begin_inset Flex CharStyle:Code
13234 status collapsed
13235
13236 \begin_layout Plain Layout
13237 H
13238 \end_layout
13239
13240 \end_inset
13241
13242 , which does not really correspond to a float, since it means: put it 
13243 \begin_inset Quotes eld
13244 \end_inset
13245
13246 here
13247 \begin_inset Quotes erd
13248 \end_inset
13249
13250  and nowhere else.
13251  Note however that the 
13252 \begin_inset Flex CharStyle:Code
13253 status collapsed
13254
13255 \begin_layout Plain Layout
13256 H
13257 \end_layout
13258
13259 \end_inset
13260
13261  specifier is special and, because of implementation details, cannot be
13262  used in non-built in float types.
13263  If you do not understand what this means, just use 
13264 \begin_inset Quotes eld
13265 \end_inset
13266
13267
13268 \begin_inset Flex CharStyle:Code
13269 status collapsed
13270
13271 \begin_layout Plain Layout
13272 tbp
13273 \end_layout
13274
13275 \end_inset
13276
13277
13278 \begin_inset Quotes erd
13279 \end_inset
13280
13281 .
13282 \end_layout
13283
13284 \begin_layout Description
13285 \begin_inset Flex CharStyle:Code
13286 status collapsed
13287
13288 \begin_layout Plain Layout
13289 RefPrefix
13290 \end_layout
13291
13292 \end_inset
13293
13294  [
13295 \begin_inset Flex CharStyle:Code
13296 status collapsed
13297
13298 \begin_layout Plain Layout
13299 string
13300 \end_layout
13301
13302 \end_inset
13303
13304 ] The prefix to use when creating labels referring to floats of this type.
13305  This allows the use of formatted references.
13306  Note that you can remove any 
13307 \begin_inset Flex CharStyle:Code
13308 status collapsed
13309
13310 \begin_layout Plain Layout
13311 RefPrefix
13312 \end_layout
13313
13314 \end_inset
13315
13316  set by a copied style by using the special value 
13317 \begin_inset Quotes eld
13318 \end_inset
13319
13320 OFF
13321 \begin_inset Quotes erd
13322 \end_inset
13323
13324 , which must be all caps.
13325 \end_layout
13326
13327 \begin_layout Description
13328 \begin_inset Flex CharStyle:Code
13329 status collapsed
13330
13331 \begin_layout Plain Layout
13332 Style
13333 \end_layout
13334
13335 \end_inset
13336
13337  [
13338 \begin_inset Flex CharStyle:Code
13339 status collapsed
13340
13341 \begin_layout Plain Layout
13342 string
13343 \end_layout
13344
13345 \end_inset
13346
13347 =
13348 \begin_inset Quotes erd
13349 \end_inset
13350
13351
13352 \begin_inset Quotes erd
13353 \end_inset
13354
13355 ] The style used when defining the float using 
13356 \begin_inset Flex CharStyle:Code
13357 status collapsed
13358
13359 \begin_layout Plain Layout
13360
13361 \backslash
13362 newfloat
13363 \end_layout
13364
13365 \end_inset
13366
13367 .
13368 \end_layout
13369
13370 \begin_layout Description
13371 \begin_inset Flex CharStyle:Code
13372 status collapsed
13373
13374 \begin_layout Plain Layout
13375 Type
13376 \end_layout
13377
13378 \end_inset
13379
13380  [
13381 \begin_inset Flex CharStyle:Code
13382 status collapsed
13383
13384 \begin_layout Plain Layout
13385 string
13386 \end_layout
13387
13388 \end_inset
13389
13390 =
13391 \begin_inset Quotes erd
13392 \end_inset
13393
13394
13395 \begin_inset Quotes erd
13396 \end_inset
13397
13398 ] The 
13399 \begin_inset Quotes eld
13400 \end_inset
13401
13402 type
13403 \begin_inset Quotes erd
13404 \end_inset
13405
13406  of the new class of floats, like program or algorithm.
13407  After the appropriate 
13408 \begin_inset Flex CharStyle:Code
13409 status collapsed
13410
13411 \begin_layout Plain Layout
13412
13413 \backslash
13414 newfloat
13415 \end_layout
13416
13417 \end_inset
13418
13419 , commands such as 
13420 \begin_inset Flex CharStyle:Code
13421 status collapsed
13422
13423 \begin_layout Plain Layout
13424
13425 \backslash
13426 begin{program}
13427 \end_layout
13428
13429 \end_inset
13430
13431  or 
13432 \begin_inset Flex CharStyle:Code
13433 status collapsed
13434
13435 \begin_layout Plain Layout
13436
13437 \backslash
13438 end{algorithm*}
13439 \end_layout
13440
13441 \end_inset
13442
13443  will be available.
13444 \end_layout
13445
13446 \begin_layout Standard
13447 Note that defining a float with type 
13448 \begin_inset Flex CharStyle:Code
13449 status collapsed
13450
13451 \begin_layout Plain Layout
13452
13453 \emph on
13454 type
13455 \end_layout
13456
13457 \end_inset
13458
13459  automatically defines the corresponding counter with name 
13460 \begin_inset Flex CharStyle:Code
13461 status collapsed
13462
13463 \begin_layout Plain Layout
13464
13465 \emph on
13466 type
13467 \end_layout
13468
13469 \end_inset
13470
13471 .
13472 \end_layout
13473
13474 \begin_layout Subsection
13475 Flex insets and InsetLayout
13476 \begin_inset CommandInset label
13477 LatexCommand label
13478 name "sub:Flex-insets-and"
13479
13480 \end_inset
13481
13482
13483 \end_layout
13484
13485 \begin_layout Standard
13486 LyX has supported character styles since version 1.4.0; as of version 1.6.0,
13487  these are called Flex insets.
13488  
13489 \end_layout
13490
13491 \begin_layout Standard
13492 Flex insets come in three different kinds: 
13493 \end_layout
13494
13495 \begin_layout Itemize
13496 character style (
13497 \begin_inset Flex CharStyle:Code
13498 status collapsed
13499
13500 \begin_layout Plain Layout
13501 CharStyle
13502 \end_layout
13503
13504 \end_inset
13505
13506 ): These define semantic markup corresponding to such LaTeX commands as
13507  
13508 \begin_inset Flex CharStyle:Code
13509 status collapsed
13510
13511 \begin_layout Plain Layout
13512
13513 \backslash
13514 noun
13515 \end_layout
13516
13517 \end_inset
13518
13519  and 
13520 \begin_inset Flex CharStyle:Code
13521 status collapsed
13522
13523 \begin_layout Plain Layout
13524
13525 \backslash
13526 code
13527 \end_layout
13528
13529 \end_inset
13530
13531 .
13532 \end_layout
13533
13534 \begin_layout Itemize
13535 user custom (
13536 \begin_inset Flex CharStyle:Code
13537 status collapsed
13538
13539 \begin_layout Plain Layout
13540 Custom
13541 \end_layout
13542
13543 \end_inset
13544
13545 ): These can be used to define custom collapsible insets, similar to TeX
13546  code, footnote, and the like.
13547  An obvious example is an endnote inset, which is defined in the 
13548 \begin_inset Flex CharStyle:Code
13549 status collapsed
13550
13551 \begin_layout Plain Layout
13552 endnote
13553 \end_layout
13554
13555 \end_inset
13556
13557  module.
13558 \end_layout
13559
13560 \begin_layout Itemize
13561 XML elements (
13562 \begin_inset Flex CharStyle:Code
13563 status collapsed
13564
13565 \begin_layout Plain Layout
13566 Element
13567 \end_layout
13568
13569 \end_inset
13570
13571 ): For use with DocBook classes.
13572 \end_layout
13573
13574 \begin_layout Standard
13575 Flex insets are defined using the 
13576 \begin_inset Flex CharStyle:Code
13577 status collapsed
13578
13579 \begin_layout Plain Layout
13580 InsetLayout
13581 \end_layout
13582
13583 \end_inset
13584
13585  tag, which shall be explained in a moment.
13586 \end_layout
13587
13588 \begin_layout Standard
13589 The 
13590 \begin_inset Flex CharStyle:Code
13591 status collapsed
13592
13593 \begin_layout Plain Layout
13594 InsetLayout
13595 \end_layout
13596
13597 \end_inset
13598
13599  tag also serves another function: It can be used to customize the general
13600  layout of many different types of insets.
13601  Currently, 
13602 \begin_inset Flex CharStyle:Code
13603 status collapsed
13604
13605 \begin_layout Plain Layout
13606 InsetLayout
13607 \end_layout
13608
13609 \end_inset
13610
13611  can be used to customize the layout parameters for footnotes, marginal
13612  notes, note insets, TeX code (ERT) insets, branches, listings, indexes,
13613  boxes, tables, algorithms, URLs, and optional arguments, as well as to
13614  define Flex insets.
13615 \end_layout
13616
13617 \begin_layout Standard
13618 The 
13619 \begin_inset Flex CharStyle:Code
13620 status collapsed
13621
13622 \begin_layout Plain Layout
13623 InsetLayout
13624 \end_layout
13625
13626 \end_inset
13627
13628  definition must begin with a line of the form:
13629 \end_layout
13630
13631 \begin_layout LyX-Code
13632 InsetLayout <Type>
13633 \end_layout
13634
13635 \begin_layout Standard
13636 Here 
13637 \begin_inset Flex CharStyle:Code
13638 status collapsed
13639
13640 \begin_layout Plain Layout
13641 <Type>
13642 \end_layout
13643
13644 \end_inset
13645
13646  indicates the inset whose layout is being defined, and here there are two
13647  cases.
13648 \end_layout
13649
13650 \begin_layout Enumerate
13651 The layout for a pre-existing inset is being modified.
13652  In this case, can be 
13653 \begin_inset Flex CharStyle:Code
13654 status collapsed
13655
13656 \begin_layout Plain Layout
13657 <Type>
13658 \end_layout
13659
13660 \end_inset
13661
13662  any one of the following: 
13663 \begin_inset Flex CharStyle:Code
13664 status collapsed
13665
13666 \begin_layout Plain Layout
13667 Algorithm
13668 \end_layout
13669
13670 \end_inset
13671
13672
13673 \begin_inset Flex CharStyle:Code
13674 status collapsed
13675
13676 \begin_layout Plain Layout
13677 Branch
13678 \end_layout
13679
13680 \end_inset
13681
13682
13683 \begin_inset Flex CharStyle:Code
13684 status collapsed
13685
13686 \begin_layout Plain Layout
13687 Box
13688 \end_layout
13689
13690 \end_inset
13691
13692
13693 \begin_inset Flex CharStyle:Code
13694 status collapsed
13695
13696 \begin_layout Plain Layout
13697 Box:shaded
13698 \end_layout
13699
13700 \end_inset
13701
13702
13703 \begin_inset Flex CharStyle:Code
13704 status collapsed
13705
13706 \begin_layout Plain Layout
13707 ERT
13708 \end_layout
13709
13710 \end_inset
13711
13712
13713 \begin_inset Flex CharStyle:Code
13714 status collapsed
13715
13716 \begin_layout Plain Layout
13717 Figure
13718 \end_layout
13719
13720 \end_inset
13721
13722
13723 \begin_inset Flex CharStyle:Code
13724 status collapsed
13725
13726 \begin_layout Plain Layout
13727 Foot
13728 \end_layout
13729
13730 \end_inset
13731
13732
13733 \begin_inset Flex CharStyle:Code
13734 status collapsed
13735
13736 \begin_layout Plain Layout
13737 Index
13738 \end_layout
13739
13740 \end_inset
13741
13742
13743 \begin_inset Flex CharStyle:Code
13744 status collapsed
13745
13746 \begin_layout Plain Layout
13747 Info
13748 \end_layout
13749
13750 \end_inset
13751
13752
13753 \begin_inset Flex CharStyle:Code
13754 status collapsed
13755
13756 \begin_layout Plain Layout
13757 Info:menu
13758 \end_layout
13759
13760 \end_inset
13761
13762
13763 \begin_inset Flex CharStyle:Code
13764 status collapsed
13765
13766 \begin_layout Plain Layout
13767 Info:shortcut
13768 \end_layout
13769
13770 \end_inset
13771
13772
13773 \begin_inset Flex CharStyle:Code
13774 status collapsed
13775
13776 \begin_layout Plain Layout
13777 Info:shortcuts
13778 \end_layout
13779
13780 \end_inset
13781
13782
13783 \begin_inset Flex CharStyle:Code
13784 status collapsed
13785
13786 \begin_layout Plain Layout
13787 Listings
13788 \end_layout
13789
13790 \end_inset
13791
13792
13793 \begin_inset Flex CharStyle:Code
13794 status collapsed
13795
13796 \begin_layout Plain Layout
13797 Marginal
13798 \end_layout
13799
13800 \end_inset
13801
13802
13803 \begin_inset Flex CharStyle:Code
13804 status collapsed
13805
13806 \begin_layout Plain Layout
13807 Note:Comment
13808 \end_layout
13809
13810 \end_inset
13811
13812
13813 \begin_inset Flex CharStyle:Code
13814 status collapsed
13815
13816 \begin_layout Plain Layout
13817 Note:Note
13818 \end_layout
13819
13820 \end_inset
13821
13822
13823 \begin_inset Flex CharStyle:Code
13824 status collapsed
13825
13826 \begin_layout Plain Layout
13827 Note:GreyedOut
13828 \end_layout
13829
13830 \end_inset
13831
13832
13833 \begin_inset Flex CharStyle:Code
13834 status collapsed
13835
13836 \begin_layout Plain Layout
13837 OptArg
13838 \end_layout
13839
13840 \end_inset
13841
13842
13843 \begin_inset Flex CharStyle:Code
13844 status collapsed
13845
13846 \begin_layout Plain Layout
13847 Table
13848 \end_layout
13849
13850 \end_inset
13851
13852 , or 
13853 \begin_inset Flex CharStyle:Code
13854 status collapsed
13855
13856 \begin_layout Plain Layout
13857 URL
13858 \end_layout
13859
13860 \end_inset
13861
13862 .
13863 \end_layout
13864
13865 \begin_layout Enumerate
13866 The layout for a Flex inset is being defined.
13867  In this case, 
13868 \begin_inset Flex CharStyle:Code
13869 status collapsed
13870
13871 \begin_layout Plain Layout
13872 <Type>
13873 \end_layout
13874
13875 \end_inset
13876
13877  can be any valid identifier not used by a pre-existing inset.
13878  Note that the definition of a flex inset 
13879 \emph on
13880 must 
13881 \emph default
13882 also include a 
13883 \begin_inset Flex CharStyle:Code
13884 status collapsed
13885
13886 \begin_layout Plain Layout
13887 LyXType
13888 \end_layout
13889
13890 \end_inset
13891
13892  entry, declaring which type of inset this is.
13893 \end_layout
13894
13895 \begin_layout Standard
13896 The 
13897 \begin_inset Flex CharStyle:Code
13898 status collapsed
13899
13900 \begin_layout Plain Layout
13901 InsetLayout
13902 \end_layout
13903
13904 \end_inset
13905
13906  definition can contain the following entries:
13907 \end_layout
13908
13909 \begin_layout Description
13910 \begin_inset Flex CharStyle:Code
13911 status collapsed
13912
13913 \begin_layout Plain Layout
13914 BgColor
13915 \end_layout
13916
13917 \end_inset
13918
13919  The color for the inset's background.
13920  The valid colors are defined in 
13921 \begin_inset Flex CharStyle:Code
13922 status collapsed
13923
13924 \begin_layout Plain Layout
13925 src/ColorCode.h
13926 \end_layout
13927
13928 \end_inset
13929
13930 .
13931 \end_layout
13932
13933 \begin_layout Description
13934 \begin_inset Flex CharStyle:Code
13935 status collapsed
13936
13937 \begin_layout Plain Layout
13938 ContentAsLabel
13939 \end_layout
13940
13941 \end_inset
13942
13943  [
13944 \begin_inset Flex CharStyle:Code
13945 status collapsed
13946
13947 \begin_layout Plain Layout
13948
13949 \emph on
13950 0
13951 \end_layout
13952
13953 \end_inset
13954
13955 ,
13956 \begin_inset Flex CharStyle:Code
13957 status collapsed
13958
13959 \begin_layout Plain Layout
13960 1
13961 \end_layout
13962
13963 \end_inset
13964
13965 ] Whether to use the content of the inset as the label, when the inset is
13966  closed.
13967  Default is false.
13968 \end_layout
13969
13970 \begin_layout Description
13971 \begin_inset Flex CharStyle:Code
13972 status collapsed
13973
13974 \begin_layout Plain Layout
13975 CopyStyle
13976 \end_layout
13977
13978 \end_inset
13979
13980  As with paragraph styles (see page 
13981 \begin_inset CommandInset ref
13982 LatexCommand ref
13983 reference "des:CopyStyle"
13984
13985 \end_inset
13986
13987 ).
13988 \end_layout
13989
13990 \begin_layout Description
13991 \begin_inset Flex CharStyle:Code
13992 status collapsed
13993
13994 \begin_layout Plain Layout
13995 CustomPars
13996 \end_layout
13997
13998 \end_inset
13999
14000  [
14001 \begin_inset Flex CharStyle:Code
14002 status collapsed
14003
14004 \begin_layout Plain Layout
14005
14006 \emph on
14007 0
14008 \end_layout
14009
14010 \end_inset
14011
14012 ,
14013 \begin_inset Flex CharStyle:Code
14014 status collapsed
14015
14016 \begin_layout Plain Layout
14017 1
14018 \end_layout
14019
14020 \end_inset
14021
14022 ] Indicates whether the user may employ the Paragraph Settings dialog to
14023  customize the paragraph.
14024 \end_layout
14025
14026 \begin_layout Description
14027 \begin_inset Flex CharStyle:Code
14028 status collapsed
14029
14030 \begin_layout Plain Layout
14031 Decoration
14032 \end_layout
14033
14034 \end_inset
14035
14036  can be 
14037 \begin_inset Flex CharStyle:Code
14038 status collapsed
14039
14040 \begin_layout Plain Layout
14041 Classic
14042 \end_layout
14043
14044 \end_inset
14045
14046
14047 \begin_inset Flex CharStyle:Code
14048 status collapsed
14049
14050 \begin_layout Plain Layout
14051 Minimalistic
14052 \end_layout
14053
14054 \end_inset
14055
14056 , or 
14057 \begin_inset Flex CharStyle:Code
14058 status collapsed
14059
14060 \begin_layout Plain Layout
14061 Conglomerate
14062 \end_layout
14063
14064 \end_inset
14065
14066 , describing the rendering style used for the inset's frame and buttons.
14067  Footnotes generally use 
14068 \begin_inset Flex CharStyle:Code
14069 status collapsed
14070
14071 \begin_layout Plain Layout
14072 Classic
14073 \end_layout
14074
14075 \end_inset
14076
14077 , ERT insets generally 
14078 \begin_inset Flex CharStyle:Code
14079 status collapsed
14080
14081 \begin_layout Plain Layout
14082 Minimalistic
14083 \end_layout
14084
14085 \end_inset
14086
14087 , and character styles 
14088 \begin_inset Flex CharStyle:Code
14089 status collapsed
14090
14091 \begin_layout Plain Layout
14092 Conglomerate
14093 \end_layout
14094
14095 \end_inset
14096
14097 .
14098 \end_layout
14099
14100 \begin_layout Description
14101 \begin_inset Flex CharStyle:Code
14102 status collapsed
14103
14104 \begin_layout Plain Layout
14105 End
14106 \end_layout
14107
14108 \end_inset
14109
14110  Required at the end of the InsetLayout declarations.
14111 \end_layout
14112
14113 \begin_layout Description
14114 \begin_inset Flex CharStyle:Code
14115 status collapsed
14116
14117 \begin_layout Plain Layout
14118 Font
14119 \end_layout
14120
14121 \end_inset
14122
14123  The font used for both the text body 
14124 \emph on
14125 and
14126 \emph default
14127  the label.
14128  See section
14129 \begin_inset space ~
14130 \end_inset
14131
14132
14133 \begin_inset CommandInset ref
14134 LatexCommand ref
14135 reference "sub:Font-description"
14136
14137 \end_inset
14138
14139 .
14140  Note that defining this font automatically defines the 
14141 \begin_inset Flex CharStyle:Code
14142 status collapsed
14143
14144 \begin_layout Plain Layout
14145 LabelFont
14146 \end_layout
14147
14148 \end_inset
14149
14150  to the same value, so define this first and define 
14151 \begin_inset Flex CharStyle:Code
14152 status collapsed
14153
14154 \begin_layout Plain Layout
14155 LabelFont
14156 \end_layout
14157
14158 \end_inset
14159
14160  later if you want them to be different.
14161 \end_layout
14162
14163 \begin_layout Description
14164 \begin_inset Flex CharStyle:Code
14165 status collapsed
14166
14167 \begin_layout Plain Layout
14168 ForceLTR
14169 \end_layout
14170
14171 \end_inset
14172
14173  Force the 
14174 \begin_inset Quotes eld
14175 \end_inset
14176
14177 latex
14178 \begin_inset Quotes erd
14179 \end_inset
14180
14181  language, leading to Left-to-Right (latin) output, e.
14182 \begin_inset space \thinspace{}
14183 \end_inset
14184
14185 g.
14186 \begin_inset space \space{}
14187 \end_inset
14188
14189 in TeX code or URL.
14190  A kludge.
14191 \end_layout
14192
14193 \begin_layout Description
14194 \begin_inset Flex CharStyle:Code
14195 status collapsed
14196
14197 \begin_layout Plain Layout
14198 ForcePlain
14199 \end_layout
14200
14201 \end_inset
14202
14203  [
14204 \begin_inset Flex CharStyle:Code
14205 status collapsed
14206
14207 \begin_layout Plain Layout
14208
14209 \emph on
14210 0
14211 \end_layout
14212
14213 \end_inset
14214
14215 ,
14216 \begin_inset Flex CharStyle:Code
14217 status collapsed
14218
14219 \begin_layout Plain Layout
14220 1
14221 \end_layout
14222
14223 \end_inset
14224
14225 ] Indicates whether the PlainLayout should be used or, instead, the user
14226  can change the paragraph style used in the inset.
14227  Default is false.
14228 \end_layout
14229
14230 \begin_layout Description
14231 \begin_inset Flex CharStyle:Code
14232 status collapsed
14233
14234 \begin_layout Plain Layout
14235 FreeSpacing
14236 \end_layout
14237
14238 \end_inset
14239
14240  As with paragraph styles (see page 
14241 \begin_inset CommandInset ref
14242 LatexCommand pageref
14243 reference "des:FreeSpacing"
14244
14245 \end_inset
14246
14247 ).
14248  Default is false.
14249 \end_layout
14250
14251 \begin_layout Description
14252 \begin_inset Flex CharStyle:Code
14253 status collapsed
14254
14255 \begin_layout Plain Layout
14256 HTML*
14257 \end_layout
14258
14259 \end_inset
14260
14261  These tags control XHTML output.
14262  See 
14263 \end_layout
14264
14265 \begin_layout Description
14266 \begin_inset Flex CharStyle:Code
14267 status collapsed
14268
14269 \begin_layout Plain Layout
14270 InToc
14271 \end_layout
14272
14273 \end_inset
14274
14275  [
14276 \begin_inset Flex CharStyle:Code
14277 status collapsed
14278
14279 \begin_layout Plain Layout
14280
14281 \emph on
14282 0
14283 \end_layout
14284
14285 \end_inset
14286
14287 ,
14288 \begin_inset Flex CharStyle:Code
14289 status collapsed
14290
14291 \begin_layout Plain Layout
14292 1
14293 \end_layout
14294
14295 \end_inset
14296
14297 ] Whether to include the contents of this inset in the strings generated
14298  for the `Outline' pane.
14299  One would not, for example, want the content of a footnote in a section
14300  header to be included in the TOC displayed in the outline, but one would
14301  normally want the content of a character style displayed.
14302  Default is false: not to include.
14303 \end_layout
14304
14305 \begin_layout Description
14306 \begin_inset Flex CharStyle:Code
14307 status collapsed
14308
14309 \begin_layout Plain Layout
14310 KeepEmpty
14311 \end_layout
14312
14313 \end_inset
14314
14315  As with paragraph styles (see page 
14316 \begin_inset CommandInset ref
14317 LatexCommand pageref
14318 reference "des:KeepEmpty"
14319
14320 \end_inset
14321
14322 ).
14323  Default is false.
14324 \end_layout
14325
14326 \begin_layout Description
14327 \begin_inset Flex CharStyle:Code
14328 status collapsed
14329
14330 \begin_layout Plain Layout
14331 LabelFont
14332 \end_layout
14333
14334 \end_inset
14335
14336  The font used for the label.
14337  See section
14338 \begin_inset space ~
14339 \end_inset
14340
14341
14342 \begin_inset CommandInset ref
14343 LatexCommand ref
14344 reference "sub:Font-description"
14345
14346 \end_inset
14347
14348 .
14349  Note that this definition can never appear before 
14350 \begin_inset Flex CharStyle:Code
14351 status collapsed
14352
14353 \begin_layout Plain Layout
14354 Font
14355 \end_layout
14356
14357 \end_inset
14358
14359 , lest it be ineffective.
14360 \end_layout
14361
14362 \begin_layout Description
14363 \begin_inset Flex CharStyle:Code
14364 status collapsed
14365
14366 \begin_layout Plain Layout
14367 LabelString
14368 \end_layout
14369
14370 \end_inset
14371
14372  What will be displayed on the button or elsewhere as the inset label.
14373  Some inset types (TeX code and Branch) modify this label on the fly.
14374 \end_layout
14375
14376 \begin_layout Description
14377 \begin_inset Flex CharStyle:Code
14378 status collapsed
14379
14380 \begin_layout Plain Layout
14381 LatexName
14382 \end_layout
14383
14384 \end_inset
14385
14386  The name of the corresponding LaTeX stuff.
14387  Either the environment or command name.
14388 \end_layout
14389
14390 \begin_layout Description
14391 \begin_inset Flex CharStyle:Code
14392 status collapsed
14393
14394 \begin_layout Plain Layout
14395 LatexParam
14396 \end_layout
14397
14398 \end_inset
14399
14400  The optional parameter for the corresponding 
14401 \begin_inset Flex CharStyle:Code
14402 status collapsed
14403
14404 \begin_layout Plain Layout
14405 LatexName
14406 \end_layout
14407
14408 \end_inset
14409
14410  stuff, including possible bracket pairs like 
14411 \begin_inset Flex CharStyle:Code
14412 status collapsed
14413
14414 \begin_layout Plain Layout
14415 []
14416 \end_layout
14417
14418 \end_inset
14419
14420 .
14421  This parameter cannot be changed from within LyX.
14422 \end_layout
14423
14424 \begin_layout Description
14425 \begin_inset Flex CharStyle:Code
14426 status collapsed
14427
14428 \begin_layout Plain Layout
14429 LatexType
14430 \end_layout
14431
14432 \end_inset
14433
14434  As with paragraph styles (see page 
14435 \begin_inset CommandInset ref
14436 LatexCommand pageref
14437 reference "des:LatexType"
14438
14439 \end_inset
14440
14441 ).
14442 \end_layout
14443
14444 \begin_layout Description
14445 \begin_inset Flex CharStyle:Code
14446 status collapsed
14447
14448 \begin_layout Plain Layout
14449 LyxType
14450 \end_layout
14451
14452 \end_inset
14453
14454  Can be 
14455 \begin_inset Flex CharStyle:Code
14456 status collapsed
14457
14458 \begin_layout Plain Layout
14459 charstyle
14460 \end_layout
14461
14462 \end_inset
14463
14464
14465 \begin_inset Flex CharStyle:Code
14466 status collapsed
14467
14468 \begin_layout Plain Layout
14469 custom
14470 \end_layout
14471
14472 \end_inset
14473
14474
14475 \begin_inset Flex CharStyle:Code
14476 status collapsed
14477
14478 \begin_layout Plain Layout
14479 element
14480 \end_layout
14481
14482 \end_inset
14483
14484 , or 
14485 \begin_inset Flex CharStyle:Code
14486 status collapsed
14487
14488 \begin_layout Plain Layout
14489 end
14490 \end_layout
14491
14492 \end_inset
14493
14494  (indicating a dummy definition ending definitions of charstyles, etc).
14495  This entry is required in and is only meaningful for Flex insets.
14496  Among other things, it determines on which menu this inset will appear.
14497  Setting 
14498 \begin_inset Flex CharStyle:Code
14499 status collapsed
14500
14501 \begin_layout Plain Layout
14502 LyXType
14503 \end_layout
14504
14505 \end_inset
14506
14507  to 
14508 \begin_inset Flex CharStyle:Code
14509 status collapsed
14510
14511 \begin_layout Plain Layout
14512 charstyle
14513 \end_layout
14514
14515 \end_inset
14516
14517  will set 
14518 \begin_inset Flex CharStyle:Code
14519 status collapsed
14520
14521 \begin_layout Plain Layout
14522 MultiPar
14523 \end_layout
14524
14525 \end_inset
14526
14527  to false.
14528  
14529 \begin_inset Flex CharStyle:Code
14530 status collapsed
14531
14532 \begin_layout Plain Layout
14533 MultiPar
14534 \end_layout
14535
14536 \end_inset
14537
14538  can be set to true for charstyle insets, if you wish, by setting it 
14539 \emph on
14540 after
14541 \emph default
14542  you set the 
14543 \begin_inset Flex CharStyle:Code
14544 status collapsed
14545
14546 \begin_layout Plain Layout
14547 LyXType
14548 \end_layout
14549
14550 \end_inset
14551
14552 .
14553 \end_layout
14554
14555 \begin_layout Description
14556 \begin_inset Flex CharStyle:Code
14557 status collapsed
14558
14559 \begin_layout Plain Layout
14560 MultiPar
14561 \end_layout
14562
14563 \end_inset
14564
14565  [
14566 \begin_inset Flex CharStyle:Code
14567 status collapsed
14568
14569 \begin_layout Plain Layout
14570
14571 \emph on
14572 0
14573 \end_layout
14574
14575 \end_inset
14576
14577 ,
14578 \begin_inset Flex CharStyle:Code
14579 status collapsed
14580
14581 \begin_layout Plain Layout
14582 1
14583 \end_layout
14584
14585 \end_inset
14586
14587 ] Whether multiple paragraphs are permitted in this inset.
14588  This will also set 
14589 \begin_inset Flex CharStyle:Code
14590 status collapsed
14591
14592 \begin_layout Plain Layout
14593 CustomPars
14594 \end_layout
14595
14596 \end_inset
14597
14598  to the same value and 
14599 \begin_inset Flex CharStyle:Code
14600 status collapsed
14601
14602 \begin_layout Plain Layout
14603 ForcePlain
14604 \end_layout
14605
14606 \end_inset
14607
14608  to the opposite value.
14609  These can be reset to other values, if they are used 
14610 \emph on
14611 after
14612 \emph default
14613  
14614 \begin_inset Flex CharStyle:Code
14615 status collapsed
14616
14617 \begin_layout Plain Layout
14618 MultiPar
14619 \end_layout
14620
14621 \end_inset
14622
14623 .
14624  Default is true.
14625 \end_layout
14626
14627 \begin_layout Description
14628 \begin_inset Flex CharStyle:Code
14629 status collapsed
14630
14631 \begin_layout Plain Layout
14632 NeedProtect
14633 \end_layout
14634
14635 \end_inset
14636
14637  [
14638 \begin_inset Flex CharStyle:Code
14639 status collapsed
14640
14641 \begin_layout Plain Layout
14642
14643 \emph on
14644 0
14645 \end_layout
14646
14647 \end_inset
14648
14649 ,
14650 \begin_inset Flex CharStyle:Code
14651 status collapsed
14652
14653 \begin_layout Plain Layout
14654 1
14655 \end_layout
14656
14657 \end_inset
14658
14659 ] Whether fragile commands in this layout should be 
14660 \begin_inset Flex CharStyle:Code
14661 status collapsed
14662
14663 \begin_layout Plain Layout
14664
14665 \backslash
14666 protect
14667 \end_layout
14668
14669 \end_inset
14670
14671 'ed.
14672  (Note: This is 
14673 \emph on
14674 not
14675 \emph default
14676  whether the command should itself be protected.) Default is false.
14677 \end_layout
14678
14679 \begin_layout Description
14680 \begin_inset Flex CharStyle:Code
14681 status collapsed
14682
14683 \begin_layout Plain Layout
14684 ParbreakIsNewline
14685 \end_layout
14686
14687 \end_inset
14688
14689  [
14690 \begin_inset Flex CharStyle:Code
14691 status collapsed
14692
14693 \begin_layout Plain Layout
14694
14695 \emph on
14696 0
14697 \end_layout
14698
14699 \end_inset
14700
14701
14702 \begin_inset Flex CharStyle:Code
14703 status collapsed
14704
14705 \begin_layout Plain Layout
14706 1
14707 \end_layout
14708
14709 \end_inset
14710
14711 ] As with paragraph styles (see page 
14712 \begin_inset CommandInset ref
14713 LatexCommand pageref
14714 reference "des:ParbreakIsNewline"
14715
14716 \end_inset
14717
14718 ).
14719  Default is false.
14720 \end_layout
14721
14722 \begin_layout Description
14723 \begin_inset Flex CharStyle:Code
14724 status collapsed
14725
14726 \begin_layout Plain Layout
14727 PassThru
14728 \end_layout
14729
14730 \end_inset
14731
14732  [
14733 \begin_inset Flex CharStyle:Code
14734 status collapsed
14735
14736 \begin_layout Plain Layout
14737
14738 \emph on
14739 0
14740 \end_layout
14741
14742 \end_inset
14743
14744 ,
14745 \begin_inset Flex CharStyle:Code
14746 status collapsed
14747
14748 \begin_layout Plain Layout
14749 1
14750 \end_layout
14751
14752 \end_inset
14753
14754 ] As with paragraph styles (see page 
14755 \begin_inset CommandInset ref
14756 LatexCommand pageref
14757 reference "des:PassThru"
14758
14759 \end_inset
14760
14761 ).
14762  Default is false.
14763 \end_layout
14764
14765 \begin_layout Description
14766 \begin_inset Flex CharStyle:Code
14767 status collapsed
14768
14769 \begin_layout Plain Layout
14770 Preamble
14771 \end_layout
14772
14773 \end_inset
14774
14775  As with paragraph styles (see page 
14776 \begin_inset CommandInset ref
14777 LatexCommand pageref
14778 reference "des:Preamble"
14779
14780 \end_inset
14781
14782 ).
14783 \end_layout
14784
14785 \begin_layout Description
14786 \begin_inset Flex CharStyle:Code
14787 status collapsed
14788
14789 \begin_layout Plain Layout
14790 RefPrefix
14791 \end_layout
14792
14793 \end_inset
14794
14795  [
14796 \begin_inset Flex CharStyle:Code
14797 status collapsed
14798
14799 \begin_layout Plain Layout
14800 string
14801 \end_layout
14802
14803 \end_inset
14804
14805 ] The prefix to use when creating labels referring to insets of this type.
14806  This allows the use of formatted references.
14807 \end_layout
14808
14809 \begin_layout Description
14810 \begin_inset Flex CharStyle:Code
14811 status collapsed
14812
14813 \begin_layout Plain Layout
14814 Requires
14815 \end_layout
14816
14817 \end_inset
14818
14819  [
14820 \begin_inset Flex CharStyle:Code
14821 status collapsed
14822
14823 \begin_layout Plain Layout
14824 string
14825 \end_layout
14826
14827 \end_inset
14828
14829 ] As with paragraph styles (see page 
14830 \begin_inset CommandInset ref
14831 LatexCommand pageref
14832 reference "des:Requires"
14833
14834 \end_inset
14835
14836 ).
14837 \end_layout
14838
14839 \begin_layout Description
14840 \begin_inset Flex CharStyle:Code
14841 status collapsed
14842
14843 \begin_layout Plain Layout
14844 Spellcheck
14845 \end_layout
14846
14847 \end_inset
14848
14849  [
14850 \begin_inset Flex CharStyle:Code
14851 status collapsed
14852
14853 \begin_layout Plain Layout
14854 0
14855 \end_layout
14856
14857 \end_inset
14858
14859 ,
14860 \begin_inset Flex CharStyle:Code
14861 status collapsed
14862
14863 \begin_layout Plain Layout
14864
14865 \emph on
14866 1
14867 \end_layout
14868
14869 \end_inset
14870
14871 ] Spellcheck the contents of this inset.
14872  Default is true.
14873 \end_layout
14874
14875 \begin_layout Subsection
14876 Counters
14877 \begin_inset CommandInset label
14878 LatexCommand label
14879 name "sub:Counters"
14880
14881 \end_inset
14882
14883
14884 \end_layout
14885
14886 \begin_layout Standard
14887 Since version 1.3.0 of LyX, it is both possible and necessary to define the
14888  counters (
14889 \begin_inset Flex CharStyle:MenuItem
14890 status collapsed
14891
14892 \begin_layout Plain Layout
14893 chapter
14894 \end_layout
14895
14896 \end_inset
14897
14898
14899 \begin_inset Flex CharStyle:MenuItem
14900 status collapsed
14901
14902 \begin_layout Plain Layout
14903 figure
14904 \end_layout
14905
14906 \end_inset
14907
14908 , \SpecialChar \ldots{}
14909 ) in the text class itself.
14910  The standard counters are defined in the file 
14911 \begin_inset Flex CharStyle:Code
14912 status collapsed
14913
14914 \begin_layout Plain Layout
14915 stdcounters.inc
14916 \end_layout
14917
14918 \end_inset
14919
14920 , so you may have to do no more than add
14921 \end_layout
14922
14923 \begin_layout LyX-Code
14924 Input stdcounters.inc
14925 \end_layout
14926
14927 \begin_layout Standard
14928 to your layout file to get them to work.
14929  But if you want to define custom counters, then you can do so.
14930  The counter declaration must begin with:
14931 \end_layout
14932
14933 \begin_layout LyX-Code
14934 Counter CounterName
14935 \end_layout
14936
14937 \begin_layout Standard
14938 where of course `
14939 \begin_inset Flex CharStyle:Code
14940 status collapsed
14941
14942 \begin_layout Plain Layout
14943 CounterName
14944 \end_layout
14945
14946 \end_inset
14947
14948 ' is replaced by the name of the counter.
14949  And it must end with 
14950 \begin_inset Quotes eld
14951 \end_inset
14952
14953
14954 \begin_inset Flex CharStyle:Code
14955 status collapsed
14956
14957 \begin_layout Plain Layout
14958 End
14959 \end_layout
14960
14961 \end_inset
14962
14963
14964 \begin_inset Quotes erd
14965 \end_inset
14966
14967 .
14968  The following parameters can also be used:
14969 \end_layout
14970
14971 \begin_layout Description
14972 \begin_inset Flex CharStyle:Code
14973 status collapsed
14974
14975 \begin_layout Plain Layout
14976 LabelString
14977 \end_layout
14978
14979 \end_inset
14980
14981  [
14982 \begin_inset Flex CharStyle:Code
14983 status collapsed
14984
14985 \begin_layout Plain Layout
14986 string
14987 \end_layout
14988
14989 \end_inset
14990
14991 =
14992 \begin_inset Quotes erd
14993 \end_inset
14994
14995
14996 \begin_inset Quotes erd
14997 \end_inset
14998
14999 ] When defined, this string defines how the counter is displayed.
15000  Setting this value sets 
15001 \begin_inset Flex CharStyle:Code
15002 status collapsed
15003
15004 \begin_layout Plain Layout
15005 LabelStringAppendix
15006 \end_layout
15007
15008 \end_inset
15009
15010  to the same value.
15011  The following special constructs can be used in the string:
15012 \end_layout
15013
15014 \begin_deeper
15015 \begin_layout Itemize
15016 \begin_inset Flex CharStyle:Code
15017 status collapsed
15018
15019 \begin_layout Plain Layout
15020
15021 \backslash
15022 thecounter
15023 \end_layout
15024
15025 \end_inset
15026
15027  will be replaced by the expansion of the 
15028 \begin_inset Flex CharStyle:Code
15029 status collapsed
15030
15031 \begin_layout Plain Layout
15032 LabelString
15033 \end_layout
15034
15035 \end_inset
15036
15037  (or 
15038 \begin_inset Flex CharStyle:Code
15039 status collapsed
15040
15041 \begin_layout Plain Layout
15042 LabelStringAppendix
15043 \end_layout
15044
15045 \end_inset
15046
15047 ) of the counter 
15048 \begin_inset Flex CharStyle:Code
15049 status collapsed
15050
15051 \begin_layout Plain Layout
15052 counter
15053 \end_layout
15054
15055 \end_inset
15056
15057 .
15058  
15059 \end_layout
15060
15061 \begin_layout Itemize
15062 counter values can be expressed using LaTeX-like macros 
15063 \begin_inset Flex CharStyle:Code
15064 status collapsed
15065
15066 \begin_layout Plain Layout
15067
15068 \backslash
15069
15070 \emph on
15071 numbertype
15072 \emph default
15073 {
15074 \emph on
15075 counter
15076 \emph default
15077 }
15078 \end_layout
15079
15080 \end_inset
15081
15082 , where 
15083 \begin_inset Flex CharStyle:Code
15084 status collapsed
15085
15086 \begin_layout Plain Layout
15087
15088 \emph on
15089 numbertype
15090 \end_layout
15091
15092 \end_inset
15093
15094  can be:
15095 \begin_inset Foot
15096 status collapsed
15097
15098 \begin_layout Plain Layout
15099
15100 \family roman
15101 \series medium
15102 \shape up
15103 \size normal
15104 \emph off
15105 \bar no
15106 \noun off
15107 \color none
15108 Actually, the situation is a bit more complicated: any
15109 \family default
15110 \series default
15111 \shape default
15112 \emph default
15113 \bar default
15114  
15115 \size default
15116 \emph on
15117 \noun default
15118 \color inherit
15119 numbertype
15120 \family roman
15121 \series medium
15122 \shape up
15123 \size normal
15124 \emph off
15125 \bar no
15126 \noun off
15127  other than those described below will produce arabic numerals.
15128  It would not be surprising to see this change in the future.
15129 \end_layout
15130
15131 \end_inset
15132
15133  
15134 \begin_inset Flex CharStyle:Code
15135 status collapsed
15136
15137 \begin_layout Plain Layout
15138 arabic
15139 \end_layout
15140
15141 \end_inset
15142
15143 : 1, 2, 3,\SpecialChar \ldots{}
15144
15145 \begin_inset Flex CharStyle:Code
15146 status collapsed
15147
15148 \begin_layout Plain Layout
15149 alph
15150 \end_layout
15151
15152 \end_inset
15153
15154  for lower-case letters: a, b, c, \SpecialChar \ldots{}
15155
15156 \begin_inset Flex CharStyle:Code
15157 status collapsed
15158
15159 \begin_layout Plain Layout
15160 Alph
15161 \end_layout
15162
15163 \end_inset
15164
15165  for upper-case letters: A, B, C, \SpecialChar \ldots{}
15166
15167 \begin_inset Flex CharStyle:Code
15168 status collapsed
15169
15170 \begin_layout Plain Layout
15171 roman
15172 \end_layout
15173
15174 \end_inset
15175
15176  for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
15177
15178 \begin_inset Flex CharStyle:Code
15179 status collapsed
15180
15181 \begin_layout Plain Layout
15182 Roman
15183 \end_layout
15184
15185 \end_inset
15186
15187  for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
15188
15189 \begin_inset Flex CharStyle:Code
15190 status collapsed
15191
15192 \begin_layout Plain Layout
15193 hebrew
15194 \end_layout
15195
15196 \end_inset
15197
15198  for hebrew numerals.
15199 \end_layout
15200
15201 \end_deeper
15202 \begin_layout Standard
15203 If LabelString is not defined, a default value is constructed as follows:
15204  if the counter has a master counter 
15205 \begin_inset Flex CharStyle:Code
15206 status collapsed
15207
15208 \begin_layout Plain Layout
15209 master
15210 \end_layout
15211
15212 \end_inset
15213
15214  (defined via 
15215 \begin_inset Flex CharStyle:Code
15216 status collapsed
15217
15218 \begin_layout Plain Layout
15219 Within
15220 \end_layout
15221
15222 \end_inset
15223
15224 ), the string 
15225 \begin_inset Flex CharStyle:Code
15226 status collapsed
15227
15228 \begin_layout Plain Layout
15229
15230 \backslash
15231 themaster.
15232 \backslash
15233 arabic{counter}
15234 \end_layout
15235
15236 \end_inset
15237
15238  is used; otherwise the string 
15239 \begin_inset Flex CharStyle:Code
15240 status collapsed
15241
15242 \begin_layout Plain Layout
15243
15244 \backslash
15245 arabic{counter}
15246 \end_layout
15247
15248 \end_inset
15249
15250  is used.
15251 \end_layout
15252
15253 \begin_layout Description
15254 \begin_inset Flex CharStyle:Code
15255 status collapsed
15256
15257 \begin_layout Plain Layout
15258 LabelStringAppendix
15259 \end_layout
15260
15261 \end_inset
15262
15263  [
15264 \begin_inset Flex CharStyle:Code
15265 status collapsed
15266
15267 \begin_layout Plain Layout
15268 string
15269 \end_layout
15270
15271 \end_inset
15272
15273 =
15274 \begin_inset Quotes erd
15275 \end_inset
15276
15277
15278 \begin_inset Quotes erd
15279 \end_inset
15280
15281 ] Same as 
15282 \begin_inset Flex CharStyle:Code
15283 status collapsed
15284
15285 \begin_layout Plain Layout
15286 LabelString
15287 \end_layout
15288
15289 \end_inset
15290
15291 , but for use in the Appendix.
15292 \end_layout
15293
15294 \begin_layout Description
15295 \begin_inset Flex CharStyle:Code
15296 status collapsed
15297
15298 \begin_layout Plain Layout
15299 PrettyFormat
15300 \end_layout
15301
15302 \end_inset
15303
15304  [
15305 \begin_inset Flex CharStyle:Code
15306 status collapsed
15307
15308 \begin_layout Plain Layout
15309 string
15310 \end_layout
15311
15312 \end_inset
15313
15314 =
15315 \begin_inset Quotes erd
15316 \end_inset
15317
15318
15319 \begin_inset Quotes erd
15320 \end_inset
15321
15322 ] A format for use with formatted references to this counter.
15323  For example, one might want to have references to section numbers appear
15324  as 
15325 \begin_inset Quotes eld
15326 \end_inset
15327
15328 Section 2.4
15329 \begin_inset Quotes erd
15330 \end_inset
15331
15332 .
15333  The string should contain 
15334 \begin_inset Quotes eld
15335 \end_inset
15336
15337 ##
15338 \begin_inset Quotes erd
15339 \end_inset
15340
15341 .
15342  This will be replaced by the counter number itself.
15343  So, for sections, it would be: Section ##.
15344 \end_layout
15345
15346 \begin_layout Description
15347 \begin_inset Flex CharStyle:Code
15348 status collapsed
15349
15350 \begin_layout Plain Layout
15351 Within
15352 \end_layout
15353
15354 \end_inset
15355
15356  [
15357 \begin_inset Flex CharStyle:Code
15358 status collapsed
15359
15360 \begin_layout Plain Layout
15361 string
15362 \end_layout
15363
15364 \end_inset
15365
15366 =
15367 \begin_inset Quotes erd
15368 \end_inset
15369
15370
15371 \begin_inset Quotes erd
15372 \end_inset
15373
15374 ] If this is set to the name of another counter, the present counter will
15375  be reset every time the other one is increased.
15376  For example, 
15377 \begin_inset Flex CharStyle:Code
15378 status collapsed
15379
15380 \begin_layout Plain Layout
15381 subsection
15382 \end_layout
15383
15384 \end_inset
15385
15386  is numbered inside 
15387 \begin_inset Flex CharStyle:Code
15388 status collapsed
15389
15390 \begin_layout Plain Layout
15391 section
15392 \end_layout
15393
15394 \end_inset
15395
15396 .
15397 \end_layout
15398
15399 \begin_layout Subsection
15400 Font description
15401 \begin_inset CommandInset label
15402 LatexCommand label
15403 name "sub:Font-description"
15404
15405 \end_inset
15406
15407
15408 \end_layout
15409
15410 \begin_layout Standard
15411 A font description looks like this:
15412 \end_layout
15413
15414 \begin_layout LyX-Code
15415 Font 
15416 \family roman
15417 \emph on
15418 or
15419 \family default
15420 \emph default
15421  LabelFont
15422 \end_layout
15423
15424 \begin_layout LyX-Code
15425  ...
15426 \end_layout
15427
15428 \begin_layout LyX-Code
15429 EndFont
15430 \end_layout
15431
15432 \begin_layout Standard
15433 The following commands are available:
15434 \end_layout
15435
15436 \begin_layout Description
15437 \begin_inset Flex CharStyle:Code
15438 status collapsed
15439
15440 \begin_layout Plain Layout
15441 Color
15442 \end_layout
15443
15444 \end_inset
15445
15446  [
15447 \begin_inset Flex CharStyle:Code
15448 status collapsed
15449
15450 \begin_layout Plain Layout
15451
15452 \emph on
15453 none
15454 \end_layout
15455
15456 \end_inset
15457
15458
15459 \begin_inset Flex CharStyle:Code
15460 status collapsed
15461
15462 \begin_layout Plain Layout
15463 black
15464 \end_layout
15465
15466 \end_inset
15467
15468
15469 \begin_inset Flex CharStyle:Code
15470 status collapsed
15471
15472 \begin_layout Plain Layout
15473 white
15474 \end_layout
15475
15476 \end_inset
15477
15478
15479 \begin_inset Flex CharStyle:Code
15480 status collapsed
15481
15482 \begin_layout Plain Layout
15483 red
15484 \end_layout
15485
15486 \end_inset
15487
15488
15489 \begin_inset Flex CharStyle:Code
15490 status collapsed
15491
15492 \begin_layout Plain Layout
15493 green
15494 \end_layout
15495
15496 \end_inset
15497
15498
15499 \begin_inset Flex CharStyle:Code
15500 status collapsed
15501
15502 \begin_layout Plain Layout
15503 blue
15504 \end_layout
15505
15506 \end_inset
15507
15508
15509 \begin_inset Flex CharStyle:Code
15510 status collapsed
15511
15512 \begin_layout Plain Layout
15513 cyan
15514 \end_layout
15515
15516 \end_inset
15517
15518
15519 \begin_inset Flex CharStyle:Code
15520 status collapsed
15521
15522 \begin_layout Plain Layout
15523 magenta
15524 \end_layout
15525
15526 \end_inset
15527
15528
15529 \begin_inset Flex CharStyle:Code
15530 status collapsed
15531
15532 \begin_layout Plain Layout
15533 yellow
15534 \end_layout
15535
15536 \end_inset
15537
15538 ]
15539 \end_layout
15540
15541 \begin_layout Description
15542 \begin_inset Flex CharStyle:Code
15543 status collapsed
15544
15545 \begin_layout Plain Layout
15546 Family
15547 \end_layout
15548
15549 \end_inset
15550
15551  [
15552 \begin_inset Flex CharStyle:Code
15553 status collapsed
15554
15555 \begin_layout Plain Layout
15556
15557 \emph on
15558 Roman
15559 \end_layout
15560
15561 \end_inset
15562
15563
15564 \begin_inset Flex CharStyle:Code
15565 status collapsed
15566
15567 \begin_layout Plain Layout
15568 Sans
15569 \end_layout
15570
15571 \end_inset
15572
15573
15574 \begin_inset Flex CharStyle:Code
15575 status collapsed
15576
15577 \begin_layout Plain Layout
15578 Typewriter
15579 \end_layout
15580
15581 \end_inset
15582
15583
15584 \end_layout
15585
15586 \begin_layout Description
15587 \begin_inset Flex CharStyle:Code
15588 status collapsed
15589
15590 \begin_layout Plain Layout
15591 Misc
15592 \end_layout
15593
15594 \end_inset
15595
15596  [
15597 \begin_inset Flex CharStyle:Code
15598 status collapsed
15599
15600 \begin_layout Plain Layout
15601 string
15602 \end_layout
15603
15604 \end_inset
15605
15606 ] Valid arguments are: 
15607 \begin_inset Flex CharStyle:Code
15608 status collapsed
15609
15610 \begin_layout Plain Layout
15611 emph
15612 \end_layout
15613
15614 \end_inset
15615
15616
15617 \begin_inset Flex CharStyle:Code
15618 status collapsed
15619
15620 \begin_layout Plain Layout
15621 noun
15622 \end_layout
15623
15624 \end_inset
15625
15626
15627 \begin_inset Flex CharStyle:Code
15628 status collapsed
15629
15630 \begin_layout Plain Layout
15631 underbar
15632 \end_layout
15633
15634 \end_inset
15635
15636
15637 \begin_inset Flex CharStyle:Code
15638 status collapsed
15639
15640 \begin_layout Plain Layout
15641 no_emph
15642 \end_layout
15643
15644 \end_inset
15645
15646
15647 \begin_inset Flex CharStyle:Code
15648 status collapsed
15649
15650 \begin_layout Plain Layout
15651 no_noun
15652 \end_layout
15653
15654 \end_inset
15655
15656  and 
15657 \begin_inset Flex CharStyle:Code
15658 status collapsed
15659
15660 \begin_layout Plain Layout
15661 no_bar
15662 \end_layout
15663
15664 \end_inset
15665
15666 .
15667  Each of these turns on or off the corresponding attribute.
15668  For example, 
15669 \begin_inset Flex CharStyle:Code
15670 status collapsed
15671
15672 \begin_layout Plain Layout
15673 emph
15674 \end_layout
15675
15676 \end_inset
15677
15678  turns on emphasis, and 
15679 \begin_inset Flex CharStyle:Code
15680 status collapsed
15681
15682 \begin_layout Plain Layout
15683 no_emph
15684 \end_layout
15685
15686 \end_inset
15687
15688  turns it off.
15689  
15690 \begin_inset Newline newline
15691 \end_inset
15692
15693 If the latter seems puzzling, remember that the font settings for the present
15694  context are generally inherited from the surrounding context.
15695  So 
15696 \begin_inset Flex CharStyle:Code
15697 status collapsed
15698
15699 \begin_layout Plain Layout
15700 no_emph
15701 \end_layout
15702
15703 \end_inset
15704
15705  would turn off the emphasis that was anyway in effect, say, in a theorem
15706  environment.
15707 \end_layout
15708
15709 \begin_layout Description
15710 \begin_inset Flex CharStyle:Code
15711 status collapsed
15712
15713 \begin_layout Plain Layout
15714 Series
15715 \end_layout
15716
15717 \end_inset
15718
15719  [
15720 \begin_inset Flex CharStyle:Code
15721 status collapsed
15722
15723 \begin_layout Plain Layout
15724
15725 \emph on
15726 Medium
15727 \end_layout
15728
15729 \end_inset
15730
15731
15732 \begin_inset Flex CharStyle:Code
15733 status collapsed
15734
15735 \begin_layout Plain Layout
15736 Bold
15737 \end_layout
15738
15739 \end_inset
15740
15741
15742 \end_layout
15743
15744 \begin_layout Description
15745 \begin_inset Flex CharStyle:Code
15746 status collapsed
15747
15748 \begin_layout Plain Layout
15749 Shape
15750 \end_layout
15751
15752 \end_inset
15753
15754  [
15755 \begin_inset Flex CharStyle:Code
15756 status collapsed
15757
15758 \begin_layout Plain Layout
15759
15760 \emph on
15761 Up
15762 \end_layout
15763
15764 \end_inset
15765
15766
15767 \begin_inset Flex CharStyle:Code
15768 status collapsed
15769
15770 \begin_layout Plain Layout
15771 Italic
15772 \end_layout
15773
15774 \end_inset
15775
15776
15777 \begin_inset Flex CharStyle:Code
15778 status collapsed
15779
15780 \begin_layout Plain Layout
15781 SmallCaps
15782 \end_layout
15783
15784 \end_inset
15785
15786
15787 \begin_inset Flex CharStyle:Code
15788 status collapsed
15789
15790 \begin_layout Plain Layout
15791 Slanted
15792 \end_layout
15793
15794 \end_inset
15795
15796
15797 \end_layout
15798
15799 \begin_layout Description
15800 \begin_inset Flex CharStyle:Code
15801 status collapsed
15802
15803 \begin_layout Plain Layout
15804 Size
15805 \end_layout
15806
15807 \end_inset
15808
15809  [
15810 \begin_inset Flex CharStyle:Code
15811 status collapsed
15812
15813 \begin_layout Plain Layout
15814 tiny
15815 \end_layout
15816
15817 \end_inset
15818
15819
15820 \begin_inset Flex CharStyle:Code
15821 status collapsed
15822
15823 \begin_layout Plain Layout
15824 small
15825 \end_layout
15826
15827 \end_inset
15828
15829
15830 \begin_inset Flex CharStyle:Code
15831 status collapsed
15832
15833 \begin_layout Plain Layout
15834
15835 \emph on
15836 normal
15837 \end_layout
15838
15839 \end_inset
15840
15841
15842 \begin_inset Flex CharStyle:Code
15843 status collapsed
15844
15845 \begin_layout Plain Layout
15846 large
15847 \end_layout
15848
15849 \end_inset
15850
15851
15852 \begin_inset Flex CharStyle:Code
15853 status collapsed
15854
15855 \begin_layout Plain Layout
15856 larger
15857 \end_layout
15858
15859 \end_inset
15860
15861
15862 \begin_inset Flex CharStyle:Code
15863 status collapsed
15864
15865 \begin_layout Plain Layout
15866 largest
15867 \end_layout
15868
15869 \end_inset
15870
15871
15872 \begin_inset Flex CharStyle:Code
15873 status collapsed
15874
15875 \begin_layout Plain Layout
15876 huge
15877 \end_layout
15878
15879 \end_inset
15880
15881
15882 \begin_inset Flex CharStyle:Code
15883 status collapsed
15884
15885 \begin_layout Plain Layout
15886 giant
15887 \end_layout
15888
15889 \end_inset
15890
15891 ]
15892 \end_layout
15893
15894 \begin_layout Subsection
15895 \begin_inset CommandInset label
15896 LatexCommand label
15897 name "sub:Citation-format-description"
15898
15899 \end_inset
15900
15901 Citation format description
15902 \end_layout
15903
15904 \begin_layout Standard
15905 The 
15906 \begin_inset Flex CharStyle:Code
15907 status collapsed
15908
15909 \begin_layout Plain Layout
15910 CiteFormat
15911 \end_layout
15912
15913 \end_inset
15914
15915  blocks are used to describe how bibliographic information should be displayed,
15916  both within LyX itself (in the citation dialog and in tooltips, for example)
15917  and in XHTML output.
15918  Such a block might look like this:
15919 \end_layout
15920
15921 \begin_layout LyX-Code
15922 CiteFormat
15923 \end_layout
15924
15925 \begin_layout LyX-Code
15926  article ...
15927 \end_layout
15928
15929 \begin_layout LyX-Code
15930  book ...
15931 \end_layout
15932
15933 \begin_layout LyX-Code
15934 End
15935 \end_layout
15936
15937 \begin_layout Standard
15938 The individual lines define how the bibliographic information associated
15939  with an article or book, respectively, is to be displayed, and such a definitio
15940 n can be given for any `entry type' that might be present in a BibTeX file.
15941  LyX defines a default format in the source code that will be used if no
15942  specific definition has been given.
15943  LyX predefines several formats in the file 
15944 \begin_inset Flex CharStyle:Code
15945 status collapsed
15946
15947 \begin_layout Plain Layout
15948 stdciteformats.inc
15949 \end_layout
15950
15951 \end_inset
15952
15953 , which is included in most of LyX's document classes.
15954 \end_layout
15955
15956 \begin_layout Standard
15957 The definitions use a simple language that allows BibTeX keys to be replaced
15958  with their values.
15959  Keys should be enclosed in 
15960 \begin_inset Flex CharStyle:Code
15961 status collapsed
15962
15963 \begin_layout Plain Layout
15964 %
15965 \end_layout
15966
15967 \end_inset
15968
15969  signs, e.g.: 
15970 \begin_inset Flex CharStyle:Code
15971 status collapsed
15972
15973 \begin_layout Plain Layout
15974 %author%
15975 \end_layout
15976
15977 \end_inset
15978
15979 .
15980  So a simple definition might look like this:
15981 \end_layout
15982
15983 \begin_layout LyX-Code
15984 misc %author%, 
15985 \begin_inset Quotes eld
15986 \end_inset
15987
15988 %title
15989 \begin_inset Quotes erd
15990 \end_inset
15991
15992
15993 \end_layout
15994
15995 \begin_layout Standard
15996 This would print the author, followed by a comma, followed by the title,
15997  in quotes, followed by a period.
15998 \end_layout
15999
16000 \begin_layout Standard
16001 Of course, sometimes you may want to print a key only if it exists.
16002  This can be done by using a conditional construction, such as: 
16003 \begin_inset Flex CharStyle:Code
16004 status collapsed
16005
16006 \begin_layout Plain Layout
16007 {%volume%[[vol.
16008 \begin_inset space ~
16009 \end_inset
16010
16011 %volume%]]}
16012 \end_layout
16013
16014 \end_inset
16015
16016 .
16017  This says: If the 
16018 \begin_inset Flex CharStyle:Code
16019 status collapsed
16020
16021 \begin_layout Plain Layout
16022 volume
16023 \end_layout
16024
16025 \end_inset
16026
16027  key exists, then print 
16028 \begin_inset Quotes eld
16029 \end_inset
16030
16031 vol.
16032 \begin_inset space ~
16033 \end_inset
16034
16035
16036 \begin_inset Quotes erd
16037 \end_inset
16038
16039  followed by the volume key.
16040  It is also possible to have an else clause in the conditional, such as:
16041  
16042 \begin_inset Flex CharStyle:Code
16043 status collapsed
16044
16045 \begin_layout Plain Layout
16046 {%author%[[%author%]][[%editor%, ed.]]}
16047 \end_layout
16048
16049 \end_inset
16050
16051 .
16052  Here, the 
16053 \begin_inset Flex CharStyle:Code
16054 status collapsed
16055
16056 \begin_layout Plain Layout
16057 author
16058 \end_layout
16059
16060 \end_inset
16061
16062  key is printed if it exists; otherwise, the editor key is printed, followed
16063  by 
16064 \begin_inset Quotes eld
16065 \end_inset
16066
16067 ,
16068 \begin_inset space ~
16069 \end_inset
16070
16071 ed.
16072 \begin_inset Quotes erd
16073 \end_inset
16074
16075  Note that the key is again enclosed in 
16076 \begin_inset Flex CharStyle:Code
16077 status collapsed
16078
16079 \begin_layout Plain Layout
16080 %
16081 \end_layout
16082
16083 \end_inset
16084
16085  signs; the entire conditional is enclosed in braces; and the if and else
16086  clauses are enclosed in double brackets, 
16087 \begin_inset Quotes eld
16088 \end_inset
16089
16090
16091 \begin_inset Flex CharStyle:Code
16092 status collapsed
16093
16094 \begin_layout Plain Layout
16095 [[
16096 \end_layout
16097
16098 \end_inset
16099
16100
16101 \begin_inset Quotes eld
16102 \end_inset
16103
16104  and 
16105 \begin_inset Quotes eld
16106 \end_inset
16107
16108
16109 \begin_inset Flex CharStyle:Code
16110 status collapsed
16111
16112 \begin_layout Plain Layout
16113 ]]
16114 \end_layout
16115
16116 \end_inset
16117
16118
16119 \begin_inset Quotes erd
16120 \end_inset
16121
16122 .
16123  There must be no space between any of these.
16124 \end_layout
16125
16126 \begin_layout Standard
16127 There is one other piece of syntax available in definitions, which looks
16128  like this: 
16129 \begin_inset Flex CharStyle:Code
16130 status collapsed
16131
16132 \begin_layout Plain Layout
16133 {!<i>!}
16134 \end_layout
16135
16136 \end_inset
16137
16138 .
16139  This defines a piece of formatting information that is to be used when
16140  creating 
16141 \begin_inset Quotes eld
16142 \end_inset
16143
16144 rich text
16145 \begin_inset Quotes erd
16146 \end_inset
16147
16148 .
16149  Obviously, we do not want to output HTML tags when writing plain text,
16150  so they should be wrapped in 
16151 \begin_inset Quotes eld
16152 \end_inset
16153
16154 {!
16155 \begin_inset Quotes erd
16156 \end_inset
16157
16158  and 
16159 \begin_inset Quotes eld
16160 \end_inset
16161
16162 !}
16163 \begin_inset Quotes erd
16164 \end_inset
16165
16166 .
16167 \end_layout
16168
16169 \begin_layout Standard
16170 Two special sorts of definitions are also possible in a 
16171 \begin_inset Flex CharStyle:Code
16172 status collapsed
16173
16174 \begin_layout Plain Layout
16175 CiteFormat
16176 \end_layout
16177
16178 \end_inset
16179
16180  block.
16181  An example of the first would be:
16182 \end_layout
16183
16184 \begin_layout LyX-Code
16185 !quotetitle 
16186 \begin_inset Quotes eld
16187 \end_inset
16188
16189 %title%
16190 \begin_inset Quotes erd
16191 \end_inset
16192
16193
16194 \end_layout
16195
16196 \begin_layout Standard
16197 This is an abbreviation, or macro, and it can be used by treating it as
16198  if it were a key: 
16199 \begin_inset Flex CharStyle:Code
16200 status collapsed
16201
16202 \begin_layout Plain Layout
16203 %!quotetitle%
16204 \end_layout
16205
16206 \end_inset
16207
16208 .
16209  LyX will treat 
16210 \begin_inset Flex CharStyle:Code
16211 status collapsed
16212
16213 \begin_layout Plain Layout
16214 %!quotetitle%
16215 \end_layout
16216
16217 \end_inset
16218
16219  exactly as it would treat its definition.
16220  So, let us issue the obvious 
16221 \emph on
16222 warning
16223 \emph default
16224 .
16225  Do not do this:
16226 \end_layout
16227
16228 \begin_layout LyX-Code
16229 !funfun %funfun%
16230 \end_layout
16231
16232 \begin_layout Standard
16233 or anything like it.
16234  LyX shouldn't go into an infinite loop, but it may go into a long one before
16235  it gives up.
16236 \end_layout
16237
16238 \begin_layout Standard
16239 The second sort of special definition might look like this:
16240 \end_layout
16241
16242 \begin_layout LyX-Code
16243 _pptext pp.
16244 \end_layout
16245
16246 \begin_layout Standard
16247 This defines a translatable piece of text, which allows relevant parts of
16248  the bibliography to be translated.
16249  It can be included in a definition by treating it as a key: 
16250 \begin_inset Flex CharStyle:Code
16251 status collapsed
16252
16253 \begin_layout Plain Layout
16254 %_pptext%
16255 \end_layout
16256
16257 \end_inset
16258
16259 .
16260  Several of these are predefined in 
16261 \begin_inset Flex CharStyle:Code
16262 status collapsed
16263
16264 \begin_layout Plain Layout
16265 stdciteformats.inc
16266 \end_layout
16267
16268 \end_inset
16269
16270 .
16271  Note that these are not macros, in the sense just defined.
16272  They will not be expanded.
16273 \end_layout
16274
16275 \begin_layout Standard
16276 So here then is an example that use all these features:
16277 \end_layout
16278
16279 \begin_layout LyX-Code
16280 !authoredit {%author%[[%author%, ]][[{%editor%[[%editor%, %_edtext%, ]]}]]}
16281 \end_layout
16282
16283 \begin_layout Standard
16284 The defines a macro that prints the author, followed by a comma, if the
16285  
16286 \begin_inset Flex CharStyle:Code
16287 status collapsed
16288
16289 \begin_layout Plain Layout
16290 author
16291 \end_layout
16292
16293 \end_inset
16294
16295  key is defined, or else prints the name of the editor, followed by the
16296  
16297 \begin_inset Flex CharStyle:Code
16298 status collapsed
16299
16300 \begin_layout Plain Layout
16301 _edtext
16302 \end_layout
16303
16304 \end_inset
16305
16306  or its translation (it is by default 
16307 \begin_inset Quotes eld
16308 \end_inset
16309
16310 ed.
16311 \begin_inset Quotes erd
16312 \end_inset
16313
16314 ), if the 
16315 \begin_inset Flex CharStyle:Code
16316 status collapsed
16317
16318 \begin_layout Plain Layout
16319 editor
16320 \end_layout
16321
16322 \end_inset
16323
16324  key is defined.
16325  Note that this is in fact defined in 
16326 \begin_inset Flex CharStyle:Code
16327 status collapsed
16328
16329 \begin_layout Plain Layout
16330 stdciteformats.inc
16331 \end_layout
16332
16333 \end_inset
16334
16335 , so you can use it in your own definitions, or re-definitions, if you load
16336  that file first.
16337 \end_layout
16338
16339 \begin_layout Section
16340 \begin_inset CommandInset label
16341 LatexCommand label
16342 name "sec:Tags-for-XHTML"
16343
16344 \end_inset
16345
16346 Tags for XHTML output
16347 \end_layout
16348
16349 \begin_layout Standard
16350 As with LaTeX or DocBook, the format of LyX's XHTML output is also controlled
16351  by layout information.
16352  In general, LyX provides sensible defaults and, as mentioned earlier, it
16353  will even construct default CSS style rules from the other layout tags.
16354  For example, LyX will attempt to use the information provided in the 
16355 \begin_inset Flex CharStyle:Code
16356 status collapsed
16357
16358 \begin_layout Plain Layout
16359 Font
16360 \end_layout
16361
16362 \end_inset
16363
16364  declaration for the Chapter style to write CSS that will appropriately
16365  format chapter headings.
16366 \end_layout
16367
16368 \begin_layout Standard
16369 In many cases, then, you may not have to do anything at all to get acceptable
16370  XHTML output for your own environments, custom insets, and so forth.
16371  But in some cases you will, and so LyX provides a number of layout tags
16372  that can be used to customize the XHTML and CSS that are generated.
16373 \end_layout
16374
16375 \begin_layout Standard
16376 Note that there are two tags, 
16377 \begin_inset Flex CharStyle:Code
16378 status collapsed
16379
16380 \begin_layout Plain Layout
16381 HTMLPreamble
16382 \end_layout
16383
16384 \end_inset
16385
16386  and 
16387 \begin_inset Flex CharStyle:Code
16388 status collapsed
16389
16390 \begin_layout Plain Layout
16391 AddToHTMLPreamble
16392 \end_layout
16393
16394 \end_inset
16395
16396  that may appear outside style and inset declarations.
16397  See 
16398 \begin_inset CommandInset ref
16399 LatexCommand ref
16400 reference "sub:General-text-class"
16401
16402 \end_inset
16403
16404  for details on these.
16405 \end_layout
16406
16407 \begin_layout Subsection
16408 \begin_inset CommandInset label
16409 LatexCommand label
16410 name "sub:Paragraph-Style-XHTML"
16411
16412 \end_inset
16413
16414 Paragraph styles
16415 \end_layout
16416
16417 \begin_layout Standard
16418 The sort of XHTML LyX outputs for a paragraph depends upon whether we are
16419  dealing with a normal paragraph, a command, or an environment, where this
16420  is itself determined by the contents of the corresponding 
16421 \begin_inset Flex CharStyle:Code
16422 status collapsed
16423
16424 \begin_layout Plain Layout
16425 LaTeXType
16426 \end_layout
16427
16428 \end_inset
16429
16430  tag.
16431  
16432 \end_layout
16433
16434 \begin_layout Standard
16435 For a command or normal paragraph, the output XHTML has the following form:
16436 \end_layout
16437
16438 \begin_layout LyX-Code
16439 <tag attr=
16440 \begin_inset Quotes erd
16441 \end_inset
16442
16443 value
16444 \begin_inset Quotes erd
16445 \end_inset
16446
16447 >
16448 \end_layout
16449
16450 \begin_layout LyX-Code
16451 <labeltag attr=
16452 \begin_inset Quotes erd
16453 \end_inset
16454
16455 value
16456 \begin_inset Quotes erd
16457 \end_inset
16458
16459 >Label</labeltag>
16460 \end_layout
16461
16462 \begin_layout LyX-Code
16463 Contents of the paragraph.
16464 \end_layout
16465
16466 \begin_layout LyX-Code
16467 </tag>
16468 \end_layout
16469
16470 \begin_layout Standard
16471 The label tags are of course omitted if the paragraph does not have a label.
16472 \end_layout
16473
16474 \begin_layout Standard
16475 For an environment that is not some sort of list, the XHTML takes this form:
16476 \end_layout
16477
16478 \begin_layout LyX-Code
16479 <tag attr=
16480 \begin_inset Quotes erd
16481 \end_inset
16482
16483 value
16484 \begin_inset Quotes erd
16485 \end_inset
16486
16487 >
16488 \end_layout
16489
16490 \begin_layout LyX-Code
16491 <itemtag attr=
16492 \begin_inset Quotes erd
16493 \end_inset
16494
16495 value
16496 \begin_inset Quotes erd
16497 \end_inset
16498
16499 ><labeltag attr=
16500 \begin_inset Quotes erd
16501 \end_inset
16502
16503 value
16504 \begin_inset Quotes erd
16505 \end_inset
16506
16507 >Environment Label</labeltag>First paragraph.</itemtag>
16508 \end_layout
16509
16510 \begin_layout LyX-Code
16511 <itemtag>Second paragraph.</itemtag>
16512 \end_layout
16513
16514 \begin_layout LyX-Code
16515 </tag>
16516 \end_layout
16517
16518 \begin_layout Standard
16519 Note that the label is output only for the first paragraph, as it should
16520  be for a theorem, for example.
16521  
16522 \end_layout
16523
16524 \begin_layout Standard
16525 For a list, we have one of these forms:
16526 \end_layout
16527
16528 \begin_layout LyX-Code
16529 <tag attr=
16530 \begin_inset Quotes erd
16531 \end_inset
16532
16533 value
16534 \begin_inset Quotes erd
16535 \end_inset
16536
16537 >
16538 \end_layout
16539
16540 \begin_layout LyX-Code
16541 <itemtag attr=
16542 \begin_inset Quotes erd
16543 \end_inset
16544
16545 value
16546 \begin_inset Quotes erd
16547 \end_inset
16548
16549 ><labeltag attr=
16550 \begin_inset Quotes erd
16551 \end_inset
16552
16553 value
16554 \begin_inset Quotes erd
16555 \end_inset
16556
16557 >List Label</labeltag>First item.</itemtag>
16558 \end_layout
16559
16560 \begin_layout LyX-Code
16561 <itemtag attr=
16562 \begin_inset Quotes erd
16563 \end_inset
16564
16565 value
16566 \begin_inset Quotes erd
16567 \end_inset
16568
16569 ><labeltag attr=
16570 \begin_inset Quotes erd
16571 \end_inset
16572
16573 value
16574 \begin_inset Quotes erd
16575 \end_inset
16576
16577 >List Label</labeltag>Second item.</itemtag>
16578 \end_layout
16579
16580 \begin_layout LyX-Code
16581 </tag>
16582 \end_layout
16583
16584 \begin_layout LyX-Code
16585
16586 \end_layout
16587
16588 \begin_layout LyX-Code
16589 <tag attr=
16590 \begin_inset Quotes erd
16591 \end_inset
16592
16593 value
16594 \begin_inset Quotes erd
16595 \end_inset
16596
16597 >
16598 \end_layout
16599
16600 \begin_layout LyX-Code
16601 <labeltag attr=
16602 \begin_inset Quotes erd
16603 \end_inset
16604
16605 value
16606 \begin_inset Quotes erd
16607 \end_inset
16608
16609 >List Label</labeltag><itemtag attr=
16610 \begin_inset Quotes erd
16611 \end_inset
16612
16613 value
16614 \begin_inset Quotes erd
16615 \end_inset
16616
16617 >First item.</itemtag>
16618 \end_layout
16619
16620 \begin_layout LyX-Code
16621 <labeltag attr=
16622 \begin_inset Quotes erd
16623 \end_inset
16624
16625 value
16626 \begin_inset Quotes erd
16627 \end_inset
16628
16629 >List Label</labeltag><itemtag attr=
16630 \begin_inset Quotes erd
16631 \end_inset
16632
16633 value
16634 \begin_inset Quotes erd
16635 \end_inset
16636
16637 >Second item.</itemtag>
16638 \end_layout
16639
16640 \begin_layout LyX-Code
16641 </tag>
16642 \end_layout
16643
16644 \begin_layout Standard
16645 Note the different orders of 
16646 \begin_inset Flex CharStyle:Code
16647 status collapsed
16648
16649 \begin_layout Plain Layout
16650 labeltag
16651 \end_layout
16652
16653 \end_inset
16654
16655  and 
16656 \begin_inset Flex CharStyle:Code
16657 status collapsed
16658
16659 \begin_layout Plain Layout
16660 itemtag
16661 \end_layout
16662
16663 \end_inset
16664
16665 .
16666  Which order we get depends upon the setting of 
16667 \begin_inset Flex CharStyle:Code
16668 status collapsed
16669
16670 \begin_layout Plain Layout
16671 HTMLLabelFirst
16672 \end_layout
16673
16674 \end_inset
16675
16676 : If 
16677 \begin_inset Flex CharStyle:Code
16678 status collapsed
16679
16680 \begin_layout Plain Layout
16681 HTMLLabelFirst
16682 \end_layout
16683
16684 \end_inset
16685
16686  is false (the default), you get the first of these, with the label within
16687  the item; if true, you get the second, with the label outside the item.
16688 \end_layout
16689
16690 \begin_layout Standard
16691 The specific tags and attributes output for each paragraph type can be controlle
16692 d by means of the layout tags we are about to describe.
16693  As mentioned earlier, however, LyX uses sensible defaults for many of these,
16694  so you often may not need to do very much to get good XHTML output.
16695  Think of the available tags as there so you can tweak things to your liking.
16696 \end_layout
16697
16698 \begin_layout Description
16699 \begin_inset Flex CharStyle:Code
16700 status collapsed
16701
16702 \begin_layout Plain Layout
16703 HTMLAttr
16704 \end_layout
16705
16706 \end_inset
16707
16708  [
16709 \begin_inset Flex CharStyle:Code
16710 status collapsed
16711
16712 \begin_layout Plain Layout
16713 string
16714 \end_layout
16715
16716 \end_inset
16717
16718 ] Specifies attribute information to be output with the main tag.
16719  For example, 
16720 \begin_inset Quotes eld
16721 \end_inset
16722
16723
16724 \begin_inset Flex CharStyle:Code
16725 status collapsed
16726
16727 \begin_layout Plain Layout
16728 class=`mydiv'
16729 \end_layout
16730
16731 \end_inset
16732
16733
16734 \begin_inset Quotes erd
16735 \end_inset
16736
16737 .
16738  By default, LyX will output 
16739 \begin_inset Quotes eld
16740 \end_inset
16741
16742
16743 \begin_inset Flex CharStyle:Code
16744 status collapsed
16745
16746 \begin_layout Plain Layout
16747 class=`layoutname'
16748 \end_layout
16749
16750 \end_inset
16751
16752
16753 \begin_inset Quotes erd
16754 \end_inset
16755
16756 , where 
16757 \begin_inset Flex CharStyle:Code
16758 status collapsed
16759
16760 \begin_layout Plain Layout
16761 layoutname
16762 \end_layout
16763
16764 \end_inset
16765
16766  is the LyX name of the layout, made lowercase, for example: chapter.
16767 \end_layout
16768
16769 \begin_layout Description
16770 \begin_inset Flex CharStyle:Code
16771 status collapsed
16772
16773 \begin_layout Plain Layout
16774 HTMLForceCSS
16775 \end_layout
16776
16777 \end_inset
16778
16779  [
16780 \begin_inset Flex CharStyle:Code
16781 status collapsed
16782
16783 \begin_layout Plain Layout
16784
16785 \emph on
16786 0
16787 \emph default
16788 ,1
16789 \end_layout
16790
16791 \end_inset
16792
16793 ] Whether to output the default CSS information LyX generates for this layout,
16794  even if additional information is explicitly provided via 
16795 \begin_inset Flex CharStyle:Code
16796 status collapsed
16797
16798 \begin_layout Plain Layout
16799 HTMLStyle
16800 \end_layout
16801
16802 \end_inset
16803
16804 .
16805  Setting this to 
16806 \begin_inset Flex CharStyle:Code
16807 status collapsed
16808
16809 \begin_layout Plain Layout
16810 1
16811 \end_layout
16812
16813 \end_inset
16814
16815  allows you to alter or augment the generated CSS, rather than to override
16816  it completely.
16817  Default is 
16818 \begin_inset Flex CharStyle:Code
16819 status collapsed
16820
16821 \begin_layout Plain Layout
16822 0
16823 \end_layout
16824
16825 \end_inset
16826
16827 .
16828 \end_layout
16829
16830 \begin_layout Description
16831 \begin_inset Flex CharStyle:Code
16832 status collapsed
16833
16834 \begin_layout Plain Layout
16835 HTMLItem
16836 \end_layout
16837
16838 \end_inset
16839
16840  [
16841 \begin_inset Flex CharStyle:Code
16842 status collapsed
16843
16844 \begin_layout Plain Layout
16845 string
16846 \end_layout
16847
16848 \end_inset
16849
16850 ] The tag to be used for individual paragraphs of environments, replacing
16851  
16852 \begin_inset Flex CharStyle:Code
16853 status collapsed
16854
16855 \begin_layout Plain Layout
16856 itemtag
16857 \end_layout
16858
16859 \end_inset
16860
16861  in the examples above.
16862  Defaults to 
16863 \begin_inset Flex CharStyle:Code
16864 status collapsed
16865
16866 \begin_layout Plain Layout
16867 div
16868 \end_layout
16869
16870 \end_inset
16871
16872 .
16873 \end_layout
16874
16875 \begin_layout Description
16876 \begin_inset Flex CharStyle:Code
16877 status collapsed
16878
16879 \begin_layout Plain Layout
16880 HTMLItemAttr
16881 \end_layout
16882
16883 \end_inset
16884
16885  [
16886 \begin_inset Flex CharStyle:Code
16887 status collapsed
16888
16889 \begin_layout Plain Layout
16890 string
16891 \end_layout
16892
16893 \end_inset
16894
16895 ] Attributes for the item tag.
16896  Defaults to 
16897 \begin_inset Quotes eld
16898 \end_inset
16899
16900
16901 \begin_inset Flex CharStyle:Code
16902 status collapsed
16903
16904 \begin_layout Plain Layout
16905 class=`layoutname_item'
16906 \end_layout
16907
16908 \end_inset
16909
16910
16911 \begin_inset Quotes erd
16912 \end_inset
16913
16914 .
16915 \end_layout
16916
16917 \begin_layout Description
16918 \begin_inset Flex CharStyle:Code
16919 status collapsed
16920
16921 \begin_layout Plain Layout
16922 HTMLLabel
16923 \end_layout
16924
16925 \end_inset
16926
16927  [
16928 \begin_inset Flex CharStyle:Code
16929 status collapsed
16930
16931 \begin_layout Plain Layout
16932 string
16933 \end_layout
16934
16935 \end_inset
16936
16937 ] The tag to be used for paragraph and item labels, replacing 
16938 \begin_inset Flex CharStyle:Code
16939 status collapsed
16940
16941 \begin_layout Plain Layout
16942 labeltag
16943 \end_layout
16944
16945 \end_inset
16946
16947  in the examples above.
16948  Defaults to 
16949 \begin_inset Flex CharStyle:Code
16950 status collapsed
16951
16952 \begin_layout Plain Layout
16953 span
16954 \end_layout
16955
16956 \end_inset
16957
16958 .
16959 \end_layout
16960
16961 \begin_layout Description
16962 \begin_inset Flex CharStyle:Code
16963 status collapsed
16964
16965 \begin_layout Plain Layout
16966 HTMLLabelAttr
16967 \end_layout
16968
16969 \end_inset
16970
16971  [
16972 \begin_inset Flex CharStyle:Code
16973 status collapsed
16974
16975 \begin_layout Plain Layout
16976 string
16977 \end_layout
16978
16979 \end_inset
16980
16981 ] Attributes for the label tag.
16982  Defaults to 
16983 \begin_inset Quotes eld
16984 \end_inset
16985
16986
16987 \begin_inset Flex CharStyle:Code
16988 status collapsed
16989
16990 \begin_layout Plain Layout
16991 class=`layoutname_label'
16992 \end_layout
16993
16994 \end_inset
16995
16996
16997 \begin_inset Quotes erd
16998 \end_inset
16999
17000 .
17001 \end_layout
17002
17003 \begin_layout Description
17004 \begin_inset Flex CharStyle:Code
17005 status collapsed
17006
17007 \begin_layout Plain Layout
17008 HTMLLabelFirst
17009 \end_layout
17010
17011 \end_inset
17012
17013  [
17014 \begin_inset Flex CharStyle:Code
17015 status collapsed
17016
17017 \begin_layout Plain Layout
17018
17019 \emph on
17020 0
17021 \emph default
17022 ,1
17023 \end_layout
17024
17025 \end_inset
17026
17027 ] Meaningful only for list-like environments, this tag controls whether
17028  the label tag is output before or inside the item tag.
17029  This is used, for example, in the description environment, where we want
17030  `
17031 \begin_inset Flex CharStyle:Code
17032 status collapsed
17033
17034 \begin_layout Plain Layout
17035 <dt>\SpecialChar \ldots{}
17036 </dt><dd>\SpecialChar \ldots{}
17037 </dd>
17038 \end_layout
17039
17040 \end_inset
17041
17042 .
17043  Default is 
17044 \begin_inset Flex CharStyle:Code
17045 status collapsed
17046
17047 \begin_layout Plain Layout
17048 0
17049 \end_layout
17050
17051 \end_inset
17052
17053 : The label tag is output inside the item tag.
17054 \end_layout
17055
17056 \begin_layout Description
17057 \begin_inset Flex CharStyle:Code
17058 status collapsed
17059
17060 \begin_layout Plain Layout
17061 HTMLPreamble
17062 \end_layout
17063
17064 \end_inset
17065
17066  Information to be output in the 
17067 \begin_inset Flex CharStyle:Code
17068 status collapsed
17069
17070 \begin_layout Plain Layout
17071 <head>
17072 \end_layout
17073
17074 \end_inset
17075
17076  section when this style is used.
17077  This might, for example, be used to include a 
17078 \begin_inset Flex CharStyle:Code
17079 status collapsed
17080
17081 \begin_layout Plain Layout
17082 <script>
17083 \end_layout
17084
17085 \end_inset
17086
17087  block defining an 
17088 \begin_inset Flex CharStyle:Code
17089 status collapsed
17090
17091 \begin_layout Plain Layout
17092 onclick
17093 \end_layout
17094
17095 \end_inset
17096
17097  handler.
17098 \end_layout
17099
17100 \begin_layout Description
17101 \begin_inset Flex CharStyle:Code
17102 status collapsed
17103
17104 \begin_layout Plain Layout
17105 HTMLStyle
17106 \end_layout
17107
17108 \end_inset
17109
17110  CSS style information to be included when this style is used.
17111  Note that this will automatically be wrapped in a layout-generated 
17112 \begin_inset Flex CharStyle:Code
17113 status collapsed
17114
17115 \begin_layout Plain Layout
17116 <style>
17117 \end_layout
17118
17119 \end_inset
17120
17121  block, so only the CSS itself need be included.
17122 \end_layout
17123
17124 \begin_layout Description
17125 \begin_inset Flex CharStyle:Code
17126 status collapsed
17127
17128 \begin_layout Plain Layout
17129 HTMLTag
17130 \end_layout
17131
17132 \end_inset
17133
17134  [
17135 \begin_inset Flex CharStyle:Code
17136 status collapsed
17137
17138 \begin_layout Plain Layout
17139 string
17140 \end_layout
17141
17142 \end_inset
17143
17144 ] The tag to be used for the main label, replacing 
17145 \begin_inset Flex CharStyle:Code
17146 status collapsed
17147
17148 \begin_layout Plain Layout
17149 tag
17150 \end_layout
17151
17152 \end_inset
17153
17154  in the examples above.
17155  Defaults to 
17156 \begin_inset Flex CharStyle:Code
17157 status collapsed
17158
17159 \begin_layout Plain Layout
17160 div
17161 \end_layout
17162
17163 \end_inset
17164
17165 .
17166 \end_layout
17167
17168 \begin_layout Description
17169 \begin_inset Flex CharStyle:Code
17170 status collapsed
17171
17172 \begin_layout Plain Layout
17173 HTMLTitle
17174 \end_layout
17175
17176 \end_inset
17177
17178  [
17179 \begin_inset Flex CharStyle:Code
17180 status collapsed
17181
17182 \begin_layout Plain Layout
17183
17184 \emph on
17185 0
17186 \emph default
17187 ,1
17188 \end_layout
17189
17190 \end_inset
17191
17192 ] Marks this style as the one to be used to generate the 
17193 \begin_inset Flex CharStyle:Code
17194 status collapsed
17195
17196 \begin_layout Plain Layout
17197 <title>
17198 \end_layout
17199
17200 \end_inset
17201
17202  tag for the XHTML file.
17203  By default, it is false.
17204  The 
17205 \begin_inset Flex CharStyle:Code
17206 status collapsed
17207
17208 \begin_layout Plain Layout
17209 stdtitle.inc
17210 \end_layout
17211
17212 \end_inset
17213
17214  file sets it to true for the 
17215 \begin_inset Flex CharStyle:Code
17216 status collapsed
17217
17218 \begin_layout Plain Layout
17219 title
17220 \end_layout
17221
17222 \end_inset
17223
17224  environment.
17225  
17226 \end_layout
17227
17228 \begin_layout Subsection
17229 InsetLayout XHTML
17230 \end_layout
17231
17232 \begin_layout Standard
17233 The XHTML output of insets can also be controlled by information in layout
17234  files.
17235 \begin_inset Foot
17236 status collapsed
17237
17238 \begin_layout Plain Layout
17239 At present, this is true only for 
17240 \begin_inset Quotes eld
17241 \end_inset
17242
17243 text
17244 \begin_inset Quotes erd
17245 \end_inset
17246
17247  insets (insets you can type into) and is not true for 
17248 \begin_inset Quotes eld
17249 \end_inset
17250
17251 command
17252 \begin_inset Quotes erd
17253 \end_inset
17254
17255  insets (insets that are associated with dialog boxes).
17256 \end_layout
17257
17258 \end_inset
17259
17260  Here, too, LyX tries to provide sensible defaults, and it constructs default
17261  CSS style rules.
17262  But everything can be customized.
17263 \end_layout
17264
17265 \begin_layout Standard
17266 The XHTML LyX outputs for an inset has the following form:
17267 \end_layout
17268
17269 \begin_layout LyX-Code
17270 <tag attr=
17271 \begin_inset Quotes erd
17272 \end_inset
17273
17274 value
17275 \begin_inset Quotes erd
17276 \end_inset
17277
17278 >
17279 \end_layout
17280
17281 \begin_layout LyX-Code
17282 <labeltag>Label</labeltag>
17283 \end_layout
17284
17285 \begin_layout LyX-Code
17286 <innertag attr=
17287 \begin_inset Quotes erd
17288 \end_inset
17289
17290 value
17291 \begin_inset Quotes erd
17292 \end_inset
17293
17294 >Contents of the inset.</innertag>
17295 \end_layout
17296
17297 \begin_layout LyX-Code
17298 </tag>
17299 \end_layout
17300
17301 \begin_layout Standard
17302 If the inset permits multiple paragraphs---that is, if 
17303 \begin_inset Flex CharStyle:Code
17304 status collapsed
17305
17306 \begin_layout Plain Layout
17307 MultiPar
17308 \end_layout
17309
17310 \end_inset
17311
17312  is true---then the contents of the inset will itself be output as paragraphs
17313  formatted according to the styles used for those paragraphs (standard,
17314  quote, and the like).
17315  The label tag is of course omitted if the paragraph does not have a label
17316  and, at present, is always 
17317 \begin_inset Flex CharStyle:Code
17318 status collapsed
17319
17320 \begin_layout Plain Layout
17321 span
17322 \end_layout
17323
17324 \end_inset
17325
17326 .
17327  The inner tag is optional and, by default, does not appear.
17328 \end_layout
17329
17330 \begin_layout Standard
17331 The specific tags and attributes output for each inset can be controlled
17332  by means of the following layout tags.
17333 \end_layout
17334
17335 \begin_layout Description
17336 \begin_inset Flex CharStyle:Code
17337 status collapsed
17338
17339 \begin_layout Plain Layout
17340 HTMLAttr
17341 \end_layout
17342
17343 \end_inset
17344
17345  [
17346 \begin_inset Flex CharStyle:Code
17347 status collapsed
17348
17349 \begin_layout Plain Layout
17350 string
17351 \end_layout
17352
17353 \end_inset
17354
17355 ] Specifies attribute information to be output with the main tag.
17356  For example, 
17357 \begin_inset Quotes eld
17358 \end_inset
17359
17360
17361 \begin_inset Flex CharStyle:Code
17362 status collapsed
17363
17364 \begin_layout Plain Layout
17365 class=`myinset' onclick=`\SpecialChar \ldots{}
17366 '
17367 \end_layout
17368
17369 \end_inset
17370
17371
17372 \begin_inset Quotes erd
17373 \end_inset
17374
17375 .
17376  By default, LyX will output 
17377 \begin_inset Quotes eld
17378 \end_inset
17379
17380
17381 \begin_inset Flex CharStyle:Code
17382 status collapsed
17383
17384 \begin_layout Plain Layout
17385 class=`insetname'
17386 \end_layout
17387
17388 \end_inset
17389
17390
17391 \begin_inset Quotes erd
17392 \end_inset
17393
17394 , where 
17395 \begin_inset Flex CharStyle:Code
17396 status collapsed
17397
17398 \begin_layout Plain Layout
17399 insetname
17400 \end_layout
17401
17402 \end_inset
17403
17404  is the LyX name of the inset, made lowercase and with non-alphanumeric
17405  characters converted to underscores, for example: footnote.
17406 \end_layout
17407
17408 \begin_layout Description
17409 \begin_inset Flex CharStyle:Code
17410 status collapsed
17411
17412 \begin_layout Plain Layout
17413 HTMLForceCSS
17414 \end_layout
17415
17416 \end_inset
17417
17418  [
17419 \begin_inset Flex CharStyle:Code
17420 status collapsed
17421
17422 \begin_layout Plain Layout
17423
17424 \emph on
17425 0
17426 \emph default
17427 ,1
17428 \end_layout
17429
17430 \end_inset
17431
17432 ] Whether to output the default CSS information LyX generates for this layout,
17433  even if additional information is explicitly provided via 
17434 \begin_inset Flex CharStyle:Code
17435 status collapsed
17436
17437 \begin_layout Plain Layout
17438 HTMLStyle
17439 \end_layout
17440
17441 \end_inset
17442
17443 .
17444  Setting this to 
17445 \begin_inset Flex CharStyle:Code
17446 status collapsed
17447
17448 \begin_layout Plain Layout
17449 1
17450 \end_layout
17451
17452 \end_inset
17453
17454  allows you to alter or augment the generated CSS, rather than to override
17455  it completely.
17456  Default is 0.
17457 \end_layout
17458
17459 \begin_layout Description
17460 \begin_inset Flex CharStyle:Code
17461 status collapsed
17462
17463 \begin_layout Plain Layout
17464 HTMLInnerAttr
17465 \end_layout
17466
17467 \end_inset
17468
17469  [
17470 \begin_inset Flex CharStyle:Code
17471 status collapsed
17472
17473 \begin_layout Plain Layout
17474 string
17475 \end_layout
17476
17477 \end_inset
17478
17479 ] Attributes for the inner tag.
17480  Defaults to 
17481 \begin_inset Quotes eld
17482 \end_inset
17483
17484
17485 \begin_inset Flex CharStyle:Code
17486 status collapsed
17487
17488 \begin_layout Plain Layout
17489 class=`insetname_inner'
17490 \end_layout
17491
17492 \end_inset
17493
17494
17495 \begin_inset Quotes erd
17496 \end_inset
17497
17498 .
17499 \end_layout
17500
17501 \begin_layout Description
17502 \begin_inset Flex CharStyle:Code
17503 status collapsed
17504
17505 \begin_layout Plain Layout
17506 HTMLInnerTag
17507 \end_layout
17508
17509 \end_inset
17510
17511  [
17512 \begin_inset Flex CharStyle:Code
17513 status collapsed
17514
17515 \begin_layout Plain Layout
17516 string
17517 \end_layout
17518
17519 \end_inset
17520
17521 ] The inner tag, replacing 
17522 \begin_inset Flex CharStyle:Code
17523 status collapsed
17524
17525 \begin_layout Plain Layout
17526 innertag
17527 \end_layout
17528
17529 \end_inset
17530
17531  in the examples above.
17532  By default, there is none.
17533 \end_layout
17534
17535 \begin_layout Description
17536 \begin_inset Flex CharStyle:Code
17537 status collapsed
17538
17539 \begin_layout Plain Layout
17540 HTMLIsBlock
17541 \end_layout
17542
17543 \end_inset
17544
17545  [
17546 \begin_inset Flex CharStyle:Code
17547 status collapsed
17548
17549 \begin_layout Plain Layout
17550 0,
17551 \emph on
17552 1
17553 \end_layout
17554
17555 \end_inset
17556
17557 ] Whether this inset represents a standalone block of text (such as a footnote)
17558  or instead represents material that is included in the surrounding text
17559  (such as a branch).
17560  Defaults to 1.
17561 \end_layout
17562
17563 \begin_layout Description
17564 \begin_inset Flex CharStyle:Code
17565 status collapsed
17566
17567 \begin_layout Plain Layout
17568 HTMLLabel
17569 \end_layout
17570
17571 \end_inset
17572
17573  [
17574 \begin_inset Flex CharStyle:Code
17575 status collapsed
17576
17577 \begin_layout Plain Layout
17578 string
17579 \end_layout
17580
17581 \end_inset
17582
17583 ] A label for this inset, possibly including a reference to a counter.
17584  For example, for footnote, it might be: 
17585 \begin_inset Flex CharStyle:Code
17586 status collapsed
17587
17588 \begin_layout Plain Layout
17589
17590 \backslash
17591 arabic{footnote}
17592 \end_layout
17593
17594 \end_inset
17595
17596 .
17597  This is optional, and there is no default.
17598 \end_layout
17599
17600 \begin_layout Description
17601 \begin_inset Flex CharStyle:Code
17602 status collapsed
17603
17604 \begin_layout Plain Layout
17605 HTMLPreamble
17606 \end_layout
17607
17608 \end_inset
17609
17610  Information to be output in the 
17611 \begin_inset Flex CharStyle:Code
17612 status collapsed
17613
17614 \begin_layout Plain Layout
17615 <head>
17616 \end_layout
17617
17618 \end_inset
17619
17620  section when this style is used.
17621  This might, for example, be used to include a 
17622 \begin_inset Flex CharStyle:Code
17623 status collapsed
17624
17625 \begin_layout Plain Layout
17626 <script>
17627 \end_layout
17628
17629 \end_inset
17630
17631  block defining an 
17632 \begin_inset Flex CharStyle:Code
17633 status collapsed
17634
17635 \begin_layout Plain Layout
17636 onclick
17637 \end_layout
17638
17639 \end_inset
17640
17641  handler.
17642 \end_layout
17643
17644 \begin_layout Description
17645 \begin_inset Flex CharStyle:Code
17646 status collapsed
17647
17648 \begin_layout Plain Layout
17649 HTMLStyle
17650 \end_layout
17651
17652 \end_inset
17653
17654  CSS style information to be included when this style is used.
17655  Note that this will automatically be wrapped in a layout-generated 
17656 \begin_inset Flex CharStyle:Code
17657 status collapsed
17658
17659 \begin_layout Plain Layout
17660 <style>
17661 \end_layout
17662
17663 \end_inset
17664
17665  block, so only the CSS itself need be included.
17666 \end_layout
17667
17668 \begin_layout Description
17669 \begin_inset Flex CharStyle:Code
17670 status collapsed
17671
17672 \begin_layout Plain Layout
17673 HTMLTag
17674 \end_layout
17675
17676 \end_inset
17677
17678  [
17679 \begin_inset Flex CharStyle:Code
17680 status collapsed
17681
17682 \begin_layout Plain Layout
17683 string
17684 \end_layout
17685
17686 \end_inset
17687
17688 ] The tag to be used for the main label, replacing 
17689 \begin_inset Flex CharStyle:Code
17690 status collapsed
17691
17692 \begin_layout Plain Layout
17693 tag
17694 \end_layout
17695
17696 \end_inset
17697
17698  in the examples above.
17699  The default depends upon the setting of 
17700 \begin_inset Flex CharStyle:Code
17701 status collapsed
17702
17703 \begin_layout Plain Layout
17704 MultiPar
17705 \end_layout
17706
17707 \end_inset
17708
17709 : If 
17710 \begin_inset Flex CharStyle:Code
17711 status collapsed
17712
17713 \begin_layout Plain Layout
17714 MultiPar
17715 \end_layout
17716
17717 \end_inset
17718
17719  is true, the default is 
17720 \begin_inset Flex CharStyle:Code
17721 status collapsed
17722
17723 \begin_layout Plain Layout
17724 div
17725 \end_layout
17726
17727 \end_inset
17728
17729 ; if it is false, the default is 
17730 \begin_inset Flex CharStyle:Code
17731 status collapsed
17732
17733 \begin_layout Plain Layout
17734 span
17735 \end_layout
17736
17737 \end_inset
17738
17739 .
17740 \end_layout
17741
17742 \begin_layout Subsection
17743 Float XHTML
17744 \end_layout
17745
17746 \begin_layout Standard
17747 The XHTML output for floats too can be controlled by layout information.
17748  The output has the following form:
17749 \end_layout
17750
17751 \begin_layout LyX-Code
17752 <tag attr=
17753 \begin_inset Quotes erd
17754 \end_inset
17755
17756 value
17757 \begin_inset Quotes erd
17758 \end_inset
17759
17760 >
17761 \end_layout
17762
17763 \begin_layout LyX-Code
17764 Contents of the float.
17765 \end_layout
17766
17767 \begin_layout LyX-Code
17768 </tag>
17769 \end_layout
17770
17771 \begin_layout Standard
17772 The caption, if there is one, is a separate inset and will be output as
17773  such.
17774  Its appearance can be controlled via the InsetLayout for caption insets.
17775  
17776 \end_layout
17777
17778 \begin_layout Description
17779 \begin_inset Flex CharStyle:Code
17780 status collapsed
17781
17782 \begin_layout Plain Layout
17783 HTMLAttr
17784 \end_layout
17785
17786 \end_inset
17787
17788  [
17789 \begin_inset Flex CharStyle:Code
17790 status collapsed
17791
17792 \begin_layout Plain Layout
17793 string
17794 \end_layout
17795
17796 \end_inset
17797
17798 ] Specifies attribute information to be output with the main tag.
17799  For example, 
17800 \begin_inset Quotes eld
17801 \end_inset
17802
17803
17804 \begin_inset Flex CharStyle:Code
17805 status collapsed
17806
17807 \begin_layout Plain Layout
17808 class=`myfloat' onclick=`\SpecialChar \ldots{}
17809 '
17810 \end_layout
17811
17812 \end_inset
17813
17814
17815 \begin_inset Quotes erd
17816 \end_inset
17817
17818 .
17819  By default, LyX will output 
17820 \begin_inset Quotes eld
17821 \end_inset
17822
17823
17824 \begin_inset Flex CharStyle:Code
17825 status collapsed
17826
17827 \begin_layout Plain Layout
17828 class=`float float-floattype'
17829 \end_layout
17830
17831 \end_inset
17832
17833
17834 \begin_inset Quotes erd
17835 \end_inset
17836
17837 , where 
17838 \begin_inset Flex CharStyle:Code
17839 status collapsed
17840
17841 \begin_layout Plain Layout
17842 floattype
17843 \end_layout
17844
17845 \end_inset
17846
17847  is LyX's name for this type of float, as determined by the float delcaration
17848  (see 
17849 \begin_inset CommandInset ref
17850 LatexCommand ref
17851 reference "sub:Floats"
17852
17853 \end_inset
17854
17855 ), though made lowercase and with non-alphanumeric characters converted
17856  to underscores, for example: float-table.
17857 \end_layout
17858
17859 \begin_layout Description
17860 \begin_inset Flex CharStyle:Code
17861 status collapsed
17862
17863 \begin_layout Plain Layout
17864 HTMLStyle
17865 \end_layout
17866
17867 \end_inset
17868
17869  CSS style information to be included when this float is used.
17870  Note that this will automatically be wrapped in a layout-generated 
17871 \begin_inset Flex CharStyle:Code
17872 status collapsed
17873
17874 \begin_layout Plain Layout
17875 <style>
17876 \end_layout
17877
17878 \end_inset
17879
17880  block, so only the CSS itself need be included.
17881 \end_layout
17882
17883 \begin_layout Description
17884 \begin_inset Flex CharStyle:Code
17885 status collapsed
17886
17887 \begin_layout Plain Layout
17888 HTMLTag
17889 \end_layout
17890
17891 \end_inset
17892
17893  [
17894 \begin_inset Flex CharStyle:Code
17895 status collapsed
17896
17897 \begin_layout Plain Layout
17898 string
17899 \end_layout
17900
17901 \end_inset
17902
17903 ] The tag to be used for this float, replacing 
17904 \begin_inset Quotes eld
17905 \end_inset
17906
17907
17908 \begin_inset Flex CharStyle:Code
17909 status collapsed
17910
17911 \begin_layout Plain Layout
17912 tag
17913 \end_layout
17914
17915 \end_inset
17916
17917
17918 \begin_inset Quotes erd
17919 \end_inset
17920
17921  in the example above.
17922  The default is 
17923 \begin_inset Flex CharStyle:Code
17924 status collapsed
17925
17926 \begin_layout Plain Layout
17927 div
17928 \end_layout
17929
17930 \end_inset
17931
17932  and will rarely need changing.
17933 \end_layout
17934
17935 \begin_layout Subsection
17936 Bibliography formatting
17937 \end_layout
17938
17939 \begin_layout Standard
17940 The bibliography can be formatted using 
17941 \begin_inset Flex CharStyle:Code
17942 status collapsed
17943
17944 \begin_layout Plain Layout
17945 CiteFormat
17946 \end_layout
17947
17948 \end_inset
17949
17950  blocks.
17951  See Section 
17952 \begin_inset CommandInset ref
17953 LatexCommand ref
17954 reference "sub:Citation-format-description"
17955
17956 \end_inset
17957
17958  for the details.
17959 \end_layout
17960
17961 \begin_layout Subsection
17962 LyX-generated CSS
17963 \end_layout
17964
17965 \begin_layout Standard
17966 We have several times mentioned that LyX will generate default CSS style
17967  rules for both insets and paragraph styles, based upon the other layout
17968  information that is provided.
17969  In this section, we shall say a word about which layout information LyX
17970  uses and how.
17971 \end_layout
17972
17973 \begin_layout Standard
17974 At present, LyX auto-generates CSS only for font information, making use
17975  of the 
17976 \begin_inset Flex CharStyle:Code
17977 status collapsed
17978
17979 \begin_layout Plain Layout
17980 Family
17981 \end_layout
17982
17983 \end_inset
17984
17985
17986 \begin_inset Flex CharStyle:Code
17987 status collapsed
17988
17989 \begin_layout Plain Layout
17990 Series
17991 \end_layout
17992
17993 \end_inset
17994
17995
17996 \begin_inset Flex CharStyle:Code
17997 status collapsed
17998
17999 \begin_layout Plain Layout
18000 Shape
18001 \end_layout
18002
18003 \end_inset
18004
18005 , and 
18006 \begin_inset Flex CharStyle:Code
18007 status collapsed
18008
18009 \begin_layout Plain Layout
18010 Size
18011 \end_layout
18012
18013 \end_inset
18014
18015  specified in the 
18016 \begin_inset Flex CharStyle:Code
18017 status collapsed
18018
18019 \begin_layout Plain Layout
18020 Font
18021 \end_layout
18022
18023 \end_inset
18024
18025  declaration.
18026  (See 
18027 \begin_inset CommandInset ref
18028 LatexCommand ref
18029 reference "sub:Font-description"
18030
18031 \end_inset
18032
18033 .) The translation is mostly straightforward and obvious.
18034  For example, 
18035 \begin_inset Quotes eld
18036 \end_inset
18037
18038
18039 \begin_inset Flex CharStyle:Code
18040 status collapsed
18041
18042 \begin_layout Plain Layout
18043 Family Sans
18044 \end_layout
18045
18046 \end_inset
18047
18048
18049 \begin_inset Quotes erd
18050 \end_inset
18051
18052  becomes 
18053 \begin_inset Quotes eld
18054 \end_inset
18055
18056
18057 \begin_inset Flex CharStyle:Code
18058 status collapsed
18059
18060 \begin_layout Plain Layout
18061 font-family: sans-serif;
18062 \end_layout
18063
18064 \end_inset
18065
18066
18067 \begin_inset Quotes erd
18068 \end_inset
18069
18070 .
18071  The correspondence of LyX sizes and CSS sizes is a little less obvious
18072  but nonetheless intuitive.
18073  See the 
18074 \begin_inset Flex CharStyle:Code
18075 status collapsed
18076
18077 \begin_layout Plain Layout
18078 getSizeCSS()
18079 \end_layout
18080
18081 \end_inset
18082
18083  function in 
18084 \begin_inset Flex URL
18085 status collapsed
18086
18087 \begin_layout Plain Layout
18088
18089 src/FontInfo.cpp
18090 \end_layout
18091
18092 \end_inset
18093
18094  for the details.
18095  
18096 \end_layout
18097
18098 \begin_layout Chapter
18099 Including External Material
18100 \end_layout
18101
18102 \begin_layout Standard
18103 \begin_inset Box Shadowbox
18104 position "t"
18105 hor_pos "c"
18106 has_inner_box 1
18107 inner_pos "t"
18108 use_parbox 0
18109 use_makebox 0
18110 width "100col%"
18111 special "none"
18112 height "1in"
18113 height_special "totalheight"
18114 status open
18115
18116 \begin_layout Plain Layout
18117 WARNING: This portion of the documentation has not been updated for some
18118  time.
18119  We certainly hope that it is still accurate, but there are no guarantees.
18120 \end_layout
18121
18122 \end_inset
18123
18124
18125 \end_layout
18126
18127 \begin_layout Standard
18128 The use of material from sources external to LyX is covered in detail in
18129  the 
18130 \emph on
18131 Embedded Objects
18132 \emph default
18133  manual.
18134  This part of the manual covers what needs to happen behind the scenes for
18135  new sorts of material to be included.
18136 \end_layout
18137
18138 \begin_layout Section
18139 How does it work?
18140 \end_layout
18141
18142 \begin_layout Standard
18143 The external material feature is based on the concept of a 
18144 \emph on
18145 template
18146 \emph default
18147 .
18148  A template is a specification of how LyX should interface with a certain
18149  kind of material.
18150  As bundled, LyX comes with predefined templates for Xfig figures, various
18151  raster format images, chess diagrams, and LilyPond music notation.
18152  You can check the actual list by using the menu 
18153 \begin_inset Flex CharStyle:MenuItem
18154 status collapsed
18155
18156 \begin_layout Plain Layout
18157 Insert\SpecialChar \menuseparator
18158 File\SpecialChar \menuseparator
18159 External Material
18160 \end_layout
18161
18162 \end_inset
18163
18164 .
18165  Furthermore, it is possible to roll your own template to support a specific
18166  kind of material.
18167  Later we'll describe in more detail what is involved, and hopefully you
18168  will submit all the templates you create so we can include them in a later
18169  LyX version.
18170 \end_layout
18171
18172 \begin_layout Standard
18173 Another basic idea of the external material feature is to distinguish between
18174  the original file that serves as a base for final material and the produced
18175  file that is included in your exported or printed document.
18176  For example, consider the case of a figure produced with 
18177 \begin_inset Flex CharStyle:Code
18178 status collapsed
18179
18180 \begin_layout Plain Layout
18181 Xfig
18182 \end_layout
18183
18184 \end_inset
18185
18186 .
18187  The Xfig application itself works on an original file with the 
18188 \begin_inset Flex CharStyle:Code
18189 status collapsed
18190
18191 \begin_layout Plain Layout
18192 .fig
18193 \end_layout
18194
18195 \end_inset
18196
18197  extension.
18198  Within Xfig, you create and change your figure, and when you are done,
18199  you save the 
18200 \begin_inset Flex CharStyle:Code
18201 status collapsed
18202
18203 \begin_layout Plain Layout
18204 fig
18205 \end_layout
18206
18207 \end_inset
18208
18209 -file.
18210  When you want to include the figure in your document, you invoke 
18211 \begin_inset Flex CharStyle:Code
18212 status collapsed
18213
18214 \begin_layout Plain Layout
18215 transfig
18216 \end_layout
18217
18218 \end_inset
18219
18220  in order to create a PostScript file that can readily be included in your
18221  LaTeX file.
18222  In this case, the 
18223 \begin_inset Flex CharStyle:Code
18224 status collapsed
18225
18226 \begin_layout Plain Layout
18227 .fig
18228 \end_layout
18229
18230 \end_inset
18231
18232  file is the original file, and the PostScript file is the produced file.
18233 \end_layout
18234
18235 \begin_layout Standard
18236 This distinction is important in order to allow updating of the material
18237  while you are in the process of writing the document.
18238  Furthermore, it provides us with the flexibility that is needed to support
18239  multiple export formats.
18240  For instance, in the case of a plain text file, it is not exactly an award-winn
18241 ing idea to include the figure as raw PostScript.
18242  Instead, you'd either prefer to just include a reference to the figure
18243  or try to invoke some graphics to ASCII converter to make the final result
18244  look similar to the real graphics.
18245  The external material management allows you to do this, because it is parametri
18246 zed on the different export formats that LyX supports.
18247 \end_layout
18248
18249 \begin_layout Standard
18250 Besides supporting the production of different products according to the
18251  exported format, it supports tight integration with editing and viewing
18252  applications.
18253  In the case of an Xfig figure, you are able to invoke Xfig on the original
18254  file with a single click from within the external material dialog in LyX,
18255  and also preview the produced PostScript file with Ghostview with another
18256  click.
18257  No more fiddling around with the command line and/or file browsers to locate
18258  and manipulate the original or produced files.
18259  In this way, you are finally able to take full advantage of the many different
18260  applications that are relevant to use when you write your documents, and
18261  ultimately be more productive.
18262 \end_layout
18263
18264 \begin_layout Section
18265 The external template configuration file
18266 \end_layout
18267
18268 \begin_layout Standard
18269 It is relatively easy to add custom external template definitions to LyX.
18270  However, be aware that doing this in an careless manner most probably 
18271 \emph on
18272 will
18273 \emph default
18274  introduce an easily exploitable security hole.
18275  So before you do this, please read the discussion about security in section
18276  
18277 \begin_inset CommandInset ref
18278 LatexCommand ref
18279 reference "sec:Security-discussion"
18280
18281 \end_inset
18282
18283 .
18284 \end_layout
18285
18286 \begin_layout Standard
18287 Having said that, we encourage you to submit any interesting templates that
18288  you create.
18289  
18290 \end_layout
18291
18292 \begin_layout Standard
18293 The external templates are defined in the 
18294 \begin_inset Flex CharStyle:Code
18295 status collapsed
18296
18297 \begin_layout Plain Layout
18298 LyXDir/lib/external_templates
18299 \end_layout
18300
18301 \end_inset
18302
18303  file.
18304  You can place your own version in 
18305 \begin_inset Flex CharStyle:Code
18306 status collapsed
18307
18308 \begin_layout Plain Layout
18309 UserDir/external_templates
18310 \end_layout
18311
18312 \end_inset
18313
18314 .
18315 \end_layout
18316
18317 \begin_layout Standard
18318 A typical template looks like this:
18319 \end_layout
18320
18321 \begin_layout LyX-Code
18322 Template XFig
18323 \end_layout
18324
18325 \begin_layout LyX-Code
18326 GuiName "XFig: $$AbsOrRelPathParent$$Basename"
18327 \end_layout
18328
18329 \begin_layout LyX-Code
18330 HelpText
18331 \end_layout
18332
18333 \begin_layout LyX-Code
18334 An XFig figure.
18335 \end_layout
18336
18337 \begin_layout LyX-Code
18338 HelpTextEnd
18339 \end_layout
18340
18341 \begin_layout LyX-Code
18342 InputFormat fig
18343 \end_layout
18344
18345 \begin_layout LyX-Code
18346 FileFilter "*.fig"
18347 \end_layout
18348
18349 \begin_layout LyX-Code
18350 AutomaticProduction true
18351 \end_layout
18352
18353 \begin_layout LyX-Code
18354 Transform Rotate
18355 \end_layout
18356
18357 \begin_layout LyX-Code
18358 Transform Resize
18359 \end_layout
18360
18361 \begin_layout LyX-Code
18362 Format LaTeX
18363 \end_layout
18364
18365 \begin_layout LyX-Code
18366 TransformCommand Rotate RotationLatexCommand
18367 \end_layout
18368
18369 \begin_layout LyX-Code
18370 TransformCommand Resize ResizeLatexCommand
18371 \end_layout
18372
18373 \begin_layout LyX-Code
18374 Product "$$RotateFront$$ResizeFront
18375 \end_layout
18376
18377 \begin_layout LyX-Code
18378          
18379 \backslash
18380
18381 \backslash
18382 input{$$AbsOrRelPathMaster$$Basename.pstex_t}
18383 \end_layout
18384
18385 \begin_layout LyX-Code
18386          $$ResizeBack$$RotateBack"
18387 \end_layout
18388
18389 \begin_layout LyX-Code
18390 UpdateFormat pstex
18391 \end_layout
18392
18393 \begin_layout LyX-Code
18394 UpdateResult "$$AbsPath$$Basename.pstex_t"
18395 \end_layout
18396
18397 \begin_layout LyX-Code
18398 Requirement "graphicx"
18399 \end_layout
18400
18401 \begin_layout LyX-Code
18402 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
18403 \end_layout
18404
18405 \begin_layout LyX-Code
18406 ReferencedFile latex "$$AbsPath$$Basename.eps"
18407 \end_layout
18408
18409 \begin_layout LyX-Code
18410 ReferencedFile dvi "$$AbsPath$$Basename.eps"
18411 \end_layout
18412
18413 \begin_layout LyX-Code
18414 FormatEnd
18415 \end_layout
18416
18417 \begin_layout LyX-Code
18418 Format PDFLaTeX
18419 \end_layout
18420
18421 \begin_layout LyX-Code
18422 TransformCommand Rotate RotationLatexCommand
18423 \end_layout
18424
18425 \begin_layout LyX-Code
18426 TransformCommand Resize ResizeLatexCommand
18427 \end_layout
18428
18429 \begin_layout LyX-Code
18430 Product "$$RotateFront$$ResizeFront
18431 \end_layout
18432
18433 \begin_layout LyX-Code
18434          
18435 \backslash
18436
18437 \backslash
18438 input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
18439 \end_layout
18440
18441 \begin_layout LyX-Code
18442          $$ResizeBack$$RotateBack"
18443 \end_layout
18444
18445 \begin_layout LyX-Code
18446 UpdateFormat pdftex
18447 \end_layout
18448
18449 \begin_layout LyX-Code
18450 UpdateResult "$$AbsPath$$Basename.pdftex_t"
18451 \end_layout
18452
18453 \begin_layout LyX-Code
18454 Requirement "graphicx"
18455 \end_layout
18456
18457 \begin_layout LyX-Code
18458 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
18459 \end_layout
18460
18461 \begin_layout LyX-Code
18462 ReferencedFile latex "$$AbsPath$$Basename.pdf"
18463 \end_layout
18464
18465 \begin_layout LyX-Code
18466 FormatEnd
18467 \end_layout
18468
18469 \begin_layout LyX-Code
18470 Format Ascii
18471 \end_layout
18472
18473 \begin_layout LyX-Code
18474 Product "$$Contents(
18475 \backslash
18476 "$$AbsPath$$Basename.asc
18477 \backslash
18478 ")"
18479 \end_layout
18480
18481 \begin_layout LyX-Code
18482 UpdateFormat asciixfig
18483 \end_layout
18484
18485 \begin_layout LyX-Code
18486 UpdateResult "$$AbsPath$$Basename.asc"
18487 \end_layout
18488
18489 \begin_layout LyX-Code
18490 FormatEnd
18491 \end_layout
18492
18493 \begin_layout LyX-Code
18494 Format DocBook
18495 \end_layout
18496
18497 \begin_layout LyX-Code
18498 Product "<graphic fileref=
18499 \backslash
18500 "$$AbsOrRelPathMaster$$Basename.eps
18501 \backslash
18502 ">
18503 \end_layout
18504
18505 \begin_layout LyX-Code
18506          </graphic>"
18507 \end_layout
18508
18509 \begin_layout LyX-Code
18510 UpdateFormat eps
18511 \end_layout
18512
18513 \begin_layout LyX-Code
18514 UpdateResult "$$AbsPath$$Basename.eps"
18515 \end_layout
18516
18517 \begin_layout LyX-Code
18518 ReferencedFile docbook "$$AbsPath$$Basename.eps"
18519 \end_layout
18520
18521 \begin_layout LyX-Code
18522 ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
18523 \end_layout
18524
18525 \begin_layout LyX-Code
18526 FormatEnd
18527 \end_layout
18528
18529 \begin_layout LyX-Code
18530 Product "[XFig: $$FName]"
18531 \end_layout
18532
18533 \begin_layout LyX-Code
18534 FormatEnd
18535 \end_layout
18536
18537 \begin_layout LyX-Code
18538 TemplateEnd
18539 \end_layout
18540
18541 \begin_layout Standard
18542 As you can see, the template is enclosed in 
18543 \begin_inset Flex CharStyle:Code
18544 status collapsed
18545
18546 \begin_layout Plain Layout
18547 Template
18548 \end_layout
18549
18550 \end_inset
18551
18552  \SpecialChar \ldots{}
18553  
18554 \begin_inset Flex CharStyle:Code
18555 status collapsed
18556
18557 \begin_layout Plain Layout
18558 TemplateEnd
18559 \end_layout
18560
18561 \end_inset
18562
18563 .
18564  It contains a header specifying some general settings and, for each supported
18565  primary document file format, a section 
18566 \begin_inset Flex CharStyle:Code
18567 status collapsed
18568
18569 \begin_layout Plain Layout
18570 Format
18571 \end_layout
18572
18573 \end_inset
18574
18575  \SpecialChar \ldots{}
18576  
18577 \begin_inset Flex CharStyle:Code
18578 status collapsed
18579
18580 \begin_layout Plain Layout
18581 FormatEnd
18582 \end_layout
18583
18584 \end_inset
18585
18586 .
18587 \end_layout
18588
18589 \begin_layout Subsection
18590 The template header
18591 \end_layout
18592
18593 \begin_layout Description
18594 \begin_inset Flex CharStyle:Code
18595 status collapsed
18596
18597 \begin_layout Plain Layout
18598 AutomaticProduction
18599 \begin_inset space ~
18600 \end_inset
18601
18602 true|false
18603 \end_layout
18604
18605 \end_inset
18606
18607  Whether the file represented by the template must be generated by LyX.
18608  This command must occur exactly once.
18609 \end_layout
18610
18611 \begin_layout Description
18612 \begin_inset Flex CharStyle:Code
18613 status collapsed
18614
18615 \begin_layout Plain Layout
18616 FileFilter
18617 \begin_inset space ~
18618 \end_inset
18619
18620 <pattern>
18621 \end_layout
18622
18623 \end_inset
18624
18625  A glob pattern that is used in the file dialog to filter out the desired
18626  files.
18627  If there is more than one possible file extension (e.
18628 \begin_inset space \thinspace{}
18629 \end_inset
18630
18631 g.
18632 \begin_inset space \space{}
18633 \end_inset
18634
18635 tgif has 
18636 \begin_inset Flex CharStyle:Code
18637 status collapsed
18638
18639 \begin_layout Plain Layout
18640 .obj
18641 \end_layout
18642
18643 \end_inset
18644
18645  and 
18646 \begin_inset Flex CharStyle:Code
18647 status collapsed
18648
18649 \begin_layout Plain Layout
18650 .tgo
18651 \end_layout
18652
18653 \end_inset
18654
18655 ), use something like 
18656 \begin_inset Flex CharStyle:Code
18657 status collapsed
18658
18659 \begin_layout Plain Layout
18660 "*.{obj,tgo}"
18661 \end_layout
18662
18663 \end_inset
18664
18665 .
18666  This command must occur exactly once.
18667 \end_layout
18668
18669 \begin_layout Description
18670 \begin_inset Flex CharStyle:Code
18671 status collapsed
18672
18673 \begin_layout Plain Layout
18674 GuiName
18675 \begin_inset space ~
18676 \end_inset
18677
18678 <guiname>
18679 \end_layout
18680
18681 \end_inset
18682
18683  The text that is displayed on the button.
18684  This command must occur exactly once.
18685 \end_layout
18686
18687 \begin_layout Description
18688 \begin_inset Flex CharStyle:Code
18689 status collapsed
18690
18691 \begin_layout Plain Layout
18692 HelpText
18693 \begin_inset space ~
18694 \end_inset
18695
18696 <text>
18697 \begin_inset space ~
18698 \end_inset
18699
18700 HelpTextEnd
18701 \end_layout
18702
18703 \end_inset
18704
18705  The help text that is used in the External dialog.
18706  Provide enough information to explain to the user just what the template
18707  can provide him with.
18708  This command must occur exactly once.
18709 \end_layout
18710
18711 \begin_layout Description
18712 \begin_inset Flex CharStyle:Code
18713 status collapsed
18714
18715 \begin_layout Plain Layout
18716 InputFormat
18717 \begin_inset space ~
18718 \end_inset
18719
18720 <format>
18721 \end_layout
18722
18723 \end_inset
18724
18725  The file format of the original file.
18726  This must be the name of a format that is known to LyX (see section 
18727 \begin_inset CommandInset ref
18728 LatexCommand ref
18729 reference "sec:Formats"
18730
18731 \end_inset
18732
18733 ).
18734  Use 
18735 \begin_inset Quotes eld
18736 \end_inset
18737
18738
18739 \begin_inset Flex CharStyle:Code
18740 status collapsed
18741
18742 \begin_layout Plain Layout
18743 *
18744 \end_layout
18745
18746 \end_inset
18747
18748
18749 \begin_inset Quotes erd
18750 \end_inset
18751
18752  if the template can handle original files of more than one format.
18753  LyX will attempt to interrogate the file itself in order to deduce its
18754  format in this case.
18755  This command must occur exactly once.
18756 \end_layout
18757
18758 \begin_layout Description
18759 \begin_inset Flex CharStyle:Code
18760 status collapsed
18761
18762 \begin_layout Plain Layout
18763 Template
18764 \begin_inset space ~
18765 \end_inset
18766
18767 <id>
18768 \end_layout
18769
18770 \end_inset
18771
18772  A unique name for the template.
18773  It must not contain substitution macros (see below).
18774 \end_layout
18775
18776 \begin_layout Description
18777 \begin_inset Flex CharStyle:Code
18778 status collapsed
18779
18780 \begin_layout Plain Layout
18781 Transform
18782 \begin_inset space ~
18783 \end_inset
18784
18785 Rotate|Resize|Clip|Extra
18786 \end_layout
18787
18788 \end_inset
18789
18790  This command specifies which transformations are supported by this template.
18791  It may occur zero or more times.
18792  This command enables the corresponding tabs in the external dialog.
18793  Each 
18794 \begin_inset Flex CharStyle:Code
18795 status collapsed
18796
18797 \begin_layout Plain Layout
18798 Transform
18799 \end_layout
18800
18801 \end_inset
18802
18803  command must have either a corresponding 
18804 \begin_inset Flex CharStyle:Code
18805 status collapsed
18806
18807 \begin_layout Plain Layout
18808 TransformCommand
18809 \end_layout
18810
18811 \end_inset
18812
18813  or a 
18814 \begin_inset Flex CharStyle:Code
18815 status collapsed
18816
18817 \begin_layout Plain Layout
18818 TransformOption
18819 \end_layout
18820
18821 \end_inset
18822
18823  command in the 
18824 \begin_inset Flex CharStyle:Code
18825 status collapsed
18826
18827 \begin_layout Plain Layout
18828 Format
18829 \end_layout
18830
18831 \end_inset
18832
18833  section.
18834  Otherwise the transformation will not be supported by that format.
18835 \end_layout
18836
18837 \begin_layout Subsection
18838 The Format section
18839 \end_layout
18840
18841 \begin_layout Description
18842 \begin_inset Flex CharStyle:Code
18843 status collapsed
18844
18845 \begin_layout Plain Layout
18846 Format
18847 \begin_inset space ~
18848 \end_inset
18849
18850 LaTeX|PDFLaTeX|PlainText|DocBook
18851 \end_layout
18852
18853 \end_inset
18854
18855  The primary document file format that this format definition is for.
18856  Not every template has a sensible representation in all document file formats.
18857  Please define nevertheless a 
18858 \begin_inset Flex CharStyle:Code
18859 status collapsed
18860
18861 \begin_layout Plain Layout
18862 Format
18863 \end_layout
18864
18865 \end_inset
18866
18867  section for all formats.
18868  Use a dummy text when no representation is available.
18869  Then you can at least see a reference to the external material in the exported
18870  document.
18871 \end_layout
18872
18873 \begin_layout Description
18874 \begin_inset Flex CharStyle:Code
18875 status collapsed
18876
18877 \begin_layout Plain Layout
18878 Option
18879 \begin_inset space ~
18880 \end_inset
18881
18882 <name>
18883 \begin_inset space ~
18884 \end_inset
18885
18886 <value>
18887 \end_layout
18888
18889 \end_inset
18890
18891  This command defines an additional macro 
18892 \begin_inset Flex CharStyle:Code
18893 status collapsed
18894
18895 \begin_layout Plain Layout
18896 $$<name>
18897 \end_layout
18898
18899 \end_inset
18900
18901  for substitution in 
18902 \begin_inset Flex CharStyle:Code
18903 status collapsed
18904
18905 \begin_layout Plain Layout
18906 Product
18907 \end_layout
18908
18909 \end_inset
18910
18911 .
18912  
18913 \begin_inset Flex CharStyle:Code
18914 status collapsed
18915
18916 \begin_layout Plain Layout
18917 <value>
18918 \end_layout
18919
18920 \end_inset
18921
18922  itself may contain substitution macros.
18923  The advantage over using 
18924 \begin_inset Flex CharStyle:Code
18925 status collapsed
18926
18927 \begin_layout Plain Layout
18928 <value>
18929 \end_layout
18930
18931 \end_inset
18932
18933  directly in 
18934 \begin_inset Flex CharStyle:Code
18935 status collapsed
18936
18937 \begin_layout Plain Layout
18938 Product
18939 \end_layout
18940
18941 \end_inset
18942
18943  is that the substituted value of 
18944 \begin_inset Flex CharStyle:Code
18945 status collapsed
18946
18947 \begin_layout Plain Layout
18948 $$<name>
18949 \end_layout
18950
18951 \end_inset
18952
18953  is sanitized so that it is a valid optional argument in the document format.
18954  This command may occur zero or more times.
18955 \end_layout
18956
18957 \begin_layout Description
18958 \begin_inset Flex CharStyle:Code
18959 status collapsed
18960
18961 \begin_layout Plain Layout
18962 Product
18963 \begin_inset space ~
18964 \end_inset
18965
18966 <text>
18967 \end_layout
18968
18969 \end_inset
18970
18971  The text that is inserted in the exported document.
18972  This is actually the most important command and can be quite complex.
18973  This command must occur exactly once.
18974 \end_layout
18975
18976 \begin_layout Description
18977 \begin_inset Flex CharStyle:Code
18978 status collapsed
18979
18980 \begin_layout Plain Layout
18981 Preamble
18982 \begin_inset space ~
18983 \end_inset
18984
18985 <name>
18986 \end_layout
18987
18988 \end_inset
18989
18990  This command specifies a preamble snippet that will be included in the
18991  LaTeX preamble.
18992  It has to be defined using 
18993 \begin_inset Flex CharStyle:Code
18994 status collapsed
18995
18996 \begin_layout Plain Layout
18997 PreambleDef
18998 \end_layout
18999
19000 \end_inset
19001
19002  \SpecialChar \ldots{}
19003  
19004 \begin_inset Flex CharStyle:Code
19005 status collapsed
19006
19007 \begin_layout Plain Layout
19008 PreambleDefEnd
19009 \end_layout
19010
19011 \end_inset
19012
19013 .
19014  This command may occur zero or more times.
19015 \end_layout
19016
19017 \begin_layout Description
19018 \begin_inset Flex CharStyle:Code
19019 status collapsed
19020
19021 \begin_layout Plain Layout
19022 ReferencedFile
19023 \begin_inset space ~
19024 \end_inset
19025
19026 <format>
19027 \begin_inset space ~
19028 \end_inset
19029
19030 <filename>
19031 \end_layout
19032
19033 \end_inset
19034
19035  This command denotes files that are created by the conversion process and
19036  are needed for a particular export format.
19037  If the filename is relative, it is interpreted relative to the master document.
19038  This command may be given zero or more times.
19039 \end_layout
19040
19041 \begin_layout Description
19042 \begin_inset Flex CharStyle:Code
19043 status collapsed
19044
19045 \begin_layout Plain Layout
19046 Requirement
19047 \begin_inset space ~
19048 \end_inset
19049
19050 <package>
19051 \end_layout
19052
19053 \end_inset
19054
19055  The name of a required LaTeX package.
19056  The package is included via 
19057 \begin_inset Flex CharStyle:Code
19058 status collapsed
19059
19060 \begin_layout Plain Layout
19061
19062 \backslash
19063 usepackage{}
19064 \end_layout
19065
19066 \end_inset
19067
19068  in the LaTeX preamble.
19069  This command may occur zero or more times.
19070 \end_layout
19071
19072 \begin_layout Description
19073 \begin_inset Flex CharStyle:Code
19074 status collapsed
19075
19076 \begin_layout Plain Layout
19077 TransformCommand
19078 \begin_inset space ~
19079 \end_inset
19080
19081 Rotate
19082 \begin_inset space ~
19083 \end_inset
19084
19085 RotationLatexCommand
19086 \end_layout
19087
19088 \end_inset
19089
19090  This command specifies that the built in LaTeX command should be used for
19091  rotation.
19092  This command may occur once or not at all.
19093 \end_layout
19094
19095 \begin_layout Description
19096 \begin_inset Flex CharStyle:Code
19097 status collapsed
19098
19099 \begin_layout Plain Layout
19100 TransformCommand
19101 \begin_inset space ~
19102 \end_inset
19103
19104 Resize
19105 \begin_inset space ~
19106 \end_inset
19107
19108 ResizeLatexCommand
19109 \end_layout
19110
19111 \end_inset
19112
19113  This command specifies that the built in LaTeX command should be used for
19114  resizing.
19115  This command may occur once or not at all.
19116 \end_layout
19117
19118 \begin_layout Description
19119 \begin_inset Flex CharStyle:Code
19120 status collapsed
19121
19122 \begin_layout Plain Layout
19123 TransformOption
19124 \begin_inset space ~
19125 \end_inset
19126
19127 Rotate
19128 \begin_inset space ~
19129 \end_inset
19130
19131 RotationLatexOption
19132 \end_layout
19133
19134 \end_inset
19135
19136  This command specifies that rotation is done via an optional argument.
19137  This command may occur once or not at all.
19138 \end_layout
19139
19140 \begin_layout Description
19141 \begin_inset Flex CharStyle:Code
19142 status collapsed
19143
19144 \begin_layout Plain Layout
19145 TransformOption
19146 \begin_inset space ~
19147 \end_inset
19148
19149 Resize
19150 \begin_inset space ~
19151 \end_inset
19152
19153 ResizeLatexOption
19154 \end_layout
19155
19156 \end_inset
19157
19158  This command specifies that resizing is done via an optional argument.
19159  This command may occur once or not at all.
19160 \end_layout
19161
19162 \begin_layout Description
19163 \begin_inset Flex CharStyle:Code
19164 status collapsed
19165
19166 \begin_layout Plain Layout
19167 TransformOption
19168 \begin_inset space ~
19169 \end_inset
19170
19171 Clip
19172 \begin_inset space ~
19173 \end_inset
19174
19175 ClipLatexOption
19176 \end_layout
19177
19178 \end_inset
19179
19180  This command specifies that clipping is done via an optional argument.
19181  This command may occur once or not at all.
19182 \end_layout
19183
19184 \begin_layout Description
19185 \begin_inset Flex CharStyle:Code
19186 status collapsed
19187
19188 \begin_layout Plain Layout
19189 TransformOption
19190 \begin_inset space ~
19191 \end_inset
19192
19193 Extra
19194 \begin_inset space ~
19195 \end_inset
19196
19197 ExtraLatexOption
19198 \end_layout
19199
19200 \end_inset
19201
19202  This command specifies that an extra optional argument is used.
19203  This command may occur once or not at all.
19204 \end_layout
19205
19206 \begin_layout Description
19207 \begin_inset Flex CharStyle:Code
19208 status collapsed
19209
19210 \begin_layout Plain Layout
19211 UpdateFormat
19212 \begin_inset space ~
19213 \end_inset
19214
19215 <format>
19216 \end_layout
19217
19218 \end_inset
19219
19220  The file format of the converted file.
19221  This must be the name of a format that is known to LyX (see the 
19222 \begin_inset Flex CharStyle:MenuItem
19223 status collapsed
19224
19225 \begin_layout Plain Layout
19226
19227 \bar under
19228 T
19229 \bar default
19230 ools\SpecialChar \menuseparator
19231
19232 \bar under
19233 P
19234 \bar default
19235 references:Conversion
19236 \end_layout
19237
19238 \end_inset
19239
19240  dialog).
19241  This command must occur exactly once.
19242 \end_layout
19243
19244 \begin_layout Description
19245 \begin_inset Flex CharStyle:Code
19246 status collapsed
19247
19248 \begin_layout Plain Layout
19249 UpdateResult
19250 \begin_inset space ~
19251 \end_inset
19252
19253 <filename>
19254 \end_layout
19255
19256 \end_inset
19257
19258  The file name of the converted file.
19259  The file name must be absolute.
19260  This command must occur exactly once.
19261 \end_layout
19262
19263 \begin_layout Subsection
19264 Preamble definitions
19265 \end_layout
19266
19267 \begin_layout Standard
19268 The external template configuration file may contain additional preamble
19269  definitions enclosed by 
19270 \begin_inset Flex CharStyle:Code
19271 status collapsed
19272
19273 \begin_layout Plain Layout
19274 PreambleDef
19275 \end_layout
19276
19277 \end_inset
19278
19279  \SpecialChar \ldots{}
19280  
19281 \begin_inset Flex CharStyle:Code
19282 status collapsed
19283
19284 \begin_layout Plain Layout
19285 PreambleDefEnd
19286 \end_layout
19287
19288 \end_inset
19289
19290 .
19291  They can be used by the templates in the 
19292 \begin_inset Flex CharStyle:Code
19293 status collapsed
19294
19295 \begin_layout Plain Layout
19296 Format
19297 \end_layout
19298
19299 \end_inset
19300
19301  section.
19302 \end_layout
19303
19304 \begin_layout Section
19305 The substitution mechanism
19306 \end_layout
19307
19308 \begin_layout Standard
19309 When the external material facility invokes an external program, it is done
19310  on the basis of a command defined in the template configuration file.
19311  These commands can contain various macros that are expanded before execution.
19312  Execution always take place in the directory of the containing document.
19313 \end_layout
19314
19315 \begin_layout Standard
19316 Also, whenever external material is to be displayed, the name will be produced
19317  by the substitution mechanism, and most other commands in the template
19318  definition support substitution as well.
19319 \end_layout
19320
19321 \begin_layout Standard
19322 The available macros are the following:
19323 \end_layout
19324
19325 \begin_layout Description
19326 \begin_inset Flex CharStyle:Code
19327 status collapsed
19328
19329 \begin_layout Plain Layout
19330 $$AbsOrRelPathMaster
19331 \end_layout
19332
19333 \end_inset
19334
19335  The file path, absolute or relative to the master LyX document.
19336 \end_layout
19337
19338 \begin_layout Description
19339 \begin_inset Flex CharStyle:Code
19340 status collapsed
19341
19342 \begin_layout Plain Layout
19343 $$AbsOrRelPathParent
19344 \end_layout
19345
19346 \end_inset
19347
19348  The file path, absolute or relative to the LyX document.
19349 \end_layout
19350
19351 \begin_layout Description
19352 \begin_inset Flex CharStyle:Code
19353 status collapsed
19354
19355 \begin_layout Plain Layout
19356 $$AbsPath
19357 \end_layout
19358
19359 \end_inset
19360
19361  The absolute file path.
19362 \end_layout
19363
19364 \begin_layout Description
19365 \begin_inset Flex CharStyle:Code
19366 status collapsed
19367
19368 \begin_layout Plain Layout
19369 $$Basename
19370 \end_layout
19371
19372 \end_inset
19373
19374  The filename without path and without the extension.
19375 \end_layout
19376
19377 \begin_layout Description
19378 \begin_inset Flex CharStyle:Code
19379 status collapsed
19380
19381 \begin_layout Plain Layout
19382 $$Contents(
19383 \begin_inset Quotes eld
19384 \end_inset
19385
19386 filename.ext
19387 \begin_inset Quotes erd
19388 \end_inset
19389
19390 )
19391 \end_layout
19392
19393 \end_inset
19394
19395  This macro will expand to the contents of the file with the name 
19396 \begin_inset Flex CharStyle:Code
19397 status collapsed
19398
19399 \begin_layout Plain Layout
19400 filename.ext
19401 \end_layout
19402
19403 \end_inset
19404
19405 .
19406 \end_layout
19407
19408 \begin_layout Description
19409 \begin_inset Flex CharStyle:Code
19410 status collapsed
19411
19412 \begin_layout Plain Layout
19413 $$Extension
19414 \end_layout
19415
19416 \end_inset
19417
19418  The file extension (including the dot).
19419 \end_layout
19420
19421 \begin_layout Description
19422 \begin_inset Flex CharStyle:Code
19423 status collapsed
19424
19425 \begin_layout Plain Layout
19426 $$FName
19427 \end_layout
19428
19429 \end_inset
19430
19431  The filename of the file specified in the external material dialog.
19432  This is either an absolute name, or it is relative to the LyX document.
19433 \end_layout
19434
19435 \begin_layout Description
19436 \begin_inset Flex CharStyle:Code
19437 status collapsed
19438
19439 \begin_layout Plain Layout
19440 $$FPath
19441 \end_layout
19442
19443 \end_inset
19444
19445  The path part of 
19446 \begin_inset Flex CharStyle:Code
19447 status collapsed
19448
19449 \begin_layout Plain Layout
19450 $$FName
19451 \end_layout
19452
19453 \end_inset
19454
19455  (absolute name or relative to the LyX document).
19456 \end_layout
19457
19458 \begin_layout Description
19459 \begin_inset Flex CharStyle:Code
19460 status collapsed
19461
19462 \begin_layout Plain Layout
19463 $$RelPathMaster
19464 \end_layout
19465
19466 \end_inset
19467
19468  The file path, relative to the master LyX document.
19469 \end_layout
19470
19471 \begin_layout Description
19472 \begin_inset Flex CharStyle:Code
19473 status collapsed
19474
19475 \begin_layout Plain Layout
19476 $$RelPathParent
19477 \end_layout
19478
19479 \end_inset
19480
19481  The file path, relative to the LyX document.
19482 \end_layout
19483
19484 \begin_layout Description
19485 \begin_inset Flex CharStyle:Code
19486 status collapsed
19487
19488 \begin_layout Plain Layout
19489 $$Sysdir
19490 \end_layout
19491
19492 \end_inset
19493
19494  This macro will expand to the absolute path of the system directory.
19495  This is typically used to point to the various helper scripts that are
19496  bundled with LyX.
19497 \end_layout
19498
19499 \begin_layout Description
19500 \begin_inset Flex CharStyle:Code
19501 status collapsed
19502
19503 \begin_layout Plain Layout
19504 $$Tempname
19505 \end_layout
19506
19507 \end_inset
19508
19509  A name and full path to a temporary file which will be automatically deleted
19510  whenever the containing document is closed, or the external material insertion
19511  deleted.
19512 \end_layout
19513
19514 \begin_layout Standard
19515 All path macros contain a trailing directory separator, so you can construct
19516  e.
19517 \begin_inset space \thinspace{}
19518 \end_inset
19519
19520 g.
19521 \begin_inset space \space{}
19522 \end_inset
19523
19524 the absolute filename with 
19525 \begin_inset Flex CharStyle:Code
19526 status collapsed
19527
19528 \begin_layout Plain Layout
19529 $$AbsPath$$Basename$$Extension
19530 \end_layout
19531
19532 \end_inset
19533
19534 .
19535 \end_layout
19536
19537 \begin_layout Standard
19538 The macros above are substituted in all commands unless otherwise noted.
19539  The command 
19540 \begin_inset Flex CharStyle:Code
19541 status collapsed
19542
19543 \begin_layout Plain Layout
19544 Product
19545 \end_layout
19546
19547 \end_inset
19548
19549  supports additionally the following substitutions if they are enabled by
19550  the 
19551 \begin_inset Flex CharStyle:Code
19552 status collapsed
19553
19554 \begin_layout Plain Layout
19555 Transform
19556 \end_layout
19557
19558 \end_inset
19559
19560  and 
19561 \begin_inset Flex CharStyle:Code
19562 status collapsed
19563
19564 \begin_layout Plain Layout
19565 TransformCommand
19566 \end_layout
19567
19568 \end_inset
19569
19570  commands:
19571 \end_layout
19572
19573 \begin_layout Description
19574 \begin_inset Flex CharStyle:Code
19575 status collapsed
19576
19577 \begin_layout Plain Layout
19578 $$ResizeFront
19579 \end_layout
19580
19581 \end_inset
19582
19583  The front part of the resize command.
19584 \end_layout
19585
19586 \begin_layout Description
19587 \begin_inset Flex CharStyle:Code
19588 status collapsed
19589
19590 \begin_layout Plain Layout
19591 $$ResizeBack
19592 \end_layout
19593
19594 \end_inset
19595
19596  The back part of the resize command.
19597 \end_layout
19598
19599 \begin_layout Description
19600 \begin_inset Flex CharStyle:Code
19601 status collapsed
19602
19603 \begin_layout Plain Layout
19604 $$RotateFront
19605 \end_layout
19606
19607 \end_inset
19608
19609  The front part of the rotation command.
19610 \end_layout
19611
19612 \begin_layout Description
19613 \begin_inset Flex CharStyle:Code
19614 status collapsed
19615
19616 \begin_layout Plain Layout
19617 $$RotateBack
19618 \end_layout
19619
19620 \end_inset
19621
19622  The back part of the rotation command.
19623 \end_layout
19624
19625 \begin_layout Standard
19626 The value string of the 
19627 \begin_inset Flex CharStyle:Code
19628 status collapsed
19629
19630 \begin_layout Plain Layout
19631 Option
19632 \end_layout
19633
19634 \end_inset
19635
19636  command supports additionally the following substitutions if they are enabled
19637  by the 
19638 \begin_inset Flex CharStyle:Code
19639 status collapsed
19640
19641 \begin_layout Plain Layout
19642 Transform
19643 \end_layout
19644
19645 \end_inset
19646
19647  and 
19648 \begin_inset Flex CharStyle:Code
19649 status collapsed
19650
19651 \begin_layout Plain Layout
19652 TransformOption
19653 \end_layout
19654
19655 \end_inset
19656
19657  commands:
19658 \end_layout
19659
19660 \begin_layout Description
19661 \begin_inset Flex CharStyle:Code
19662 status collapsed
19663
19664 \begin_layout Plain Layout
19665 $$Clip
19666 \end_layout
19667
19668 \end_inset
19669
19670  The clip option.
19671 \end_layout
19672
19673 \begin_layout Description
19674 \begin_inset Flex CharStyle:Code
19675 status collapsed
19676
19677 \begin_layout Plain Layout
19678 $$Extra
19679 \end_layout
19680
19681 \end_inset
19682
19683  The extra option.
19684 \end_layout
19685
19686 \begin_layout Description
19687 \begin_inset Flex CharStyle:Code
19688 status collapsed
19689
19690 \begin_layout Plain Layout
19691 $$Resize
19692 \end_layout
19693
19694 \end_inset
19695
19696  The resize option.
19697 \end_layout
19698
19699 \begin_layout Description
19700 \begin_inset Flex CharStyle:Code
19701 status collapsed
19702
19703 \begin_layout Plain Layout
19704 $$Rotate
19705 \end_layout
19706
19707 \end_inset
19708
19709  The rotation option.
19710 \end_layout
19711
19712 \begin_layout Standard
19713 You may ask why there are so many path macros.
19714  There are mainly two reasons:
19715 \end_layout
19716
19717 \begin_layout Enumerate
19718 Relative and absolute file names should remain relative or absolute, respectivel
19719 y.
19720  Users may have reasons to prefer either form.
19721  Relative names are useful for portable documents that should work on different
19722  machines, for example.
19723  Absolute names may be required by some programs.
19724 \end_layout
19725
19726 \begin_layout Enumerate
19727 LaTeX treats relative file names differently than LyX and other programs
19728  in nested included files.
19729  For LyX, a relative file name is always relative to the document that contains
19730  the file name.
19731  For LaTeX, it is always relative to the master document.
19732  These two definitions are identical if you have only one document, but
19733  differ if you have a master document that includes part documents.
19734  That means that relative filenames must be transformed when presented to
19735  LaTeX.
19736  Fortunately LyX does this automatically for you if you choose the right
19737  macros.
19738 \end_layout
19739
19740 \begin_layout Standard
19741 So which path macro should be used in new template definitions? The rule
19742  is not difficult:
19743 \end_layout
19744
19745 \begin_layout Itemize
19746 Use 
19747 \begin_inset Flex CharStyle:Code
19748 status collapsed
19749
19750 \begin_layout Plain Layout
19751 $$AbsPath
19752 \end_layout
19753
19754 \end_inset
19755
19756  if an absolute path is required.
19757 \end_layout
19758
19759 \begin_layout Itemize
19760 Use 
19761 \begin_inset Flex CharStyle:Code
19762 status collapsed
19763
19764 \begin_layout Plain Layout
19765 $$AbsOrRelPathMaster
19766 \end_layout
19767
19768 \end_inset
19769
19770  if the substituted string is some kind of LaTeX input.
19771 \end_layout
19772
19773 \begin_layout Itemize
19774 Else use 
19775 \begin_inset Flex CharStyle:Code
19776 status collapsed
19777
19778 \begin_layout Plain Layout
19779 $$AbsOrRelPathParent
19780 \end_layout
19781
19782 \end_inset
19783
19784  in order to preserve the user's choice.
19785 \end_layout
19786
19787 \begin_layout Standard
19788 There are special cases where this rule does not work and e.
19789 \begin_inset space \thinspace{}
19790 \end_inset
19791
19792 g.
19793 \begin_inset space \space{}
19794 \end_inset
19795
19796 relative names are needed, but normally it will work just fine.
19797  One example for such a case is the command 
19798 \begin_inset Flex CharStyle:Code
19799 status collapsed
19800
19801 \begin_layout Plain Layout
19802 ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
19803 \end_layout
19804
19805 \end_inset
19806
19807  in the XFig template above: We can't use the absolute name because the
19808  copier for 
19809 \begin_inset Flex CharStyle:Code
19810 status collapsed
19811
19812 \begin_layout Plain Layout
19813 .pstex_t
19814 \end_layout
19815
19816 \end_inset
19817
19818  files needs the relative name in order to rewrite the file content.
19819 \end_layout
19820
19821 \begin_layout Section
19822 Security discussion
19823 \begin_inset CommandInset label
19824 LatexCommand label
19825 name "sec:Security-discussion"
19826
19827 \end_inset
19828
19829
19830 \end_layout
19831
19832 \begin_layout Standard
19833 The external material feature interfaces with a lot of external programs
19834  and does so automatically, so we have to consider the security implications
19835  of this.
19836  In particular, since you have the option of including your own filenames
19837  and/or parameter strings and those are expanded into a command, it seems
19838  that it would be possible to create a malicious document which executes
19839  arbitrary commands when a user views or prints the document.
19840  This is something we definitely want to avoid.
19841 \end_layout
19842
19843 \begin_layout Standard
19844 However, since the external program commands are specified in the template
19845  configuration file only, there are no security issues if LyX is properly
19846  configured with safe templates only.
19847  This is so because the external programs are invoked with the 
19848 \begin_inset Flex CharStyle:Code
19849 status collapsed
19850
19851 \begin_layout Plain Layout
19852 execvp
19853 \end_layout
19854
19855 \end_inset
19856
19857 -system call rather than the 
19858 \begin_inset Flex CharStyle:Code
19859 status collapsed
19860
19861 \begin_layout Plain Layout
19862 system
19863 \end_layout
19864
19865 \end_inset
19866
19867  system-call, so it's not possible to execute arbitrary commands from the
19868  filename or parameter section via the shell.
19869 \end_layout
19870
19871 \begin_layout Standard
19872 This also implies that you are restricted in what command strings you can
19873  use in the external material templates.
19874  In particular, pipes and redirection are not readily available.
19875  This has to be so if LyX should remain safe.
19876  If you want to use some of the shell features, you should write a safe
19877  script to do this in a controlled manner, and then invoke the script from
19878  the command string.
19879  
19880 \end_layout
19881
19882 \begin_layout Standard
19883 It is possible to design a template that interacts directly with the shell,
19884  but since this would allow a malicious user to execute arbitrary commands
19885  by writing clever filenames and/or parameters, we generally recommend that
19886  you only use safe scripts that work with the 
19887 \begin_inset Flex CharStyle:Code
19888 status collapsed
19889
19890 \begin_layout Plain Layout
19891 execvp
19892 \end_layout
19893
19894 \end_inset
19895
19896  system call in a controlled manner.
19897  Of course, for use in a controlled environment, it can be tempting to just
19898  fall back to use ordinary shell scripts.
19899  If you do so, be aware that you 
19900 \emph on
19901 will
19902 \emph default
19903  provide an easily exploitable security hole in your system.
19904  Of course it stands to reason that such unsafe templates will never be
19905  included in the standard LyX distribution, although we do encourage people
19906  to submit new templates in the open source tradition.
19907  But LyX as shipped from the official distribution channels will never have
19908  unsafe templates.
19909 \end_layout
19910
19911 \begin_layout Standard
19912 Including external material provides a lot of power, and you have to be
19913  careful not to introduce security hazards with this power.
19914  A subtle error in a single line in an innocent looking script can open
19915  the door to huge security problems.
19916  So if you do not fully understand the issues, we recommend that you consult
19917  a knowledgeable security professional or the LyX development team if you
19918  have any questions about whether a given template is safe or not.
19919  And do this before you use it in an uncontrolled environment.
19920 \end_layout
19921
19922 \end_body
19923 \end_document