mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 18:08:10 +00:00
340b193e3d
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23933 a592a061-630c-0410-9148-cb99ea01b6c8
16723 lines
261 KiB
Plaintext
16723 lines
261 KiB
Plaintext
#LyX 1.6.0alpha1 created this file. For more info see http://www.lyx.org/
|
|
\lyxformat 322
|
|
\begin_document
|
|
\begin_header
|
|
\textclass book
|
|
\begin_preamble
|
|
% DO NOT ALTER THIS PREAMBLE!!!
|
|
%
|
|
% This preamble is designed to ensure that the User's Guide prints
|
|
% out as advertised. If you mess with this preamble,
|
|
% parts of the User's Guide may not print out as expected. If you
|
|
% have problems LaTeXing this file, please contact
|
|
% the documentation team
|
|
% email: lyx-docs@lists.lyx.org
|
|
|
|
% the pages of the TOC are numbered roman
|
|
% and a pdf-bookmark for the TOC is added
|
|
\pagenumbering{roman}
|
|
\let\myTOC\tableofcontents
|
|
\renewcommand\tableofcontents{%
|
|
\pdfbookmark[1]{Contents}{}
|
|
\myTOC
|
|
\cleardoublepage
|
|
\pagenumbering{arabic} }
|
|
|
|
% redefine the \LyX macro for PDF bookmarks
|
|
\def\LyX{\texorpdfstring{%
|
|
L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
|
|
{LyX }}
|
|
|
|
% used for multi-column text
|
|
\usepackage{multicol}
|
|
\usepackage{inputenc}
|
|
\end_preamble
|
|
\begin_modules
|
|
logicalmkup
|
|
\end_modules
|
|
\begin_local_layout
|
|
Format 7
|
|
InsetLayout CharStyle:MenuItem
|
|
LyxType charstyle
|
|
LabelString menu
|
|
LatexType command
|
|
LatexName menuitem
|
|
Font
|
|
Family Sans
|
|
EndFont
|
|
Preamble
|
|
\newcommand*{\menuitem}[1]{{\sffamily #1}}
|
|
EndPreamble
|
|
End
|
|
\end_local_layout
|
|
\language english
|
|
\inputencoding default
|
|
\font_roman default
|
|
\font_sans default
|
|
\font_typewriter default
|
|
\font_default_family default
|
|
\font_sc false
|
|
\font_osf false
|
|
\font_sf_scale 100
|
|
\font_tt_scale 100
|
|
\graphics none
|
|
\paperfontsize default
|
|
\spacing single
|
|
\use_hyperref true
|
|
\pdf_title "LyX Configuration Manual"
|
|
\pdf_author "The LyX Team"
|
|
\pdf_bookmarks true
|
|
\pdf_bookmarksnumbered false
|
|
\pdf_bookmarksopen false
|
|
\pdf_bookmarksopenlevel 1
|
|
\pdf_breaklinks true
|
|
\pdf_pdfborder true
|
|
\pdf_colorlinks true
|
|
\pdf_backref false
|
|
\pdf_pagebackref false
|
|
\pdf_pdfusetitle true
|
|
\papersize default
|
|
\use_geometry false
|
|
\use_amsmath 0
|
|
\use_esint 0
|
|
\cite_engine basic
|
|
\use_bibtopic false
|
|
\paperorientation portrait
|
|
\branch OutDated
|
|
\selected 0
|
|
\color #f5fae7
|
|
\end_branch
|
|
\secnumdepth 3
|
|
\tocdepth 3
|
|
\paragraph_separation indent
|
|
\defskip medskip
|
|
\quotes_language english
|
|
\papercolumns 1
|
|
\papersides 2
|
|
\paperpagestyle headings
|
|
\tracking_changes false
|
|
\output_changes false
|
|
\author ""
|
|
\author ""
|
|
\extra_embedded_files ""
|
|
\end_header
|
|
|
|
\begin_body
|
|
|
|
\begin_layout Title
|
|
Customizing LyX: Features for the Advanced User
|
|
\end_layout
|
|
|
|
\begin_layout Author
|
|
by the LyX Team
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
\noindent
|
|
If you have comments or error corrections, please send them to the LyX Documenta
|
|
tion mailing list, <lyx-docs@lists.lyx.org>.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset CommandInset toc
|
|
LatexCommand tableofcontents
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Chapter
|
|
Introduction
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This manual covers the customization features present in LyX.
|
|
In it, we discuss issues like keyboard shortcuts, screen previewing options,
|
|
printer options, sending commands to LyX via the LyX Server, internationalizati
|
|
on, installing new LaTeX classes and LyX layouts, etc.
|
|
We can't possibly hope to touch on everything you can change---our developers
|
|
add new features faster than we can document them---but we will explain
|
|
the most common customizations and hopefully point you in the right direction
|
|
for some of the more obscure ones.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Branch OutDated
|
|
status open
|
|
|
|
\begin_layout Standard
|
|
Information from previous versions of this document that now seems to be
|
|
outdated is contained in the OutDated branch of this document.
|
|
By default, this information will not appear in the LaTeX output.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Chapter
|
|
LyX configuration files
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "chap:config"
|
|
|
|
\end_inset
|
|
|
|
This chapter aims to help you to find your way through the LyX configuration
|
|
files.
|
|
Before continuing to read this chapter, you should find out where your
|
|
LyX library and user directories are by using
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
H
|
|
\bar default
|
|
elp\SpecialChar \menuseparator
|
|
About
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Ly
|
|
\bar under
|
|
X
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The library directory is the place where LyX places its system-wide configurati
|
|
on files; the user directory is where you can place your modified versions.
|
|
We will call the former
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and the latter
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in the remainder of this document.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
What's in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
?
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and its sub-directories contain a number of files and that can be used
|
|
to customise LyX's behaviour.
|
|
You can change many of these files from within LyX itself through the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
references
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
Most customization that you will want to do in LyX is possible through
|
|
this dialog.
|
|
However, many other inner aspects of LyX can be customized by modifying
|
|
the files in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
These files fall in different categories, described in the following subsection
|
|
s.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Automatically generated files
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The files, which are to be found in
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, are generated when you configure LyX.
|
|
They contain various default values that are guessed by inspection.
|
|
In general, it is not a good idea to modify them, since they might be overwritt
|
|
en at any time.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyxrc.defaults
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains defaults for various commands.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
packages.lst
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains the list of packages that have been recognized by LyX.
|
|
It is currently unused by the LyX program itself, but the information extracted
|
|
, and more, is made available with
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
H
|
|
\bar default
|
|
elp\SpecialChar \menuseparator
|
|
L
|
|
\bar under
|
|
a
|
|
\bar default
|
|
TeX
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Configuration
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
textclass.lst
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
the list of text classes that have been found in your
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
layout/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
directories, along with the associated LaTeX document class and their descripti
|
|
on.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyxmodules.lst
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
the list of layout modules found in your
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
layout/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
directories
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
*files.lst
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
lists of various sorts of LaTeX-related files found on your system
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
doc/LaTeXConfig.lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is automatically generated during configuration from the file
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LaTeXConfig.lyx.in
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
It contains information on your LaTeX configuration.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Directories
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
These directories are duplicated between
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
If a particular files exists in both places, the one in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will be used.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
bind/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
this directory contains files with the extension
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.bind
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
that define the keybindings used in LyX (see section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:bindings"
|
|
|
|
\end_inset
|
|
|
|
).
|
|
If there exists an internationalized version of the bind file named
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$LANG_xxx.bind
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, that will be used first.
|
|
See Chapter
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "chap:i18n"
|
|
|
|
\end_inset
|
|
|
|
, and section
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:bindings"
|
|
|
|
\end_inset
|
|
|
|
for details.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
clipart/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains graphics files that can be included in documents.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
doc/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains LyX documentation files (including the one you are currently reading).
|
|
The file
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LaTeXConfig.lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
deserves special attention, as noted above.
|
|
If there exists an internationalized version of the help-document with
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$LANG_
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
prepended to the name, that will be used first.
|
|
See Chapter
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "chap:i18n"
|
|
|
|
\end_inset
|
|
|
|
for details.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
examples/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains example files that explain how to use some features.
|
|
In the file browser, press the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Examples
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
button to get there.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
images/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains image files that are used by the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Document
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
In addition, it also contains the individual icons used in the toolbar
|
|
and the banners that can be shown when LyX is launched.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
kbd/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains keyboard keymapping files.
|
|
See Chapter
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:keymap"
|
|
|
|
\end_inset
|
|
|
|
for details.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
layouts/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains the text class and module files described in Chapter
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "chap:textclass"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyx2lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyx2lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Python scripts used to convert between LyX versions.
|
|
These can be run from the command line if, say, you want to batch-convert
|
|
files.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
scripts/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains some files that demonstrate the capabilities of the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
External
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Template
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
feature.
|
|
Also contains some scripts used by LyX itself.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
templates/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains the standard LyX template files described in Chapter
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:templates"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ui/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
contains files with the extension
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.ui
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
that define the user interface to LyX.
|
|
That is, the files define which items appear in which menus and the items
|
|
appearing on the toolbar.
|
|
See
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:ui"
|
|
|
|
\end_inset
|
|
|
|
for details.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Files you don't want to modify
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
These files are used internally by LyX and you generally do not need to
|
|
modify them unless you are a developer.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
CREDITS
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
this file contains the list of LyX developers.
|
|
The contents are displayed with the menu entry
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
H
|
|
\bar default
|
|
elp\SpecialChar \menuseparator
|
|
About
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
LyX
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
chkconfig.ltx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
this is a LaTeX script used during the configuration process.
|
|
Do not run directly.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
configure.py
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
this is the script that is used to re-configure LyX.
|
|
It creates configuration files in the directory it was run from.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Other files needing a line or two...
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
encodings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
this contains tables describing how different character encodings can be
|
|
mapped to unicode
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
external_templates
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
this file contains the templates available to the new
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
External
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Template
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
feature.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
languages
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
this file contains a list of all the languages currently supported by LyX.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Your local configuration directory
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Even if you are using LyX as an unprivileged user, you might want to change
|
|
LyX configuration for your own use.
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
directory contains all your personal configuration files.
|
|
This is the directory described as
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
user directory
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
in
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
H
|
|
\bar default
|
|
elp\SpecialChar \menuseparator
|
|
About
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
LyX
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This directory is used as a mirror of
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, which means that every file in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is a replacement for the corresponding file in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Any configuration file described in the above sections can be placed either
|
|
in the system-wide directory, in which case it will affect all users, or
|
|
in your local directory for your own use.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To make things clearer, let's provide a few examples:
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
The preferences set in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
references
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog are saved to a file
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
preferences
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
When you reconfigure using
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
R
|
|
\bar default
|
|
econfigure
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, LyX runs the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
configure.py
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
script, and the resulting files are written in your local configuration
|
|
directory.
|
|
This means that any additional text class file that you might have added
|
|
in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/layouts
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will be added to the list of classes in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
D
|
|
\bar default
|
|
ocument\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
S
|
|
\bar default
|
|
ettings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
If you get some updated documentation from LyX ftp site and cannot install
|
|
it because you do not have sysadmin rights on your system, you can just
|
|
copy the files in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/doc/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and the items in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
H
|
|
\bar default
|
|
elp
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
menu will open them!
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Running LyX with multiple configurations
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The configuration freedom of the local configuration directory may not suffice
|
|
if you want to have more than one configuration at your disposal.
|
|
For example, you may want to be use different key bindings or printer settings
|
|
at different times.
|
|
You can achieve this by having several such directories.
|
|
You then specify which directory to use at run-time.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Invoking LyX with the command line switch
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
-userdir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph on
|
|
<some directory>
|
|
\emph default
|
|
instructs the program to read the configuration from that directory, and
|
|
not from the default directory.
|
|
(You can determine the default directory by running LyX without the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
-userdir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
switch.) If the specified directory does not exist, LyX offers to create
|
|
it for you, just like it does for the default directory on the first time
|
|
you run the program.
|
|
You can modify the configuration options in this additional user directory
|
|
exactly as you would for the default directory.
|
|
These directories are completely independent (but read on).
|
|
Note that setting the environment variable
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LYX_USERDIR_15x
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to some value has exactly the same effect.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Having several configurations also requires more maintenance: if you want
|
|
to add a new layout to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
NewUserDir/layouts
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
which you want available from all your configurations, you must add it
|
|
to each directory separately.
|
|
You can avoid this with the following trick: after LyX creates the additional
|
|
directory, most of the subdirectories (see above) are empty.
|
|
If you want the new configuration to mirror an existing one, replace the
|
|
empty subdirectory with a symbolic link to the matching subdirectory in
|
|
the existing configuration.
|
|
Take care with the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
doc/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
subirectory, however, since it contains a file written by the configuration
|
|
script (also accessible through
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
R
|
|
\bar default
|
|
econfigure
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
) which is configuration-specific.
|
|
\end_layout
|
|
|
|
\begin_layout Chapter
|
|
The Preferences dialog
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Using the dialog for the first time
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/preferences
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file will contain only changes that you have made to the default behaviour,
|
|
some of which is hard-coded into LyX and some of which is contained in
|
|
the system file
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir/lyxrc.defaults
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Note that in both files lines beginning with a
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
#
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
are just comments and are not interpreted.
|
|
However, only system administrators should edit
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir/lyxrc.defaults
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Users should use the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
references
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog to create and modify their own
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/preferences
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
We hope that the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
references
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog will be largely self-explanatory.
|
|
Most things in the dialog have associated `tool tips': hover your mouse
|
|
pointer over something for more information.
|
|
Before we highlight a few of the more important commands below, however,
|
|
a word of warning:
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Apply
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
ing some of your changes (e.g., screen fonts) will have an instant effect.
|
|
Others (e.g.
|
|
changing the bind file) will not.
|
|
If nothing appears to have changed, just
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Save
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
the changes and restart LyX.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Look and Feel
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Screen fonts
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The font used to display your documents on the LyX screen is very important,
|
|
since you'll be reading all your documents with this font.
|
|
Therefore it is important that the font be as readable and good-looking
|
|
as possible.
|
|
The LyX team tried to provide the best possible default font for you, but
|
|
since systems can be so different, it's quite possible that the default
|
|
fonts will be sub-optimal on your system.
|
|
Fortunately, you can do something about this.
|
|
Before we explain how, you should learn a bit more about fonts so that
|
|
you are better prepared for choosing your fonts.
|
|
There are trade-offs that are specific to your preferences and the capabilities
|
|
of your system.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Notice that this section only deals with the fonts on the
|
|
\emph on
|
|
screen
|
|
\emph default
|
|
inside the LyX window.
|
|
The fonts that appear on the
|
|
\emph on
|
|
paper
|
|
\emph default
|
|
|
|
\emph on
|
|
output
|
|
\emph default
|
|
are independent from these fonts, and are determined by the document class.
|
|
Read the
|
|
\emph on
|
|
User's Guide
|
|
\emph default
|
|
to learn how to change the font of the printed version of your document.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Basically, screen fonts come in two different kinds: scalable outline fonts
|
|
and non-scalable bitmap fonts.
|
|
This distinction seems a bit arbitrary, since non-scalable fonts are actually
|
|
scalable in most modern font renderers.
|
|
The difference lies in the
|
|
\emph on
|
|
quality
|
|
\emph default
|
|
of the scaling and the
|
|
\emph on
|
|
speed
|
|
\emph default
|
|
of display.
|
|
The most important decision is thus whether you should use non-scalable
|
|
bitmap fonts or scalable outline fonts.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The scalable fonts are built from
|
|
\emph on
|
|
outlines
|
|
\emph default
|
|
of the single glyphs (i.e.
|
|
characters) in the font.
|
|
This means that each glyph is defined using mathematical curves that are
|
|
well suited for scaling to any requested size.
|
|
This mathematical definition is interpreted by the font renderer and turned
|
|
into a small picture composed of pixels according to which size and glyph
|
|
(or symbol) the programmer requests.
|
|
This means that scalable fonts will look pretty good in most sizes.Since
|
|
scalable fonts are defined in an abstract way, it can be hard to provide
|
|
a good rendering at small sizes, where each pixel has to be very carefully
|
|
computed to provide a good image.
|
|
Technically it is possible to do this from the mathematical definition,
|
|
but in order to keep the rendering reasonably fast, tradeoffs have to be
|
|
made, and the result is that scalable fonts can be difficult to read at
|
|
small sizes.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Bitmap fonts on the other hand, are defined by bitmap graphics from the
|
|
start, so they will look good at all the sizes they are meant for.
|
|
However, they don't scale well, because in order to scale a glyph, each
|
|
pixel is enlarged into several pixels.
|
|
It is the same effect that happens if you try to enlarge a picture in an
|
|
image manipulation program.
|
|
In order to relieve this effect, bitmap fonts are typically provided in
|
|
several fixed sizes typically from around 8 pixels high up to 34 pixels
|
|
or so high in steps according to what is believed to be useful.
|
|
The advantage of bitmap fonts is that no complicated computations are necessary
|
|
to display each glyph, so bitmap fonts are thus faster displayed than scalable
|
|
fonts.
|
|
The disadvantage is that sizes that don't exists as fixed versions have
|
|
to be scaled by doubling pixels, and thus look bad.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The net result of all this is that bitmap fonts are generally best for the
|
|
small sizes, where they are available, while scalable fonts are generally
|
|
best for large sizes.
|
|
The logical conclusion would thus be to use bitmap fonts for the small
|
|
sizes, and scalable fonts for the large sizes.
|
|
Unfortunately, this is not a good idea, since bitmap fonts and scalable
|
|
fonts are not designed to be used together, so the overall look of such
|
|
a scheme would be bad.
|
|
The best you can do is thus to try both schemes and decide for yourself
|
|
what suits you.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
In the following, we will describe what to do if the text does not look
|
|
good in LyX.
|
|
We'll start with the most important parameters: DPI and font zoom.
|
|
\end_layout
|
|
|
|
\begin_layout Subsubsection
|
|
DPI setting and Font Zoom
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
LyX automatically tries to scale the fonts to look as close as the paper
|
|
output size as possible, except for the so-called font zoom factor.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
In order for this to work on all systems, it relies on the screen DPI (dots
|
|
per inch) setting to be correct.
|
|
The DPI setting for your system is autodetected by LyX using information
|
|
provided by your system.
|
|
You can check what LyX autodetects the DPI setting to, by running LyX as
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyx -dbg 2
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
On many systems, this will not be correct, so you should check that it is
|
|
correct by hand.
|
|
On X11 systems, you can run
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xdpyinfo | more
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
and write down what the DPI is for the resolution you use (this will be
|
|
close to the value LyX detects).
|
|
It is the number mentioned as
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
resolution
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
Also write down the number of pixels you have in the width (the first number
|
|
under
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
dimensions
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
).
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Then get the good old ruler out of the closet, and measure the width of
|
|
the visible screen-image on your monitor.
|
|
Convert this measurement to inches if you used a centimeter ruler by dividing
|
|
by 2.54.
|
|
Now you can determine the correct DPI setting for your screen by dividing
|
|
the number of pixels in the width by the width of the screen-image on the
|
|
monitor.
|
|
If this number is more than, say, 5 DPI from the detected value, you should
|
|
either fix your system setup, or at least tell LyX that the DPI is different
|
|
than the detected value.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If you can't fix system setup (which of course is best since other programs
|
|
than LyX will benefit from this as well), you can tell LyX the correct
|
|
DPI using the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Preferences
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If the text is too small or too big for your taste, you should fiddle with
|
|
the font zoom setting.
|
|
This setting is used to scale the point size of the text.
|
|
If your DPI setting is correct, and the font zoom setting is set to 100,
|
|
this means that LyX will try to display the text exactly the same size
|
|
as it will appear on the paper-output.
|
|
If you set the zoom factor to 200, the text will try to be 2 times as big
|
|
as on paper.
|
|
Of course, this will only happen if LyX can find a font that has the appropriat
|
|
e size, which you can't count on.
|
|
Since LyX is a WYSIWYM system anyways, this limitation isn't much of an
|
|
issue.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The default font zoom setting is 150, since a monitor is typically wider
|
|
than a piece of paper, but you should try to fiddle with it through the
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Font
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\bar under
|
|
Z
|
|
\bar default
|
|
oom
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
setting in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Preferences
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog to find a size that you like.
|
|
When you've found a setting that seems to work nicely for you (tip: use
|
|
the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
A
|
|
\bar default
|
|
pply
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
button to keep the dialog open while you experiment), you can make this
|
|
setting the default by using the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
S
|
|
\bar default
|
|
ave
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
button.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
While it is often possible to find a suitable size for the text on the screen,
|
|
this doesn't necessarily mean that the fonts are the best ones available
|
|
on your system.
|
|
In order to help you get the most out of your system, you can use the font
|
|
definition commands to fine-tune the look of the text in greater detail
|
|
than merely size.
|
|
\end_layout
|
|
|
|
\begin_layout Subsubsection
|
|
Font definition commands
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
You can change LyX's screen fonts from within the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Preferences
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
The number of fonts that are available on different systems vary.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Before you go about scrapping a bitmap font because the larger sizes look
|
|
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
blocky
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
, you should toggle the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Use scalable fonts
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
button.
|
|
This is only useful if you use bitmap fonts, because only these don't scale
|
|
well.
|
|
If you define this flag, LyX will only use the fixed font sizes that are
|
|
available, and this guarantees that all bitmap fonts look good.
|
|
However, the downside is that there will be a greater difference between
|
|
the size of the fonts on screen and the size of fonts on paper because
|
|
LyX will have to be satisfied with the closest available size, and not
|
|
try to scale a size to fit.
|
|
Also, you can risk that some logically different sizes, such as
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Large
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Larger
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, will be mapped to the same screen font, making it hard for you to see
|
|
the difference on screen.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
One final note regarding the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Use scalable fonts
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
flag: you should know that there is nothing wrong with using bitmap and
|
|
scalable fonts at the same time for different purposes.
|
|
For instance, it's common to use the scalable
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Utopia
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
for the serif text together with a bitmap version of
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Helvetica
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
And you can safely select the
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Use scalable fonts
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
button without worries: It will only apply to the Helvetica font.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Sometimes the artifacts introduced by use of the flag can be relieved by
|
|
using the fine-detail screen font sizes which defines which point sizes
|
|
the different logical font sizes correspond to.
|
|
Run LyX as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyx -dbg 513
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to see exactly what concrete fonts the logical sizes map to, and try adjusting
|
|
the corresponding entries in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Preferences
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog until you've managed to hit the nail and get the fonts you want.
|
|
This can be hard to do, because LyX uses the DPI setting and the font zoom
|
|
settings to calculate which exact screen font size to ask the X server
|
|
for, thus obfuscating the mapping.
|
|
If you can't make it by trial-and-error, you can make the process more
|
|
transparent if you set both the DPI setting and font zoom settings to 100---eve
|
|
n when this is known to be wrong.
|
|
This will of course make your scalable fonts look weird, so use with care.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Branch OutDated
|
|
status collapsed
|
|
|
|
\begin_layout Subsubsection
|
|
Font encoding
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
By default, LyX will use fonts meant to write Western European text, including
|
|
all kinds of English.
|
|
This is defined through the so-called
|
|
\emph on
|
|
font
|
|
\emph default
|
|
|
|
\emph on
|
|
encoding
|
|
\emph default
|
|
.
|
|
If you want to use LyX to write for instance Eastern European text, Cyrillic
|
|
or any other language not covered by the ISO-8859-1 font encoding, you
|
|
can define a different one with the encoding setting.
|
|
This requires you to have special fonts installed.
|
|
You can use
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xfontsel
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to see whether this is the case: check the
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
rgstry
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
encdng
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
fields for ISO-8859-X values different from ISO-8859-1, and search for
|
|
one that contains the national characters of your language.
|
|
If you find any, enter this encoding in the dialog.
|
|
If not, go searching the Web for appropriate fonts.
|
|
For the Qt frontend, it's recommended you use an iso646 font set.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
When you've set LyX up to use a different font encoding, you should also
|
|
consider changing the font used by dialog windows in LyX.
|
|
For instance, the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Table
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
of
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Contents
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog will not be understandable unless you tell LyX to use a different
|
|
font for this.
|
|
By default the menu font is set to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
-*-helvetica-medium-r
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, but often Helvetica is not available in the font encoding you need, so
|
|
the dialog allows this to be changed.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
As you can see, there are quite a few options that can be used to fine tune
|
|
the look of your fonts.
|
|
This should not scare you from fiddling with the settings, because after
|
|
all, you will hopefully be using LyX for many hours in the future.
|
|
And contrary to real WYSIWYG word processors where you are tied to using
|
|
fonts that have to look good both on paper and on screen, LyX gives you
|
|
the possibility of using fonts that are designed to look good on the screen
|
|
while using a different set of fonts to look good on paper.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
User Interface
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:ui"
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The appearance of both the menu and toolbar may both be changed using the
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Preferences
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
Simply select a different
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.ui
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Look & Feel\SpecialChar \menuseparator
|
|
User Interface
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
section.
|
|
You can customize the interface by copying one of the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.ui
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
files from
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir/ui/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/ui/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
You may have to restart LyX for these changes to take effect.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The syntax of the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.ui
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
files is straightforward: have a look at
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
default.ui
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Menubar
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Menu
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Toolbar
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
entries must be ended with an explicit
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
End
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
They may contain
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Submenu
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
s,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Item
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
s,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
OptItem
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
s,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Separator
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
s,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Icon
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
s and in the case of the
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
file
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
menus, a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Lastfiles
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
entry.
|
|
One small word of warning.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Submenu
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
s may be inserted in a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Menubar
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Menu
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, but they are defined as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Menu
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
s, not as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Submenu
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
s.
|
|
A
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Submenu
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
tag is used to insert context-dependent information that is generated by
|
|
LyX itself.
|
|
Unfortunately, the available tags are not documented outside the source
|
|
code.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Note that, as of LyX 1.6, there are extensive context menus, normally accessed
|
|
via a right click.
|
|
These are defined in the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.ui
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
files.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Editing
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The settings in this section are used to customise the behavior of the LyX
|
|
editor.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:bindings"
|
|
|
|
\end_inset
|
|
|
|
Shortcuts
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Bindings are used to associate a LyX function to a key.
|
|
Several prepackaged binding files are available: a CUA set of bindings
|
|
(familiar as the typical set of PC and CDE set of keyboard shortcuts),
|
|
an Emacs set of bindings, for those of us who follow the One True Way and
|
|
refuse to lower our standards,
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
I'm kidding here, of course!
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
as well as specialty bindings (broadway and hollywood) and bindings for
|
|
languages other than English.
|
|
You can select your binding in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Editing\SpecialChar \menuseparator
|
|
Shortcuts
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
section of the
|
|
\bar under
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
references
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\bar default
|
|
dialog.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If, however, you'd like to customise the bindings to your own exacting tastes,
|
|
then there are two ways to proceed.
|
|
The first, and older method, is to copy a file from
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir/bind/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to your own
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/bind/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and modify that in a text editor.
|
|
Don't forget to select this file in
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Editing\SpecialChar \menuseparator
|
|
Shortcuts
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The second method is to use the shortcut editor, which you will also find
|
|
at
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Editing\SpecialChar \menuseparator
|
|
Shortcuts
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The changes you make here will be stored at
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/bind/user.bind
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
LyX supports internationalization of the user interface (see Chapter
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "chap:i18n"
|
|
|
|
\end_inset
|
|
|
|
).
|
|
If your
|
|
\emph on
|
|
locale
|
|
\emph default
|
|
is set, LyX will try to use bindfiles by prepending the standard language
|
|
code to their name.
|
|
For example, you can put a translated copy of some standard bind file in
|
|
your personal
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
bind/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
directory, and LyX will use it automatically.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The syntax of the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.bind
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
files is straightforward:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
bind ``<key combination>'' ``<lyx-function>
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Both key combination and lyx-function (including any arguments) must be
|
|
enclosed in "double quotes".
|
|
The LyX functions are partially documented on listed on the
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "LyXWiki"
|
|
target "http://wiki.lyx.org/LyX/LyxFunctions"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
A major effort is presently underway to improve this documentation.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:converters-etc"
|
|
|
|
\end_inset
|
|
|
|
File Handling
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
LyX has a powerful mechanism to convert to and from any file format using
|
|
external programs.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sub:Formats"
|
|
|
|
\end_inset
|
|
|
|
Formats
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The first step is to define your file formats if they are not already defined.
|
|
To do so, open the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Tools\SpecialChar \menuseparator
|
|
Preferences\SpecialChar \menuseparator
|
|
File Handling\SpecialChar \menuseparator
|
|
File Formats
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
Press the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
New\SpecialChar \ldots{}
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
button to define your new format.
|
|
The
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
field contains the named used to identify the format in the GUI.
|
|
The
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Short Name
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is used to identify the format interally.
|
|
You will also need to enter a file extension.
|
|
These are all required.
|
|
The optional
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Shortcut
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
field is used to provide a keyboard shortcut on the menus.
|
|
(For example, pressing
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Alt-V D
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
View\SpecialChar \menuseparator
|
|
DVI
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.)
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A Format can have a
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Viewer
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Editor
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
associated with it.
|
|
For example, you might want to use
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Ghostview
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to view PostScript files.
|
|
You can enter the command needed to start the program in the corresponding
|
|
fields.
|
|
In defining this command, you can use the four variables listed in the
|
|
next section.
|
|
The viewer is launched when you view an image in LyX or use the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
View
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
menu.
|
|
The editor is for example launched when you press the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Edit
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
button in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Graphics
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
External material
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Document format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
option tells LyX that a format is suitable for document export.
|
|
If this is is set and if a suitable conversion route exists (see
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sub:Converters"
|
|
|
|
\end_inset
|
|
|
|
), the format will appear in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
File\SpecialChar \menuseparator
|
|
Export
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
menu.
|
|
The format will also appear in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
View
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
menu if a viewer is specified for the format.
|
|
Pure image formats, such as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
png
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, should not use this option.
|
|
Formats that can both represent vector graphics and documents like
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
should use it.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The option
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Vector graphics format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
tells LyX that a format can contain vector graphics.
|
|
This information is used to determine the target format of included graphics
|
|
for
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdflatex
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
export.
|
|
Included graphics may need to be converted to either
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
png
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, or
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
jpg
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, since
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdflatex
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
cannot handle other image formats.
|
|
If an included graphic is not already in
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
png
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, or
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
jpg
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
format, it is converted to
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
if the vector format option is set, and otherwise to
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
png
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Copiers
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Since all conversions from one format to another take place in LyX's temporary
|
|
directory, it is sometimes necessary to modify a file before copying it
|
|
to the temporary directory in order that the conversion may be performed.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
For example, the file may refer to other files---images, for example---using
|
|
relative filenames, and these may become invalid when the file is copied
|
|
to the temporary directory.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This is done by a Copier: It copies a file to (or from) the temporary directory
|
|
and may modify it in the process.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The definitions of the copiers may use four variables:
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$s
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The LyX system directory (e.
|
|
\begin_inset Space \thinspace{}
|
|
\end_inset
|
|
|
|
g.
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
/usr/share/lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
).
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$i
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The input file
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$o
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The output file
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$l
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The `LaTeX name'
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The latter is to be given in a form suitable for inclusion in a LaTeX's
|
|
|
|
\series bold
|
|
|
|
\backslash
|
|
include
|
|
\series default
|
|
command and is relevant only when exporting files suitable for such inclusion.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Copiers can be used to do almost anything with output files.
|
|
For example, suppose you want generated pdf files to be copied to a special
|
|
directory,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
/home/you/pdf/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Then you could write a shell script such as this one:
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset listings
|
|
inline false
|
|
status open
|
|
|
|
\begin_layout PlainLayout
|
|
#!/bin/bash
|
|
\end_layout
|
|
|
|
\begin_layout PlainLayout
|
|
FROMFILE=$1
|
|
\end_layout
|
|
|
|
\begin_layout PlainLayout
|
|
TOFILE=`basename $2`
|
|
\end_layout
|
|
|
|
\begin_layout PlainLayout
|
|
cp $FROMFILE /home/you/pdf/$TOFILE
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Save that in your local LyX directory---say,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
/home/you/.lyx/scripts/pdfcopier.sh
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
---and make it executable, if you need to do so on your platform.
|
|
Then, in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Tools\SpecialChar \menuseparator
|
|
Preferences:Copiers
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog, select the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
PDF(pdflatex)
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
format---or one of the other pdf formats---and enter
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdfcopier.sh $$i $$o
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
into the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Copier
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
field.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Copiers are used by LyX in various of its own conversions.
|
|
For example, if appropriate programs are found, LyX will automatically
|
|
install copiers for the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
HTML
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
HTML
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
(MS Word)
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
formats.
|
|
When these formats are exported, the copier sees that not just the main
|
|
HTML file but various associated files (style files, images, etc.) are also
|
|
copied.
|
|
All these files are written to a subdirectory of the directory in which
|
|
the original LyX file was found.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
This copier can be customized.
|
|
The optional
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
-e
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
argument takes a comma-separated list of extensions to be copied; if it
|
|
is omitted, all files will be copied.
|
|
The
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
-t
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
argument determines the extension added to the generated directory.
|
|
By default, it is
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXconv
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
, so HTML generated from
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
/path/to/filename.lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will end up in
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
/path/to/filename.html.LyXconv
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sub:Converters"
|
|
|
|
\end_inset
|
|
|
|
Converters
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
You can define your own Converters to, uhh, convert files between different
|
|
formats.
|
|
This is done in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Tools\SpecialChar \menuseparator
|
|
Preferences\SpecialChar \menuseparator
|
|
File Handling\SpecialChar \menuseparator
|
|
Converters
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To define a new converter, select the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
From
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Space \thinspace{}
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
To
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
from the drop-down lists, enter the command needed for the conversion,
|
|
and then press the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Add
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
button.
|
|
Several variables can be used in the definition of converters:
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$s
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The LyX system directory
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$i
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The input file
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$o
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The output file
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$b
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The base filename of the input file (i.e., without the extension)
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$p
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The path to the input file
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
In the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Extra
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Flag
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
field you can enter the following flags, separated by commas:
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
latex
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This converter runs some form of LaTeX.
|
|
This will make LyX's LaTeX error logs available.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
needaux
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Needs the LaTeX
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.aux
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file for the conversion.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xml
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Output is XML.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The following three flags are not really flags at all because they take
|
|
an argument in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
key
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
value
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
format:
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
parselog
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
If set, the converter's standard error will be redirected to a file
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
infile.out
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, and the script given as argument will be run as:
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
script <infile.out >infile.log
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The argument may contain
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$s
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
resultdir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The name of the directory in which the converter will dump the generated
|
|
files.
|
|
LyX will not create this directory, and it does not copy anything into
|
|
it, though it will copy this directory to the destination.
|
|
The argument may contain
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$b
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, which will be replaced by the basename of the input and output files,
|
|
respectively, when the directory is copied.
|
|
\newline
|
|
Note that resultdir and usetempdir
|
|
make no sense together.
|
|
The latter will be ignored if the former is given.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
resultfile
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Determines the output filename and may, contain
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$b
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Sensible only with resultdir and optional even then; if not given, it defaults
|
|
to `index'.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
None of these last three are presently used in any of the converters that
|
|
are installed with LyX.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
You do not have to define converters between all the formats between which
|
|
you want to convert.
|
|
For example, you will note that there is no `LyX to PostScript®' converter,
|
|
but LyX will export PostScript®.
|
|
It does so by first creating a LaTeX file (no converter needs to be defined
|
|
for this) which is then converted to DVI using the `LaTeX to DVI' converter,
|
|
and finally converting the resulting DVI file to PostScript®.
|
|
LyX finds such `chains' of converters automatically, and it will always
|
|
choose the shortest possible chain.
|
|
You can, though, still define multiple conversion methods between file
|
|
formats.
|
|
For example, the standard LyX configuration provides three ways to convert
|
|
LaTeX to PDF: Directly, using
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdflatex
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
; via (DVI and) PostScript®, using
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ps2pdf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
; or via DVI, using
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
dvipdfm
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
To define such alternate chains, you must define multiple target `file
|
|
formats', as described in section
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sub:Formats"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
For example, in the standard configuration, the formats named
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdf2
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, and
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pdf3
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
are defined, all of which share the extension
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.pdf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, and which correspond to the conversion methods just mentioned.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Output
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The settings in this section affect the output LyX produces.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Plain text export options
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\noindent
|
|
There are a couple of commands that can be used to
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
clean up
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
exported plain text files.
|
|
Note that LyX automatically detects and tries to use the best settings
|
|
for your system at installation time, but you can modify them in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Output\SpecialChar \menuseparator
|
|
Plain Text
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog if you disagree with its interpretation.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
roff command
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This option defines the command used to produce better plain text tables
|
|
with the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
groff/troff/nroff
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
UNIX-commands (refer to their manpages for more information about them).
|
|
Setting this as empty tells LyX to use the internal (inferior) formatter.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Output line length
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
With this command you can set the default line length of the plain text
|
|
output file.
|
|
Setting it to 0 means that no line breaks will be inserted except between
|
|
paragraphs and the like.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
The rest
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
There are many other configuration options that can be used to customize
|
|
LyX behavior.
|
|
Most of them are sufficiently self-explanatory that we have not felt it
|
|
necessary to document them here.
|
|
Please ask on the
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "mailing lists"
|
|
target "http://www.lyx.org/mailing.php"
|
|
|
|
\end_inset
|
|
|
|
if you need some more information.
|
|
\end_layout
|
|
|
|
\begin_layout Chapter
|
|
Internationalizing LyX
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "chap:i18n"
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
LyX supports using a translated interface.
|
|
Last time we checked, LyX provided text in thirty languages.
|
|
The language of choice is called your
|
|
\emph on
|
|
locale
|
|
\emph default
|
|
.
|
|
(For further reading on locale settings, see also the documentation for
|
|
locale that comes with your operating system.
|
|
For Linux, the manual page for
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
locale(5)
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
could be a good place to start).
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Notice that these translations will work, but do contain a few flaws.
|
|
In particular, all dialogs have been designed with the English text in
|
|
mind, which means that some of the translated text will be too large to
|
|
fit within the space allocated.
|
|
This is only a display problem and will not cause any harm.
|
|
Also, you will find that some of the translations do not define shortcut
|
|
keys for everything.
|
|
Sometimes, there are simply not enough free letters to do it.
|
|
Other times, the translator just hasn't got around to doing it yet.
|
|
Our localization team, which you may wish to join,
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
If you are a fluent speaker of a language other than English, joining these
|
|
teams is a great way to give back to the LyX community!
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will of course try to fix these shortcomings in future versions of LyX.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Translating LyX
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Translating the graphical user interface (text messages).
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
LyX uses the GNU
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
gettext
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
library to handle the internationalization of the interface.
|
|
To have LyX speak your favorite language in all menus and dialogs, you
|
|
need a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
po
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-file for that language.
|
|
When this is available, you'll have to generate a
|
|
\begin_inset Flex CharStyle:Code
|
|
status open
|
|
|
|
\begin_layout PlainLayout
|
|
mo
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-file from it and install the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
mo
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-file.
|
|
The process of doing all of this is explained in the documentation for
|
|
GNU
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
gettext
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
It is possible to do this just for yourself, but if you're going to do
|
|
it, you might as well share the results of your labors with the rest of
|
|
the LyX community.
|
|
Send a message to the LyX developers' list for more information about how
|
|
to proceed.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
In short, this is what you should do (xx denotes the language code):
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Check out the LyX source code.
|
|
(See the
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "information on the web"
|
|
target "http://www.lyx.org/devel/cvs.php"
|
|
|
|
\end_inset
|
|
|
|
.)
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Copy
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
po/lyx.pot
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to
|
|
\series bold
|
|
|
|
\series default
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xx.po
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(if
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyx.pot
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
doesn't exist, it can be remade with
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
make lyx.pot
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in that directory, or you can use an existing po-file for some other language
|
|
as a template).
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Edit
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xx.po
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
This is just a text file, so it can be edited in any text editor.
|
|
But there are also specialized programs that support such editing, such
|
|
as KBabel (for KDE).
|
|
Emacs contains a `mode' for editing
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
po
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
files, as well.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
For some menu- and widget-labels, there are also shortcut keys that should
|
|
be translated.
|
|
Those keys are marked after a `|', and should be translated according to
|
|
the words and phrases of the language.
|
|
You should also fill also out the information at the beginning of the new
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
po
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-file with your email-address, etc., so people know where to reach you with
|
|
suggestions and entertaining flames.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If you are just doing this on your own, then:
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Generate
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xx.mo
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This can be done with
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
msgfmt -o xx.mo < xx.po
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Copy the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
mo
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-file to your locale-tree, at the correct directory for application messages
|
|
for the language
|
|
\series bold
|
|
|
|
\series default
|
|
xx, and under the name
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyx.mo
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(e.g.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
/usr/local/share/locale/xx/LC_MESSAGES/lyx.mo
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\series bold
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
As said, however, it would be best if the new
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
po
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-file could be added to the LyX distribution, so others can use it.
|
|
Adding it involves making additional changes to LyX.
|
|
So send an email to the developers' mailing list if you're interested in
|
|
doing that.
|
|
\end_layout
|
|
|
|
\begin_layout Subsubsection
|
|
Ambigous messages
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Sometimes it turns out that one English message needs to be translated into
|
|
different messages in the target language.
|
|
One example is the message
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
To
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
which has the German translation
|
|
\lang german
|
|
Nach
|
|
\lang english
|
|
or
|
|
\lang german
|
|
Bis
|
|
\lang english
|
|
, depending upon exactly what the English
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
to
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
means.
|
|
GNU
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
gettext
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
does not handle such ambigous translations.
|
|
Therefore you have to add some context information to the message: Instead
|
|
of
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
To
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
it becomes
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
To[[as in 'From format x to format y']]
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
To[[as in 'From page x to page y']].
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Now the two occurences of
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
To
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
are different for
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
gettext
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and can be translated correctly to
|
|
\lang german
|
|
Nach
|
|
\lang english
|
|
and
|
|
\lang german
|
|
Bis
|
|
\lang english
|
|
, respectively.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Of course the context information needs to be stripped off the original
|
|
message when no translation is used.
|
|
Therefore you have to put it in double square brackets at the end of the
|
|
message (see the example above).
|
|
The translation mechanism of LyX ensures that everything in double square
|
|
brackets at the end of messages is removed before displaying the message.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Translating the documentation.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The online documentation (in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
H
|
|
\bar default
|
|
elp
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-menu) can (and should!) be translated.
|
|
If there are translated versions of the documentation available
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
As of March 2008, at least some of the documents have been translated into
|
|
fourteen languages, with the Tutorial available in a few more.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and the locale is set accordingly, these will be used automagically by
|
|
LyX.
|
|
LyX looks for translated versions as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir/doc/xx_DocName.lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, where
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is the code for the language currently in use.
|
|
If there are no translated documents, the default English versions will
|
|
be displayed.
|
|
Note that the translated versions must have the same filenames (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
DocName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
above) as the original.
|
|
If you feel up to translating the documentation (an excellent way to proof-read
|
|
the original documentation by the way!), there are a few things you should
|
|
do right away:
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Read
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
DocStyle.lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, the guide to writing LyX documentation.
|
|
Pay special attention to the translator's section.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Check out the documentation translation web page at
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "http://www.devel.lyx.org"
|
|
target "http://www.devel.lyx.org"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
That way, you can find out which (if any) documents have already been translate
|
|
d into your language.
|
|
You can also find out who (if anyone) is organizing the effort to translate
|
|
the documentation into your language.
|
|
If no one is organizing the effort, please let us know that you're interested.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Once you get to actually translating, here's a few hints for you that may
|
|
save you trouble:
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Join the documentation team! There is information on how to do that in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Intro.lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
H
|
|
\bar default
|
|
elp\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
I
|
|
\bar default
|
|
ntroduction
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
), which by the way is the first document you should translate.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Learn the typographic conventions for the language you are translating to.
|
|
Typography is an ancient art and over the centuries, a great variety of
|
|
conventions have developed throughout different parts of the world.
|
|
Also study the professional terminology amongst typographers in your country.
|
|
Inventing your own terminology will only confuse the users.
|
|
|
|
\emph on
|
|
(Warning! Typography is addictive!)
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Make a copy of the document.
|
|
This will be your working copy.
|
|
You can use this as your personal translated help-file by placing it in
|
|
your
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/doc/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
directory.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Sometimes the original document (from the LyX-team) will be updated.
|
|
Use the source viewer at
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "http://www.lyx.org/trac/timeline"
|
|
target "http://www.lyx.org/trac/timeline"
|
|
|
|
\end_inset
|
|
|
|
to see what has been changed.
|
|
That way you can easily see which parts of the translated document need
|
|
to be updated.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If you ever find an error in the original document, fix it and notify the
|
|
rest of the documentation team of the changes! (You didn't forget to join
|
|
the documentation team, did you?)
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Branch OutDated
|
|
status open
|
|
|
|
\begin_layout Section
|
|
International Keyboard Support
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
|
|
\emph on
|
|
[Editor's Note: The following section is by
|
|
\emph default
|
|
|
|
\shape smallcaps
|
|
\emph on
|
|
Ivan Schreter
|
|
\shape default
|
|
.
|
|
It needs to be fixed to conform to the new Documentation Style sheet and
|
|
to make use of the new v1.0 features.
|
|
The whole thing also needs to be merged with the section following it.-jw
|
|
It may also be badly out of date.-rh (2008)]
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Defining Own Keymaps: Keymap File Format
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Let's look at a keyboard definition file a little closer.
|
|
It is a plain text file defining
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
key-to-key or key-to-string translations
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
dead keys
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
dead keys exceptions
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To define key-to-key or key-to-string translation, use this command:
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
key
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
outstring
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
where
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
key
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is the key to be translated and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
outstring
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is the string to be inserted into the document.
|
|
To define dead keys, use:
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
kmod
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
key
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
deadkey
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
where
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
key
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is a keyboard key and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
deadkey
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is dead key name.
|
|
The following dead keys are supported (shortcut name is in parentheses):
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
|
|
\emph on
|
|
Name
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
Example
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
acute (acu)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
áéíóú
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
grave (gra)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
àèìòù
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
macron (mac)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
ō
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
tilde (til)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
ñÑ
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
underbar (underb)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
|
|
\begin_inset ERT
|
|
status open
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
|
|
\backslash
|
|
b o
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
cedilla (ced)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
çÇ
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
underdot (underd)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
|
|
\begin_inset ERT
|
|
status open
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
|
|
\backslash
|
|
d o
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
circumflex (circu)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
âêîôû
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
circle (circl)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
ÅůŮ
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
tie (tie)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
|
|
\begin_inset ERT
|
|
status open
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
|
|
\backslash
|
|
t o
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
breve (bre)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
ă
|
|
\begin_inset ERT
|
|
status open
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
|
|
\backslash
|
|
u o
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
caron (car)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
čšž
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
hungarian umlaut (hug)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
őű
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
umlaut (uml)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
äöü
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
dot (dot)
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
ż
|
|
\begin_inset ERT
|
|
status open
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
|
|
\backslash
|
|
.s
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Since in many international keyboards there are exceptions to what some
|
|
dead keys should do, you can define them using
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
kxmod
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
deadkey key outstring
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
For example, on Slovak keyboard, if you enter caron-o, it generates circumflex-o
|
|
, so you put in
|
|
\end_layout
|
|
|
|
\begin_layout Quotation
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
kxmod
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
caron o "
|
|
\backslash
|
|
^o"
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
to make it work correctly.
|
|
Also, you have to define as exceptions dead keys over i and j, to remove
|
|
the dot from them before inserting an accent mark.
|
|
I will change this when the time comes, but so far I haven't had time.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Oh, and about characters: backslash is escaped, so to enter it, you'll need
|
|
double backslash.
|
|
Also, quotes and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
#
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
have different meaning.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
#
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
marks comments, quotes start and end LaTeX-style commands.
|
|
To enter quote, you'll need to use
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, to enter
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
#
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, use
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
#
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If you make a keyboard description file that works for your language, please
|
|
mail it to me, so I can include it in the next keymap distribution.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
More keywords will be supported in keymap configuration file in future,
|
|
like
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
kinclude filename
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph on
|
|
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
include
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
another file
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
kprog program
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph on
|
|
|
|
\begin_inset Space \hfill{}
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
define
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
an external keymap translation program
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Also, it should look into
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyxrc
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file for defaults, too (for example, a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
kinclude
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
option to include default keyboard).
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:keymap"
|
|
|
|
\end_inset
|
|
|
|
International Keymap Stuff
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Note
|
|
status open
|
|
|
|
\begin_layout PlainLayout
|
|
In doing the revisions on this document in March 2008, I did not look over
|
|
this stuff, as I do not understand it.
|
|
It would be good if someone else could do so.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The next two sections describe the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
.kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
.cdef
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file syntax in detail.
|
|
These sections should help you design your own key map if the ones provided
|
|
do not meet your needs.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
The .kmap File
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A
|
|
\shape up
|
|
.
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file maps keystrokes to characters or strings.
|
|
As the name suggests, it sets a keyboard mapping.
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\shape default
|
|
file keywords
|
|
\shape up
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\shape default
|
|
,
|
|
\shape up
|
|
|
|
\shape default
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
kmod
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\shape up
|
|
|
|
\shape default
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
ksmod
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
kcomb
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
are described in this section.
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Map a character to a string
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
kmap
|
|
\family roman
|
|
\emph on
|
|
char
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
\emph on
|
|
string
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This will ma
|
|
\family roman
|
|
p
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
char
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
to
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
string
|
|
\emph default
|
|
.
|
|
Note that in
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
string
|
|
\emph default
|
|
,
|
|
\family default
|
|
|
|
\family roman
|
|
\shape up
|
|
the double-quote (")
|
|
\family default
|
|
\shape default
|
|
|
|
\family roman
|
|
and
|
|
\family default
|
|
|
|
\family roman
|
|
\shape up
|
|
the backslash (
|
|
\backslash
|
|
)
|
|
\family default
|
|
\shape default
|
|
|
|
\family roman
|
|
must be escaped with a preceding backslash (
|
|
\shape up
|
|
|
|
\backslash
|
|
|
|
\shape default
|
|
)
|
|
\family default
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
An example of a
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
statement to cause the symbol
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to be output for the keystroke
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
&
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
kmap & /
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
kmod
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Specify an accent character
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
kmod
|
|
\family roman
|
|
\emph on
|
|
char accent allowed
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This will make the cha
|
|
\family roman
|
|
racter
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
char
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
\shape up
|
|
\emph on
|
|
be an accent
|
|
\family default
|
|
\shape default
|
|
\emph default
|
|
|
|
\family roman
|
|
\shape up
|
|
on the
|
|
\family default
|
|
\shape default
|
|
|
|
\family roman
|
|
\shape up
|
|
\emph on
|
|
allowed
|
|
\family default
|
|
\shape default
|
|
\emph default
|
|
|
|
\family roman
|
|
\shape up
|
|
cha
|
|
\family default
|
|
racter(s).
|
|
This is the dead key
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
The term
|
|
\family roman
|
|
\emph on
|
|
dead key
|
|
\family default
|
|
\emph default
|
|
refers to a key that does not produce a character by itself, but when followed
|
|
with another key, produces the desired accent character.
|
|
For example, a German characte
|
|
\family roman
|
|
r with an umlaut like
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
ä
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
can be produced in this manner.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
mechanism.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If you
|
|
\family roman
|
|
hit
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
char
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
and then another key not in
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
allowed
|
|
\emph default
|
|
, you will get a
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
char
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
followed by the other, unallowed key, as output.
|
|
|
|
\family default
|
|
Note that a
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
Backspace
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
cancels a dead key, so if
|
|
\family roman
|
|
you hit
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
char
|
|
\family default
|
|
\emph default
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
\emph on
|
|
Backspace
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, the cursor will not go one position backwards but will instead cancel
|
|
the effect t
|
|
\family roman
|
|
hat
|
|
\family default
|
|
|
|
\family roman
|
|
\shape up
|
|
\emph on
|
|
char
|
|
\family default
|
|
\shape default
|
|
\emph default
|
|
|
|
\family roman
|
|
\shape up
|
|
might have had on the next keystroke.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The following example specifies that the character ' is to be an acute accent,
|
|
allowed on the characters a, e, i, o, u, A, E, I, O, and U:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
kmod ' acute aeiouAEIOU
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ksmod
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Specify an exception to the accent character
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
kxmod
|
|
\family roman
|
|
\emph on
|
|
accent char result
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This defines an exce
|
|
\family roman
|
|
ption for
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
accent
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
on
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
char
|
|
\emph default
|
|
.
|
|
T
|
|
\shape up
|
|
he
|
|
\family default
|
|
\shape default
|
|
|
|
\family roman
|
|
\shape up
|
|
\emph on
|
|
accent
|
|
\family default
|
|
\shape default
|
|
\emph default
|
|
|
|
\family roman
|
|
\shape up
|
|
must
|
|
\family default
|
|
\shape default
|
|
|
|
\shape up
|
|
have been assigned a keystroke with a previous
|
|
\shape default
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
|
|
\backslash
|
|
kmo
|
|
\shape default
|
|
d
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
declar
|
|
\family roman
|
|
ation and
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
char
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
must not belong in the
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
allowed
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
set of
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
accent
|
|
\emph default
|
|
.
|
|
When
|
|
\family default
|
|
|
|
\family roman
|
|
\shape up
|
|
you enter the
|
|
\family default
|
|
\shape default
|
|
|
|
\family roman
|
|
\shape up
|
|
\emph on
|
|
accent char
|
|
\family default
|
|
\shape default
|
|
\emph default
|
|
|
|
\family roman
|
|
\shape up
|
|
sequence,
|
|
\family default
|
|
\shape default
|
|
|
|
\family roman
|
|
\shape up
|
|
\emph on
|
|
result
|
|
\family default
|
|
\shape default
|
|
\emph default
|
|
|
|
\family roman
|
|
\shape up
|
|
is produced.
|
|
If such a declaration does not exist in
|
|
\family default
|
|
\shape default
|
|
|
|
\shape up
|
|
the
|
|
\shape default
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
.kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file and yo
|
|
\family roman
|
|
u enter
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
accent char
|
|
\emph default
|
|
, you get
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
accent_key char
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
where
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
accent_key
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
is the first arg
|
|
\family default
|
|
ument of the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
|
|
\backslash
|
|
kmod
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
declaration.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The following command produces causes äi to be produced when you enter acute-i
|
|
('i):
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
kxmod acute i "
|
|
\backslash
|
|
|
|
\backslash
|
|
'{
|
|
\backslash
|
|
|
|
\backslash
|
|
i}"
|
|
\end_layout
|
|
|
|
\begin_layout List
|
|
\labelwidthstring 00.00.0000
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
kcomb
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Combine two accent characters
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
kcomb
|
|
\family roman
|
|
\emph on
|
|
accent1 accent2 allowed
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This one is getting pretty esoteric.
|
|
It allows you to combine the effect
|
|
\family roman
|
|
of
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
accent1
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
and
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
accent2
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
(in that order!) on
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
allowed
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
chars.
|
|
The keystrokes for
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
accent1
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
and
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
accent2
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
must have be
|
|
\family default
|
|
en set with a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
|
|
\backslash
|
|
kmod
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
command at
|
|
\family roman
|
|
a
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
previous
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
point in the
|
|
\family default
|
|
file.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Consider this example from the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
greek.kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
kmod ; acute aeioyvhAEIOYVH
|
|
\backslash
|
|
kmod : umlaut iyIY
|
|
\backslash
|
|
kcomb acute umlaut iyIY
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This allows you to press
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
;:i
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and get the effect of
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
|
|
\backslash
|
|
'{
|
|
\backslash
|
|
"{i}}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\family roman
|
|
\shape up
|
|
A backspace
|
|
\family default
|
|
\shape default
|
|
in this case cancels the last dead key, so if you press
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
;: Backspace i
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
you get
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
|
|
\backslash
|
|
'{i}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
The .cdef File
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
After the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
.kmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
mapping is performed, a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
.cde
|
|
\shape default
|
|
f
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file maps the strings that the symbols generate to characters in the current
|
|
font.
|
|
The LyX distribution currently includes at least the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
iso8859-1.cdef
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
iso8859-2.cdef
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
files.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
In general the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
.cdef
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file is a sequence of declarations of the form
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\family roman
|
|
\emph on
|
|
char_index_in_set
|
|
\family default
|
|
\emph default
|
|
|
|
\family roman
|
|
\emph on
|
|
string
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
For example, in order to map
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\shape up
|
|
|
|
\backslash
|
|
'{e}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to the corresponding character in the iso-8859-1 set (233), the following
|
|
declaration is used
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
233 "
|
|
\backslash
|
|
|
|
\backslash
|
|
'{e}"
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
with
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
being escap
|
|
\family roman
|
|
ed in
|
|
\family default
|
|
|
|
\family roman
|
|
\emph on
|
|
string
|
|
\emph default
|
|
.
|
|
Note that
|
|
\family default
|
|
the same character can apply to more than one string.
|
|
In the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
i
|
|
\shape up
|
|
so-8859-7.cdef
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file you have
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
192 "
|
|
\backslash
|
|
|
|
\backslash
|
|
'{
|
|
\backslash
|
|
|
|
\backslash
|
|
|
|
\backslash
|
|
"{i}}"
|
|
\newline
|
|
192 "
|
|
\backslash
|
|
|
|
\backslash
|
|
|
|
\backslash
|
|
"{
|
|
\backslash
|
|
|
|
\backslash
|
|
'{i}}"
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If LyX cannot find a mapping for the string produced by the keystroke or
|
|
a deadkey sequence, it will check if it looks like an accented char and
|
|
try to draw an accent over the character on screen.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Dead Keys
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
There is a second way to add support for international characters through
|
|
so-called dead-keys.
|
|
A dead-key works in combination with a letter to produce an accented character.
|
|
Here, we'll explain how to create a really simple dead-key to illustrate
|
|
how they work.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Suppose you happen to need the circumflex character,
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
̂
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
You could bind the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
^
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-key [a.k.a.
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Shift-6
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] to the LyX command
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
accent-circumflex
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in your
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lyxrc
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file.
|
|
Now, whenever you type the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
^
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-key followed by a letter, that letter will have a circumflex accent on
|
|
it.
|
|
For example, the sequence
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
^e
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
produces the letter:
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
ê
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
If you tried to type
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
^t
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
, however, LyX will complain with a beep, since a
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
t
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
never takes a circumflex accent.
|
|
Hitting
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Space
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
after a dead-key produces the bare-accent.
|
|
Please note this last point! If you bind a key to a dead-key, you'll need
|
|
to rebind the character on that key to yet another key.
|
|
Binding the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
,-key
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to a cedilla is a bad idea, since you'll only get cedillas instead of commas.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
One common way to bind dead-keys is to use
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Meta-
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Ctrl-
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, and
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Shift-
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in combination with an accent, like
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
~
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
,
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
^
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
Another way involves using
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xmodmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xkeycaps
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to set up the special
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Mode_Switch
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
key.
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Mode_Switch
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
acts in some ways just like
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Shift
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and permits you to bind keys to accented characters.
|
|
You can also turn keys into dead-keys by binding them to something like
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
usldead_cedilla
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and then binding this symbolic key to the corresponding LyX command.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Note from
|
|
\noun on
|
|
John Weiss
|
|
\noun default
|
|
: This is exactly what I do in my
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
~/.lyx/lyxrc
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and my
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
~/.xmodmap
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
files.
|
|
I have my
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Scroll
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Lock
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
key set up as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Mode_Shift
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and a bunch of these
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
usldead_*
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
symbolic keys bound such things as
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Scroll
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Lock-^
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Scroll
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Lock-~
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This is how I produce my accented characters.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
You can make just about anything into the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Mode_Switch
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
key: One of the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Ctrl-
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
keys, a spare function key, etc.
|
|
As for the LyX commands that produce accents, check the entry for
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
accent-acute
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in the
|
|
\emph on
|
|
Reference Manual
|
|
\emph default
|
|
.
|
|
You'll find the complete list there.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Saving your Language Configuration
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:savlang"
|
|
|
|
\end_inset
|
|
|
|
You can edit your preferences so that your desired language environment
|
|
is automatically configured when LyX starts up, via the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
E
|
|
\bar default
|
|
dit\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
references
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Chapter
|
|
Installing New Document Classes, Layouts, and Templates
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "chap:textclass"
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset OptArg
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Installing New Document Classes
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
In this chapter, we describe the procedures for creating and installing
|
|
new LyX layout and template files, as well as offer a refresher on correctly
|
|
installing new LaTeX document classes.
|
|
Some definitions: a document class is a LaTeX file (usually ending in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.cls
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.sty
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
) that describes the format of a document such as an article, report, journal
|
|
preprint, etc, and all the commands needed to realize that format.
|
|
A layout file is a LyX file that corresponds to a LaTeX document class
|
|
and that tells LyX how to
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
draw
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
things on the screen to make the display look something like the final
|
|
printed page.
|
|
More precisely, a layout file describes a
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
text class
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
which is the internal construct LyX uses to render the screen display.
|
|
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Layout
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
text class
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
can be used somewhat interchangeably, but it is better to refer to the
|
|
file as the layout, and the thing living in LyX's memory as the text class.
|
|
A template file is simply a LyX document that contains a set of predefined
|
|
entries for a given document class---entries that are generally required
|
|
for that class.
|
|
Templates are especially useful for things like journal manuscripts that
|
|
are to be submitted electronically.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Installing a new LaTeX package
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Some installations may not include a LaTeX package that you would like to
|
|
use within LyX.
|
|
For example, you might need FoilTeX, a common (and very powerful) package
|
|
for preparing slides or viewgraphs for overhead projectors.
|
|
On some systems, you may have a GUI for installing such packages: MikTeX
|
|
on Windows®, for example.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If you don't have such a GUI, then you can follow these steps.
|
|
\end_layout
|
|
|
|
\begin_layout Enumerate
|
|
Get the package from
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "CTAN"
|
|
target "http://www.ctan.org/"
|
|
|
|
\end_inset
|
|
|
|
or wherever.
|
|
\end_layout
|
|
|
|
\begin_layout Enumerate
|
|
You can install this package in several different places.
|
|
If you want it to be available for all users on your system, then you should
|
|
install it in your `local' TeX tree; if you want (or need) it to be available
|
|
just for you, then you can install it in your own `user' TeX tree.
|
|
Where these should be created, if they do not already exist, depends upon
|
|
the details of your system.
|
|
To find out, look in the file
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
texmf.cnf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
This usually lives in the directory
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$TEXMF/web2c
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, though you can run
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
kpsewhich texmf.cnf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to locate it.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The location of the `local' TeX tree is defined by
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TEXMFLOCAL
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
; this is usually somewhere like
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
/usr/local/share/texmf/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The `user' TeX tree is defined by
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TEXMFHOME
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and is commonly at
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$HOME/texmf/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
(If these variables are not predefined, you can define them.) You'll probably
|
|
need root permissions to create or modify the `local' tree; but your `user'
|
|
tree shouldn't have such limitations.
|
|
\end_layout
|
|
|
|
\begin_layout Enumerate
|
|
Make sure
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TEXMF
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
includes the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TEXMFLOCAL
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TEXMFHOME
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
variables; e.g.
|
|
|
|
\newline
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\newline
|
|
But, again, most of this will
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
just work
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Enumerate
|
|
Create your local
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
We'll assume henceforth that you're defining `local' TeX tree.
|
|
If you're defining a user tree, just adjust as necessary.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
TeX tree.
|
|
You must follow the directory structure of your existing
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
texmf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
directory, which will be found at
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TEXMFMAIN
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
For example, latex packages should go under
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$TEXMFLOCAL/tex/latex/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Enumerate
|
|
Install the package.
|
|
For example, you would unpack the FoilTeX tarball and copy it to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$TEXMFLOCAL/tex/latex/foiltex
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
foiltex
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
directory contains various files.
|
|
\end_layout
|
|
|
|
\begin_layout Enumerate
|
|
Run:
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
texhash
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This should create
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$TEXMFLOCAL/ls-R
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
amongst others.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Your package is now installed and available to LaTeX.
|
|
To make it available to LyX, you need to create a Layout file, if one is
|
|
not already available.
|
|
(See the next section.) Once you have a layout file, you need only reconfigure
|
|
(
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
R
|
|
\bar default
|
|
econfigure
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
) and then restart LyX.
|
|
You should then see your new package---for example
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
slides (FoilTeX)
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
---under
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
D
|
|
\bar default
|
|
ocument\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
S
|
|
\bar default
|
|
ettings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Document Class
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
drop box.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:Layouts"
|
|
|
|
\end_inset
|
|
|
|
Layouts
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This section describes how to write and install your own LyX layout files
|
|
and walks through the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
article
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
text class format as an example.
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.layout
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
files describe what paragraph and character styles are available for a
|
|
given document class and how LyX should display them.
|
|
We try to provide a thorough description of the process here; however,
|
|
there are so many different types of documents supported by LaTeX classes
|
|
that we can't hope to cover every different possibility or problem you
|
|
might encounter.
|
|
(The LyX users' list is frequented by people with lots of experience with
|
|
layout design who are willing to share what they've learned.)
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
As you prepare to write a new layout, it is extremely helpful to look at
|
|
the example layouts distributed with LyX.
|
|
If you use a nice LaTeX document class that might be of interest for others,
|
|
too, and have a nice corresponding LyX layout, feel free to contribute
|
|
the stuff to us, so we may put it into the distribution.
|
|
There is also a
|
|
\begin_inset CommandInset href
|
|
LatexCommand href
|
|
name "section on the LyX wiki"
|
|
target "http://wiki.lyx.org/Layouts/Layouts"
|
|
|
|
\end_inset
|
|
|
|
for this kind of material.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
All the tags described in this chapter are case-insensitive; this means
|
|
that
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Style
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
style
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
StYlE
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
are really the same command.
|
|
The possible values are printed in brackets after the feature's name.
|
|
The default value if a feature isn't specified inside a text class-description
|
|
is typeset
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
emphasized
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
If the argument has a datatype like
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
string
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
float
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
, the default is shown like this:
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
float=
|
|
\emph on
|
|
default
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sub:Layout-modules"
|
|
|
|
\end_inset
|
|
|
|
Layout modules
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Similar to layout files, and new with LyX 1.6, are layout
|
|
\emph on
|
|
modules
|
|
\emph default
|
|
.
|
|
Modules are to LaTeX packages much as layouts are to LaTeX classes, and
|
|
some modules---such as the Endnotes module---provide support for just such
|
|
a package.
|
|
In a sense, layout modules are similar to included files---files like
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
stdsections.inc
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
---in that modules are not specific to a given document layout but may be
|
|
used with many different layouts.
|
|
The difference is that using a layout module does not require editing the
|
|
layout file.
|
|
Rather, modules are selected in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
D
|
|
\bar default
|
|
ocument\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
S
|
|
\bar default
|
|
ettings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Building modules is the easiest way to get started with layout editing,
|
|
since it can be as simple as adding a single new paragraph or flex inset.
|
|
But modules may, in principle, contain anything a layout file can contain.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A module must begin with a line like the following:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
#
|
|
\backslash
|
|
DeclareLyXModule[endnotes.sty]{Endnotes}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The argument in square brackets is optional: It declares any LaTeX packages
|
|
on which the module depends.
|
|
The mandatory argument, in curly brackets, is the name of the module, as
|
|
it should appear in
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Document\SpecialChar \menuseparator
|
|
Settings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The module declaration should then be followed by lines like the following:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
#DescriptionBegin
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
#Adds an endnote command, in addition to footnotes.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
#You will need to add
|
|
\backslash
|
|
theendnotes in ERT where you
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
#want the endnotes to appear.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
#DescriptionEnd
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
#Requires: somemodule | othermodule
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
#Excludes: badmodule
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The description is used in
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Document\SpecialChar \menuseparator
|
|
Settings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to provide the user with information about what the module does.
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Requires
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
line is used to identify other modules with which this one must be used;
|
|
the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Excludes
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
line is used to identify modules with which this one may not be used.
|
|
Both are optional, and, as shown, multiple modules should be separated
|
|
with the pipe symbol: |.
|
|
Note that the required modules are treated disjunctively:
|
|
\emph on
|
|
at least one
|
|
\emph default
|
|
of the required modules must be used.
|
|
Similarly,
|
|
\emph on
|
|
no
|
|
\emph default
|
|
excluded module may be used.
|
|
Note that modules are identified here by their
|
|
\emph on
|
|
filenames
|
|
\emph default
|
|
without the .module extension.
|
|
So
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
somemodule
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is really
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
somemodule.module
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
After creating a new module, you will need to reconfigure and then restart
|
|
LyX for the module to appear in the menu.
|
|
However, changes you make to the module will be seen immediately, if you
|
|
open
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Document\SpecialChar \menuseparator
|
|
Settings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, highlight something, and then hit
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
OK
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\emph on
|
|
It is strongly recommended that you save your work before doing so
|
|
\emph default
|
|
.
|
|
In fact,
|
|
\emph on
|
|
it is strongly recommended that you not attempt to edit modules while simultaneo
|
|
usly working on documents
|
|
\emph default
|
|
.
|
|
Though of course the developers strive to keep LyX stable in such situations,
|
|
syntax errors and the like in your module file could cause strange behavior.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Supporting new document classes
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
There are two situations you are likely to encounter when wanting to support
|
|
a new LaTeX document class, involving LaTeX2e class (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.cls
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
) and style (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.sty
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
) files.
|
|
Supporting a style file is usually fairly easy.
|
|
Supporting a new document class is a bit harder.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
A layout for a
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
sty
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If your new document class is provided as a style file that is used in conjuncti
|
|
on with an existing, supported document class---for the sake of the example,
|
|
we'll assume that the style file is called
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
myclass.sty
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and it is meant to be used with
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
report.cls
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, which is a standard class---start by copying the existing class's layout
|
|
file into your local directory:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
cp report.layout ~/.lyx/layouts/myclass.layout
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Then edit
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
myclass.layout
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and change the line:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
DeclareLaTeXClass{report}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
to read
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
DeclareLaTeXClass[report, myclass.sty]{report (myclass)}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Then add:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Preamble
|
|
\newline
|
|
|
|
\backslash
|
|
usepackage{myclass}
|
|
\newline
|
|
EndPreamble
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
near the top of the file.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Start LyX and select
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
R
|
|
\bar default
|
|
econfigure
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Then restart LyX and try creating a new document.
|
|
You should see "
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
report (myclass)
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
" as a document class option in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
D
|
|
\bar default
|
|
ocument\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
S
|
|
\bar default
|
|
ettings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
It is likely that some of the sectioning commands and such in your new
|
|
class will work differently from how they worked in the base class---
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
report
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in this example---so you can fiddle around with the settings for the different
|
|
sections if you wish.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Layout for a
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
cls
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
There are two possibilities here.
|
|
One is that the class file is itself based upon an existing document class.
|
|
For example, many thesis classes are based upon
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
book.cls
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
To see whether yours is, look for a line like
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
LoadClass{book}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
in the file.
|
|
If so, then you may proceed largely as in the previous section, though
|
|
the DeclareLaTeXClass line will be different.
|
|
If your new class is thesis, and it is based upon book, then the line should
|
|
read:
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
And it will be easiest if you save the file to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
thesis.layout
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
: LyX assumes that the document class has the same name as the layout file.
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
DeclareLaTeXClass[thesis,book]{thesis}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If, on the other hand, the new class is not based upon an existing class,
|
|
you will probably have to
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
roll your own
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
layout.
|
|
We strongly suggest copying an existing layout file which uses a similar
|
|
LaTeX class and then modifying it, if you can do so.
|
|
At least use an existing file as a starting point so you can find out what
|
|
items you need to worry about.
|
|
Again, the specifics are covered below.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Declaring a new text class
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
When it's finally time to get your hands dirty and create or edit your own
|
|
layout file, the following sections describe what you're up against.
|
|
Our advice is to go slowly, save and test often, listen to soothing music,
|
|
and enjoy one or two of your favorite adult beverages; more if you are
|
|
getting particularly stuck.
|
|
It's really not that hard, except that the multitude of options can become
|
|
overwhelming if you try to do to much in one sitting.
|
|
Go have another adult beverage, just for good measure.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Here we go!
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Lines in a layout file which begin with a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
#
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
are comments.
|
|
There is one exception to this rule: all layouts should begin with lines
|
|
like:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\size small
|
|
#% Do not delete the line below; configure depends on this
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\size small
|
|
#
|
|
\backslash
|
|
DeclareLaTeXClass{article}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The second line is used when you configure LyX.
|
|
The layout file is read by the LaTeX script
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
chkconfig.ltx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, in a special mode where
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
#
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is ignored.
|
|
The first line is just a LaTeX comment, and the second one contains the
|
|
declaration of the text class.
|
|
If these lines appear in a file named
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
article.layout
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, then they define a text class of name
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
article
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(the name of the layout file) which uses the LaTeX document class
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
article.cls
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(the default is to use the same name as the layout).
|
|
The string
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
article
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
that appears above is used as a description of the text class in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
D
|
|
\bar default
|
|
ocument\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
S
|
|
\bar default
|
|
ettings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Let's assume that you wrote your own text class that uses the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
article.cls
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
document class, but where you changed the appearance of the section headings.
|
|
If you put it in a file
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
myarticle.layout
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, the header of this file should be:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\size small
|
|
#% Do not delete the line below; configure depends on this
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\size small
|
|
#
|
|
\backslash
|
|
DeclareLaTeXClass[article]{article (with my own headings)}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This declares a text class
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
myarticle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, associated with the LaTeX document class
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
article.cls
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and described as
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
article (with my own headings)
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
If your text class depends on several packages, you can declare it as:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\size small
|
|
#% Do not delete the line below; configure depends on this
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\size small
|
|
#
|
|
\backslash
|
|
DeclareLaTeXClass[article,foo.sty]{article (with my own headings)}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This indicates that your text class uses the foo.sty package.
|
|
Finally, it is also possible to declare classes for DocBook code.
|
|
Typical declarations will look like
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\size small
|
|
#% Do not delete the line below; configure depends on this
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\size small
|
|
#
|
|
\backslash
|
|
DeclareDocBookClass[article]{SGML (DocBook article)}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Note that these declarations can also be given an optional parameter declaring
|
|
the name of the document class (but not a list).
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
So, to be as explicit as possible, the form of the layout declaration is:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\size small
|
|
#
|
|
\backslash
|
|
DeclareLaTeXClass[class,package.sty]{layout description}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The class need only be specified if the name of the LaTeX class file and
|
|
the name of the layout file are different; if the name of the classfile
|
|
is not specified, then LyX will simply assume that it is the same as the
|
|
name of the layout file.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
When the text class has been modified to your taste, all you have to do
|
|
is to copy it either to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir/layouts/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/layouts
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, run
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
R
|
|
\bar default
|
|
econfigure
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, exit LyX and restart it.
|
|
Then your new text class should be available along with the others.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
In versions of LyX prior to 1.6, you had to restart LyX to see any changes
|
|
you made to your layout files.
|
|
As a result, editing layout files could be very time consuming.
|
|
Beginning with 1.6, however, you can force a reload of the layout currently
|
|
in use by using the LyX function
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
layout-reload
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
There is no default binding for this function---though, of course, you
|
|
can bind it to a key yourself (see section
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:bindings"
|
|
|
|
\end_inset
|
|
|
|
).
|
|
If you want to use this function, then, you should simply enter it in the
|
|
mini-buffer.
|
|
|
|
\emph on
|
|
Warning
|
|
\emph default
|
|
: This is very much an `advanced feature'.
|
|
It is
|
|
\emph on
|
|
strongly
|
|
\emph default
|
|
recommended that you save your work before using this function.
|
|
In fact, it is
|
|
\emph on
|
|
strongly
|
|
\emph default
|
|
recommended that you not attempt to edit your layout while simultaneously
|
|
working on a document that you care about.
|
|
Use a test document.
|
|
Syntax errors and the like in your layout file could cause peculiar behavior.
|
|
In particular, such errors could cause LyX to regard the current layout
|
|
as invalid and to attempt to switch to some other layout.
|
|
The LyX team strives to keep LyX stable in such situations, but safe is
|
|
better than sorry.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
File format
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The first non-comment line must contain the file format number:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
int
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
|
|
don't have an explicit file format).
|
|
The file format that is documented here is format 7.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
General text class parameters
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
These are the general parameters which describe the form of the entire document:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
AddToPreamble
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Adds information to the document preamble.
|
|
Must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
EndPreamble
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ClassOptions
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Describes various global options supported by the document class.
|
|
See Section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:classoptions"
|
|
|
|
\end_inset
|
|
|
|
for a description.
|
|
Must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
End
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Columns
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
2
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Whether the class should default to having one or two columns.
|
|
Can be changed in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
D
|
|
\bar default
|
|
ocument\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
S
|
|
\bar default
|
|
ettings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Counter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This sequence defines a new counter.
|
|
See Section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:counter"
|
|
|
|
\end_inset
|
|
|
|
for details.
|
|
Must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
End
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
DefaultFont
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Sets the default font used to display the document.
|
|
See Section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:fonts"
|
|
|
|
\end_inset
|
|
|
|
for how to declare fonts.
|
|
Must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
EndFont
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
DefaultStyle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] This is the style that will be assigned to new paragraphs, usually
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Standard
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This will default to the first defined style if not given, but you are
|
|
highly encouraged to use this directive.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Float
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Defines a new float.
|
|
See Section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:floats"
|
|
|
|
\end_inset
|
|
|
|
for details.
|
|
Must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
End
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Input
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
As its name implies, this command allows you to include another layout
|
|
definition file within yours to avoid duplicating commands.
|
|
Common examples are the standard layout files, for example,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
stdclass.inc
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, which contains most of the basic layouts.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
InsetLayout
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This section (re-)defines the layout of an inset.
|
|
It can be applied to an existing inset of to a new, user-defined inset,
|
|
e.g., a new character style.
|
|
See Section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:charstyle"
|
|
|
|
\end_inset
|
|
|
|
for more information.
|
|
Must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
End
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LeftMargin
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
NoFloat
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command deletes an existing float.
|
|
This is particularly useful when you want to suppress a float that has
|
|
be defined in an input file.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
NoStyle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command deletes an existing style.
|
|
This is particularly useful when you want to suppress a style that has
|
|
be defined in an input file.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
OutputType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\series medium
|
|
PageStyle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\emph on
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
plain
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph default
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
empty
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
headings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The class default pagestyle.
|
|
Can be changed in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
D
|
|
\bar default
|
|
ocument\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
S
|
|
\bar default
|
|
ettings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Preamble
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Sets the preamble for the LaTeX document.
|
|
Note that this will completely override any prior
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Premable
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
AddToPreamble
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
declarations.
|
|
Must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
EndPreamble
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Provides
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:Provides"
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] [
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Whether the class already provides the feature
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
A feature is in general the name of a package (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
amsmath
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
makeidx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, \SpecialChar \ldots{}
|
|
) or a macro (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
url
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
boldsymbol
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,\SpecialChar \ldots{}
|
|
); the complete list of supported features is unfortunately not documented
|
|
outside the LyX source code---but see
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LaTeXFeatures.cpp
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
if you're interested.
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
H
|
|
\bar default
|
|
elp\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
L
|
|
\bar default
|
|
aTeX Configuration
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
also gives an overview of the supported packages.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Requires
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Whether the class requires the feature
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Multiple features must be separated by commas.
|
|
Note that you can only request supported features.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
RightMargin
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
SecNumDepth
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Sides
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\emph on
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph default
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
2
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Whether the class-default should be printing on one or both sides of the
|
|
paper.
|
|
Can be changed in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
D
|
|
\bar default
|
|
ocument\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
S
|
|
\bar default
|
|
ettings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Style
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This sequence defines a new paragraph style.
|
|
If the style already exists, it will redefine some of its parameters instead.
|
|
See Section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:style"
|
|
|
|
\end_inset
|
|
|
|
for details.
|
|
Must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
End
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TitleLatexName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string="maketitle"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The name of the command or environment to be used with
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TitleLatexType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TitleLatexType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
CommandAfter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Indicates what kind of markup is used to define the title of a document.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
CommandAfter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means that the macro with name
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TitleLatexName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will be inserted after the last layout which has
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
InTitle 1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
corresponds to the case where the block of paragraphs which have
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
InTitle 1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
should be enclosed into the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TitleLatexName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
environment.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TocDepth
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ClassOptions
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
section
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:classoptions"
|
|
|
|
\end_inset
|
|
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ClassOptions
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
section can contain the following entries:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
FontSize
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string="10|11|12"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The list of available font sizes for the document's main font, separated
|
|
by
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Header
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
PageStyle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string="empty|plain|headings|fancy"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The list of available page styles, separated by
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Other
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string=""
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Some document class options, separated by a comma, that will be added
|
|
to the optional part of the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
documentclass
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
command.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ClassOptions
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
section must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
End
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Paragraph Styles
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:style"
|
|
|
|
\end_inset
|
|
|
|
A paragraph style description looks like this:
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Note that this will either define a new layout or modify an existing one.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Style
|
|
\family roman
|
|
\emph on
|
|
name
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
...
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
End
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
where the following commands are allowed:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Align
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
block
|
|
\emph default
|
|
, left, right, center
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Paragraph alignment.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
AlignPossible
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
block
|
|
\emph default
|
|
, left, right, center
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] A comma separated list of permitted alignments.
|
|
(Some LaTeX styles prohibit certain alignments, since those wouldn't make
|
|
sense.
|
|
For example a right-aligned or centered enumeration isn't possible.)
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
BottomSep
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
float=0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Note that a `float' here is a real number, such as: 1.5.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The vertical space with which the last of a chain of paragraphs with this
|
|
layout is separated from the following paragraph.
|
|
If the next paragraph has another layout, the separations are not simply
|
|
added, but the maximum is taken.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Category
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
[string]
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The category for this style.
|
|
This is used to group related styles in the Layout combobox on the toolbar.
|
|
Any string can be used, but you may want to use existing categories with
|
|
your own styles.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
CommandDepth
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
CopyStyle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
[string]
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Copies all the features of an existing style into the current one.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
DependsOn
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The name of a style whose preamble should be output
|
|
\emph on
|
|
before
|
|
\emph default
|
|
this one.
|
|
This allows to ensure some ordering of the preamble snippets when macros
|
|
definitions depend on one another.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Note that, besides that functionality, there is no way to ensure any ordering
|
|
of preambles.
|
|
The ordering that you see in a given version of LyX may change without
|
|
warning in later versions.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
EndLabeltype
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
No_Label
|
|
\emph default
|
|
, Box, Filled_Box, Static
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The type of label that stands at the end of the paragraph (or sequence
|
|
of paragraphs if
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Item_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
List_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
).
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
No_Label
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
nothing
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Box
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(resp.
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Filled_Box
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
) is a white (resp.
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
black) square suitable for end of proof markers,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Static
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is an explicit text string.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
EndLabelString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string=""
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The string used for a label with a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Static
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
EndLabelType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Fill_Bottom
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
0
|
|
\emph default
|
|
,1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Similar to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Fill_Top
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Fill_Top
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
0
|
|
\emph default
|
|
,1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] With this parameter the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Fill
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
value of the
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Vertical space above
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
list of the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
E
|
|
\bar default
|
|
dit\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
aragraph
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Settings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog can be set when initializing a paragraph with this style.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
Note from Jean-Marc:
|
|
\emph default
|
|
I'm not sure that this setting has much use, and it should probably be
|
|
removed in later versions.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Font
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The font used for both the text body
|
|
\emph on
|
|
and
|
|
\emph default
|
|
the label.
|
|
See section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:fonts"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Note that defining this font automatically defines the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelFont
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to the same value.
|
|
So you should define this one first if you also want to define
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelFont
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
FreeSpacing
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:FreeSpacing"
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\emph on
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph default
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Usually LyX doesn't allow you to insert more than one space between words,
|
|
since a space is considered as the separation between two words, not a
|
|
character or symbol of its own.
|
|
This is a very fine thing but sometimes annoying, for example, when typing
|
|
program code or plain LaTeX code.
|
|
For this reason,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
FreeSpacing
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
can be enabled.
|
|
Note that LyX will create protected blanks for the additional blanks when
|
|
in another mode than LaTeX-mode.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
InnerTag
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
InTitle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
[1, 0]
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
If 1, marks the layout as being part of a title block (see also the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TitleLatexType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TitleLatexName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
global entries).
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ItemSep
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
float=0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] This provides extra space between paragraphs that have the same layout.
|
|
If you put other layouts into an environment, each is separated with the
|
|
environment's
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Parsep
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
But the whole items of the environment are additionally separated with
|
|
this
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Itemsep
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Note that this is a
|
|
\emph on
|
|
multiplier.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ItemTag
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
KeepEmpty
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:KeepEmpty"
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\emph on
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph default
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Usually LyX does not allow you to leave a paragraph empty, since it would
|
|
lead to empty LaTeX output.
|
|
There are some cases where this could be desirable however: in a letter
|
|
template, the required fields can be provided as empty fields, so that
|
|
people do not forget them; in some special classes, a layout can be used
|
|
as some kind of break, which does not contain actual text.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelBottomsep
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[float=0] The vertical space between the label and the text body.
|
|
Only used for labels that are above the text body (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Top_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Centered_Top_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
).
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelCounter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string=""
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\newline
|
|
The name of the counter for automatic numbering (see Section
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:counter"
|
|
|
|
\end_inset
|
|
|
|
for details).
|
|
This must be given if
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Labeltype
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Counter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelFont
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The font used for the label.
|
|
See section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:fonts"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Labelsep
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string=""
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The horizontal space between the label and the text body.
|
|
Only used for labels that are not above the text body.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string=""
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The string used for a label with a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Static
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
labeltype.
|
|
When
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelCounter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is set, this string can be contain the special formatting commands described
|
|
in Section
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:counter"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
For the sake of backwards compatibility, the string
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
@
|
|
\emph on
|
|
style-name
|
|
\emph default
|
|
@
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will be replaced by the expanded
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
of style
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
style-name
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This feature is now obsolete and should be replaced by the mechanisms of
|
|
Section
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:counter"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelStringAppendix
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string=""
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] This is used inside the appendix instead of
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Note that every
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
statement resets
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelStringAppendix
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
too.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Labeltype
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
No_Label
|
|
\emph default
|
|
, Manual, Static, Top_Environment,
|
|
\newline
|
|
Centered_Top_Environment, Sensitive,
|
|
Counter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\newline
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Manual
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means the label is the very first word (up to the first real blank).
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Use protected spaces if you want more than one word as the label.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Static
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means it is defined in the layout (see
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
).
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Top_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Centered_Top_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
are special cases of
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Static
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The label will be printed above the paragraph, but only at the top of an
|
|
environment or the top of a chain of paragraphs with this layout.
|
|
Usage is for example the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Abstract
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
layout or the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Bibliography
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
layout.
|
|
This is also the case for
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Manual
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
labels with latex type
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, in order to make layouts for theorems work correctly.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Sensitive
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is a special case for the caption-labels
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Figure
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Table
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Sensitive
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means the (hardcoded) label string depends on the kind of float.
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Counter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
label type defines automatically numbered labels.
|
|
See Section
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:counter"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexFooter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexHeader
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:LatexName"
|
|
|
|
\end_inset
|
|
|
|
The name of the corresponding LaTeX stuff.
|
|
Either the environment or command name.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexParagraph
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexParam
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:LatexParam"
|
|
|
|
\end_inset
|
|
|
|
An optional parameter for the corresponding
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
stuff.
|
|
This parameter cannot be changed from within LyX.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:LatexType"
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
Paragraph
|
|
\emph default
|
|
, Command, Environment, Item_Environment,
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
List_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] How the layout should be translated into LaTeX.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Paragraph
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means nothing special.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Command
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
|
|
\emph on
|
|
LatexName
|
|
\emph default
|
|
{\SpecialChar \ldots{}
|
|
}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
begin{
|
|
\emph on
|
|
LatexName
|
|
\emph default
|
|
}\SpecialChar \ldots{}
|
|
|
|
\backslash
|
|
end{
|
|
\emph on
|
|
LatexName
|
|
\emph default
|
|
}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Item_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is the same as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, except that a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
item
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is generated for each paragraph of this environment.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
List_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is the same as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Item_Environment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, except that
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelWidthString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is passed as an argument to the environment.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelWidthString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
can be defined in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
L
|
|
\bar default
|
|
ayout\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
aragraph
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
LatexType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is perhaps a bit misleading, since these rules apply to SGML classes, too.
|
|
Visit the SGML class files for specific examples.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Putting the last few things together, the LaTeX output will be either:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
latexname[latexparam]{\SpecialChar \ldots{}
|
|
}
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
or:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
begin{latexname}[latexparam] \SpecialChar \ldots{}
|
|
|
|
\backslash
|
|
end{latexname}.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
depending upon the LaTex type.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LeftMargin
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string=""
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] If you put layouts into environments, the leftmargins are not simply added,
|
|
but added with a factor
|
|
\begin_inset Formula $\frac{4}{depth+4}$
|
|
\end_inset
|
|
|
|
.
|
|
Note that this parameter is also used when the margin is defined as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Manual
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Dynamic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Then it is added to the manual or dynamic margin.
|
|
|
|
\newline
|
|
The argument is passed as a string.
|
|
For example
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
MM
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
means that the paragraph is indented with the width of
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
MM
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
in the normal font.
|
|
You can get a negative width by prefixing the string with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
-
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
This way was chosen so that the look is the same with each used screen
|
|
font.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Margin
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
Static
|
|
\emph default
|
|
, Manual, Dynamic, First_Dynamic, Right_Address_Box
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\newline
|
|
The kind of margin that the layout has on the left side.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Static
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
just means a fixed margin.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Manual
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means that the left margin depends on the string entered in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
E
|
|
\bar default
|
|
dit\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
aragraph
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Settings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
This is used to typeset nice lists without tabulators.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Dynamic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means that the margin depends on the size of the label.
|
|
This is used for automatic enumerated headlines.
|
|
It is obvious that the headline
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
5.4.3.2.1 Very long headline
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
must have a wider left margin (as wide as
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
5.4.3.2.1
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
plus the space) than
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
3.2 Very long headline
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
, even if standard
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
word processors
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
are not able to do this.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
First_Dynamic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is similar, but only the very first row of the paragraph is dynamic, while
|
|
the others are static; this is used, for example, for descriptions.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Right_Address_Box
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means the margin is chosen in a way that the longest row of this paragraph
|
|
fits to the right margin.
|
|
This is used to typeset an address on the right edge of the page.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
NeedProtect
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:NeedProtect"
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Whether fragile commands in this layout should be
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
protect
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
'ed.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Newline
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Whether newlines are translated into LaTeX newlines (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
|
|
\backslash
|
|
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
) or not.
|
|
The translation can be switched off to allow more comfortable LaTeX editing
|
|
inside LyX.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
NextNoIndent
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Whether the following Paragraph is allowed to indent its very first row.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means that it is not allowed to do so;
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
means it could do so if it wants to.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ObsoletedBy
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
OptionalArgs
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
int=0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The number of optional arguments that can be used with this layout.
|
|
This is useful for things like section headings, and only makes sense with
|
|
LaTeX.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ParIndent
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string=""
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The indent of the very first line of a paragraph.
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Parindent
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will be fixed for a certain layout.
|
|
The exception is Standard layout, since the indentation of a Standard layout
|
|
paragraph can be prohibited with
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
NextNoIndent
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Also, Standard layout paragraphs inside environments use the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Parindent
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
of the environment, not their native one.
|
|
For example, Standard paragraphs inside an enumeration are not indented.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Parsep
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
float=0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The vertical space between two paragraphs of this layout.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Parskip
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
float=0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] LyX allows the user to choose either
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
indent
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
skip
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
to typeset a document.
|
|
When
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
indent
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
is chosen, this value is completely ignored.
|
|
When
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
skip
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
is chosen, the parindent of a LaTeXtype
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
Paragraph
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
layout is ignored and all paragraphs are separated by this parskip argument.
|
|
The vertical space is calculated with
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
value
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
* DefaultHeight
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
where
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
DefaultHeight
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is the height of a row with the normal font.
|
|
This way, the look stays the same with different screen fonts.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
PassThru
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:PassThru"
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\emph on
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph default
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Whether the contents of this paragraph should be output in raw form, meaning
|
|
without special translations that LaTeX would require.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Preamble
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:Preamble"
|
|
|
|
\end_inset
|
|
|
|
Information to be included in the LaTeX preamable when this style is used.
|
|
Used to define macros, load packages, etc., required by this particular
|
|
style.
|
|
Must end with
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
EndPreamble
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Requires
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "des:Requires"
|
|
|
|
\end_inset
|
|
|
|
Whether the layout requires the feature
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
See the description of
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Provides
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
above (page
|
|
\begin_inset CommandInset ref
|
|
LatexCommand pageref
|
|
reference "des:FreeSpacing"
|
|
|
|
\end_inset
|
|
|
|
) for information on `features'.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
RightMargin
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string=""
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Similar to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LeftMargin
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Spacing
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
single
|
|
\emph default
|
|
, onehalf, double, other
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph on
|
|
value
|
|
\emph default
|
|
] This defines what the default spacing should be in the layout.
|
|
The arguments
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
single
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
onehalf
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
double
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
correspond respectively to a multiplier value of 1, 1.25 and 1.667.
|
|
If you specify the argument
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
other
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, then you should also provide a numerical argument which will be the actual
|
|
multiplier value.
|
|
Note that, contrary to other parameters,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Spacing
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
implies the generation of specific LaTeX code, using the package
|
|
\family roman
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
setspace.sty
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TextFont
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The font used for the text body .
|
|
See section
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:fonts"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\series medium
|
|
TocLevel [int]
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The level of the style in the table of contents.
|
|
This is used for automatic numbering of section headings.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TopSep
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
float=0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] The vertical space with which the very first of a chain of paragraphs
|
|
with this layout is separated from the previous paragraph.
|
|
If the previous paragraph has another layout, the separations are not simply
|
|
added, but the maximum is taken.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Floats
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:floats"
|
|
|
|
\end_inset
|
|
|
|
Since version 1.3.0 of LyX, it is has been both possible and necessary to
|
|
define the floats (
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
figure
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
table
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, \SpecialChar \ldots{}
|
|
) in the text class itself.
|
|
Standard floats are included in the file
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
stdfloats.inc
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, so you may have to do no more than add
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Input stdfloats.inc
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
to your layout file.
|
|
If you want to implement a text class that proposes some other float types
|
|
(like the AGU class bundled with LyX), the information below will hopefully
|
|
help you:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Extension
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
] The file name extension of an auxiliary file for the list of figures (or
|
|
whatever).
|
|
LaTeX writes the captions to this file.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
GuiName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
] The string that will be used in the menus and also for the caption.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LaTeXBuiltin
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Set to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
1
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
if the float is already defined by the LaTeX document class.
|
|
If this is set to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
0
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, the float will be defined using the LaTeX package
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
float
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ListName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
] The heading used for the list of floats.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
NumberWithin
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
] This (optional) argument determines whether floats of this class will
|
|
be numbered within some sectional unit of the document.
|
|
For example, if within is equal to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
chapter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, the floats will be numbered within chapters.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Placement
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
] The default placement for the given class of floats.
|
|
The string should be as in standard LaTeX:
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
t
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
b
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
p
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
h
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
for top, bottom, page, and here, respectively.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Note that the order of these letters in the string is irrelevant, like in
|
|
LaTeX.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
On top of that there is a new type,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
H
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, which does not really correspond to a float, since it means: put it
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
here
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
and nowhere else.
|
|
Note however that the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
H
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
specifier is special and, because of implementation details, cannot be
|
|
used in non-builtin float types.
|
|
If you do not understand what this means, just use
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
tbp
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Style
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
] The style used when defining the float using
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
newfloat
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Type
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
] The
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
type
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
of the new class of floats, like program or algorithm.
|
|
After the appropriate
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
newfloat
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, commands such as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
begin{program}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
end{algorithm*}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will be available.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Note that defining a float with type
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
type
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
automatically defines the corresponding counter with name
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
type
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Inset layouts and Flex insets
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:charstyle"
|
|
|
|
\end_inset
|
|
|
|
LyX has supported character styles since version 1.4.0; since version 1.6.0
|
|
these are called Flex insets.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Furthermore, it is possible to define the general layout of many different
|
|
types of insets.
|
|
Currently, InsetLayout can be used to customize the layout parameters
|
|
for footnotes, marginal notes, note insets, ERT insets, branches, listings,
|
|
indexes, boxes, tables, algorithms, URLs, and optional arguments, as well
|
|
as Flex insets.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Flex insets come in three different kinds:
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
character style (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
CharStyle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
): These define semantic markup corresponding to such LaTeX commands as
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
noun
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
code
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
user custom (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Custom
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
): These can be used to define custom collapsable insets, similar to ERT,
|
|
footnote, and the like.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
XML elements (
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Element
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
): For use with DocBook classes.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
InsetLayout
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
definition starting line is of the form
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
InsetLayout <Type> <Name>
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
where
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
<Type>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
can be
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Algorithm
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Branch
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Box
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ERT
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Figure
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Foot
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Index
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Listings
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Marginal
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Note:Comment
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Note:Note
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Note:GreyedOut
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
OptArg
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Table
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
URL
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Flex
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
If
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
<Type>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Flex
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, then
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
<Name>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
should have the form
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
SubType:StyleName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, where
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
SubType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is either
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
CharStyle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Custom
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Element
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
StyleName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is any valid identifier.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The following
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
InsetLayout
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
section can contain the following entries:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
BgColor
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The color for the inset's background.
|
|
These valid colors are defined in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
src/ColorCode.h
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Decoration
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
can be
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Classic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Minimalistic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Conglomerate
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, describing the rendering style used for the inset's frame and buttons.
|
|
Footnotes generally use
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Classic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
; ERT insets generally use
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Minimalistic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
; and character styles use
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Conglomerate
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Font
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The font used for both the text body
|
|
\emph on
|
|
and
|
|
\emph default
|
|
the label.
|
|
See section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:fonts"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Note that defining this font automatically defines the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelFont
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to the same value, so define this first and define
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelFont
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
later if you want them to be different.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ForceLTR
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[[FIXME]]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
FreeSpacing
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
As with paragraph styles (see page
|
|
\begin_inset CommandInset ref
|
|
LatexCommand pageref
|
|
reference "des:FreeSpacing"
|
|
|
|
\end_inset
|
|
|
|
).
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
KeepEmpty
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
As with paragraph styles (see page
|
|
\begin_inset CommandInset ref
|
|
LatexCommand pageref
|
|
reference "des:KeepEmpty"
|
|
|
|
\end_inset
|
|
|
|
).
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
What will be displayed on the button or elsewhere as the inset label.
|
|
Some inset types (ERT and Branch) modify this label on the fly.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelFont
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The font used for the label.
|
|
See section
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:fonts"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Note that this definition can never appear before
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Font
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, lest it be ineffective.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The name of the corresponding LaTeX stuff.
|
|
Either the environment or command name.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexParam
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The optional parameter for the corresponding
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
stuff, including possible bracket pairs like
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
[]
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This parameter cannot be changed from within LyX.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LatexType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
As with paragraph styles (see page
|
|
\begin_inset CommandInset ref
|
|
LatexCommand pageref
|
|
reference "des:LatexType"
|
|
|
|
\end_inset
|
|
|
|
).
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyxType
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Can be
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
charstyle
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
custom
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
element
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
end
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(indicating a dummy definition ending definitions of charstyles etc.).
|
|
This entry is only meaningful for Flex (user definable) insets.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Preamble
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
As with paragraph styles (see page
|
|
\begin_inset CommandInset ref
|
|
LatexCommand pageref
|
|
reference "des:Preamble"
|
|
|
|
\end_inset
|
|
|
|
).
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Requires
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] As with paragraph styles (see page
|
|
\begin_inset CommandInset ref
|
|
LatexCommand pageref
|
|
reference "des:Requires"
|
|
|
|
\end_inset
|
|
|
|
).
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Counters
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:counter"
|
|
|
|
\end_inset
|
|
|
|
Since version 1.3.0 of LyX, it is both possible and necessary to define the
|
|
counters (
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
chapter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
figure
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, \SpecialChar \ldots{}
|
|
) in the text class itself.
|
|
The standard counters are defined in the file
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
stdcounters.inc
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, so you may have to do no more than add
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Input stdcounters.inc
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
to your layout file to get them to work.
|
|
But if you want to define custom counters, then you can do so, using the
|
|
following parameters:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelString [string=""]
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
when this is defined, this string defines how the counter is displayed.
|
|
Setting this value sets
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelStringAppendix
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to the same value.
|
|
The following special constructs can be used in the string:
|
|
\end_layout
|
|
|
|
\begin_deeper
|
|
\begin_layout Itemize
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
thecounter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
will be replaced by the expansion of the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelStringAppendix
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
) of the counter
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
counter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
counter values can be expressed using LaTeX-like macros
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
|
|
\emph on
|
|
numbertype
|
|
\emph default
|
|
{
|
|
\emph on
|
|
counter
|
|
\emph default
|
|
}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, where
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
numbertype
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
can be:
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\family roman
|
|
\series medium
|
|
\shape up
|
|
\size normal
|
|
\emph off
|
|
\bar no
|
|
\noun off
|
|
\color none
|
|
Actually, the situation is a bit more complicated: any
|
|
\family default
|
|
\series default
|
|
\shape default
|
|
\emph default
|
|
\bar default
|
|
|
|
\size default
|
|
\emph on
|
|
\noun default
|
|
\color inherit
|
|
numbertype
|
|
\family roman
|
|
\series medium
|
|
\shape up
|
|
\size normal
|
|
\emph off
|
|
\bar no
|
|
\noun off
|
|
other than those descibed below will produce arabic numerals.
|
|
It would not be surprising to see this change in the future.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
arabic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
: 1, 2, 3,\SpecialChar \ldots{}
|
|
;
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
alph
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
for lower-case letters: a, b, c, \SpecialChar \ldots{}
|
|
;
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Alph
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
for upper-case letters: A, B, C, \SpecialChar \ldots{}
|
|
;
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
roman
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
for lower-case roman numerals: i, ii, iii, \SpecialChar \ldots{}
|
|
;
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Roman
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
for upper-case roman numerals: I, II, III\SpecialChar \ldots{}
|
|
;
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
hebrew
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
for hebrew numerals.
|
|
\end_layout
|
|
|
|
\end_deeper
|
|
\begin_layout Standard
|
|
If LabelString is not defined, a default value is constructed as follows:
|
|
if the counter has a master counter
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
master
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(defined via
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Within
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
), the string
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
themaster.
|
|
\backslash
|
|
arabic{counter}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is used; otherwise the string
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
arabic{counter}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is used.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelStringAppendix [string=""]
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Same as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LabelString
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Name
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
] The name of the counter.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Within
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
=
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
] If this is set to the name of another counter, the present counter will
|
|
be reset everytime the other one is increased.
|
|
For example,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
subsection
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is numbered inside
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
section
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Font description
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:fonts"
|
|
|
|
\end_inset
|
|
|
|
A font description looks like this:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Font
|
|
\family roman
|
|
\emph on
|
|
or
|
|
\family default
|
|
\emph default
|
|
LabelFont
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
...
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
EndFont
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The following commands are available:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Color
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
none
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
black
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
white
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
red
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
green
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
blue
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
cyan
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
magenta
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
yellow
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Family
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\emph on
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
Roman
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph default
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Sans
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Typewriter
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Misc
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
string
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
] Valid argument sare:
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
emph
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
noun
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
underbar
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
no_emph
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
no_noun
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
no_bar
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Each of these turns on or off the corresponding attribute.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Series
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\emph on
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
Medium
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph default
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Bold
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Shape
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\emph on
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
Up
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph default
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Italic
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
SmallCaps
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Slanted
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Size
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
[
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
tiny
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
small
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\emph on
|
|
normal
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
large
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
larger
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
largest
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
huge
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
,
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
giant
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
]
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Upgrading old layout files
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The file format of layout files changes from time to time, so old layout
|
|
files need to be converted.
|
|
This process has been automated since LyX 1.4.0: If LyX reads an old format
|
|
layout file it will call the conversion tool
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir/scripts/layout2layout.py
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and convert it to a temporary file in current format.
|
|
The original file is left untouched.
|
|
If you want to convert the layout file permanently, just call the converter
|
|
by hand:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
python $LyXDir/scripts/layout2layout.py myclass.layout myclassnew.layout
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
(You need to replace
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$LyXDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
with the name of your LyX system directory, unless you happen to have defined
|
|
such an environment variable.) Then copy
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
myclassnew.layout
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/layouts/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The automatic conversion only handles syntax changes.
|
|
It cannot handle the case where the contents of included files was changed,
|
|
so these will have to be converted separately.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Creating Templates
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:templates"
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Templates are created just like usual documents.
|
|
The only difference is that usual documents contain all possible settings,
|
|
including the font scheme and the paper size.
|
|
Usually a user doesn't want a template to overwrite his defaults in these
|
|
cases.
|
|
For that reason, the designer of a template should remove the corresponding
|
|
commands like
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
fontscheme
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
papersize
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
from the template LyX file.
|
|
This can be done with any simple text-editor, for example
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
vi
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
xedit
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Put the edited template files you create in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/templates/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
, copy the ones you use from the global template directory in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir/templates/
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
to the same place, and redefine the template path in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\family sans
|
|
\bar default
|
|
ools
|
|
\family default
|
|
\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
references\SpecialChar \menuseparator
|
|
Paths
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Note that there is a template which has a particular meaning:
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
defaults.lyx
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This template is loaded everytime you create a new document with
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
F
|
|
\bar default
|
|
ile
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
\SpecialChar \menuseparator
|
|
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
N
|
|
\bar default
|
|
ew
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in order to provide useful defaults.
|
|
To create this template from inside LyX, all you have to do is to open
|
|
a document with the correct settings, and use the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Sa
|
|
\bar under
|
|
v
|
|
\bar default
|
|
e as Document Defaults
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
button.
|
|
\end_layout
|
|
|
|
\begin_layout Chapter
|
|
Including External Material
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The use of material from sources external to LyX is covered in detail in
|
|
the
|
|
\emph on
|
|
Embedded Objects
|
|
\emph default
|
|
manual.
|
|
This part of the manual covers what needs to happen behind the scenes for
|
|
new sorts of material to be included.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
How does it work?
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The external material feature is based on the concept of a
|
|
\emph on
|
|
template
|
|
\emph default
|
|
.
|
|
A template is a specification of how LyX should interface with a certain
|
|
kind of material.
|
|
As bundled, LyX comes with predefined templates for Xfig figures, various
|
|
raster format images, chess diagrams, and LilyPond music notation.
|
|
You can check the actual list by using the menu
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Insert\SpecialChar \menuseparator
|
|
File\SpecialChar \menuseparator
|
|
External Material
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
Furthermore, it is possible to roll your own template to support a specific
|
|
kind of material.
|
|
Later we'll describe in more detail what is involved, and hopefully you
|
|
will submit all the templates you create so we can include them in a later
|
|
LyX version.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Another basic idea of the external material feature is to distinguish between
|
|
the original file that serves as a base for final material and the produced
|
|
file that is included in your exported or printed document.
|
|
For example, consider the case of a figure produced with
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Xfig
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The Xfig application itself works on an original file with the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.fig
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
extension.
|
|
Within XFig, you create and change your figure, and when you are done,
|
|
you save the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
fig
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-file.
|
|
When you want to include the figure in your document, you invoke
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
transfig
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in order to create a PostScript file that can readily be included in your
|
|
LaTeX file.
|
|
In this case, the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.fig
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file is the original file, and the PostScript file is the produced file.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This distinction is important in order to allow updating of the material
|
|
while you are in the process of writing the document.
|
|
Furthermore, it provides us with the flexibility that is needed to support
|
|
multiple export formats.
|
|
For instance, in the case of a plain text file, it is not exactly an award-winn
|
|
ing idea to include the figure as raw PostScript®.
|
|
Instead, you'd either prefer to just include a reference to the figure
|
|
or try to invoke some graphics to Ascii converter to make the final result
|
|
look similar to the real graphics.
|
|
The external material management allows you to do this, because it is parameter
|
|
ized on the different export formats that LyX supports.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Besides supporting the production of different products according to the
|
|
exported format, it supports tight integration with editing and viewing
|
|
applications.
|
|
In the case of an XFig figure, you are able to invoke Xfig on the original
|
|
file with a single click from within the external material dialog in LyX,
|
|
and also preview the produced PostScript file with ghostview with another
|
|
click.
|
|
No more fiddling around with the command line and/or file browsers to locate
|
|
and manipulate the original or produced files.
|
|
In this way, you are finally able to take full advantage of the many different
|
|
applications that are relevant to use when you write your documents, and
|
|
ultimately be more productive.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
The external template configuration file
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
It is relatively easy to add custom external template definitions to LyX.
|
|
However, be aware that doing this in an careless manner most probably
|
|
\emph on
|
|
will
|
|
\emph default
|
|
introduce an easily exploitable security hole.
|
|
So before you do this, please read the discussion about security in section
|
|
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sec:Security-discussion"
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Having said that, we encourage you to submit any interesting templates that
|
|
you create.
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The external templates are defined in the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
LyXDir/lib/external_templates
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
file.
|
|
You can place your own version in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir/external_templates
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
A typical template looks like this:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Template XFig
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
GuiName "XFig: $$AbsOrRelPathParent$$Basename"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
HelpText
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
An XFig figure.
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
HelpTextEnd
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
InputFormat fig
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
FileFilter "*.fig"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
AutomaticProduction true
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Transform Rotate
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Transform Resize
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Format LaTeX
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
TransformCommand Rotate RotationLatexCommand
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
TransformCommand Resize ResizeLatexCommand
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Product "$$RotateFront$$ResizeFront
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
|
|
\backslash
|
|
input{$$AbsOrRelPathMaster$$Basename.pstex_t}
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
$$ResizeBack$$RotateBack"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
UpdateFormat pstex
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
UpdateResult "$$AbsPath$$Basename.pstex_t"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Requirement "graphicx"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
ReferencedFile latex "$$AbsPath$$Basename.eps"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
ReferencedFile dvi "$$AbsPath$$Basename.eps"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
FormatEnd
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Format PDFLaTeX
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
TransformCommand Rotate RotationLatexCommand
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
TransformCommand Resize ResizeLatexCommand
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Product "$$RotateFront$$ResizeFront
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
|
|
\backslash
|
|
|
|
\backslash
|
|
input{$$AbsOrRelPathMaster$$Basename.pdftex_t}
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
$$ResizeBack$$RotateBack"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
UpdateFormat pdftex
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
UpdateResult "$$AbsPath$$Basename.pdftex_t"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Requirement "graphicx"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pdftex_t"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
ReferencedFile latex "$$AbsPath$$Basename.pdf"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
FormatEnd
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Format Ascii
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Product "$$Contents(
|
|
\backslash
|
|
"$$AbsPath$$Basename.asc
|
|
\backslash
|
|
")"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
UpdateFormat asciixfig
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
UpdateResult "$$AbsPath$$Basename.asc"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
FormatEnd
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Format DocBook
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Product "<graphic fileref=
|
|
\backslash
|
|
"$$AbsOrRelPathMaster$$Basename.eps
|
|
\backslash
|
|
">
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
</graphic>"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
UpdateFormat eps
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
UpdateResult "$$AbsPath$$Basename.eps"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
ReferencedFile docbook "$$AbsPath$$Basename.eps"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
FormatEnd
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
Product "[XFig: $$FName]"
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
FormatEnd
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
TemplateEnd
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
As you can see, the template is enclosed in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Template
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
\SpecialChar \ldots{}
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TemplateEnd
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
It contains a header specifying some general settings and, for each supported
|
|
primary document file format, a section
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
\SpecialChar \ldots{}
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
FormatEnd
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
The template header
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
AutomaticProduction
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
true|false
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
Whether the file represented by the template must be generated by LyX.
|
|
This command must occur exactly once.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
FileFilter
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<pattern>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
A glob pattern that is used in the file dialog to filter out the desired
|
|
files.
|
|
If there is more than one possible file extension (e.g.
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
tgif has
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.obj
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.tgo
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
), use something like
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
"*.{obj,tgo}"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This command must occur exactly once.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
GuiName
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<guiname>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The text that is displayed on the button.
|
|
This command must occur exactly once.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
HelpText
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<text>
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
HelpTextEnd
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The help text that is used in the External dialog.
|
|
Provide enough information to explain to the user just what the template
|
|
can provide him with.
|
|
This command must occur exactly once.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
InputFormat
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<format>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The file format of the original file.
|
|
This must be the name of a format that is known to LyX (see section
|
|
\begin_inset CommandInset ref
|
|
LatexCommand ref
|
|
reference "sub:Formats"
|
|
|
|
\end_inset
|
|
|
|
).
|
|
Use
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
*
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
if the template can handle original files of more than one format.
|
|
LyX will attempt to interrogate the file itself in order to deduce its
|
|
format in this case.
|
|
This command must occur exactly once.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Template
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<id>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
A unique name for the template.
|
|
It must not contain substitution macros (see below).
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Transform
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Rotate|Resize|Clip|Extra
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command specifies which transformations are supported by this template.
|
|
It may occur zero or more times.
|
|
This command enables the corresponding tabs in the external dialog.
|
|
Each
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Transform
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
command must have either a corresponding
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformCommand
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
or a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformOption
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
command in the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
section.
|
|
Otherwise the transformation will not be supported by that format.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
The Format section
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Format
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
LaTeX|PDFLaTeX|PlainText|DocBook
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The primary document file format that this format definition is for.
|
|
Not every template has a sensible representation in all document file formats.
|
|
Please define nevertheless a
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
section for all formats.
|
|
Use a dummy text when no representation is available.
|
|
Then you can at least see a reference to the external material in the exported
|
|
document.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Option
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<name>
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<value>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command defines an additional macro
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$<name>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
for substitution in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Product
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
<value>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
itself may contain substitution macros.
|
|
The advantage over using
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
<value>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
directly in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Product
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is that the substituted value of
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$<name>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
is sanitized so that it is a valid optional argument in the document format.
|
|
This command may occur zero or more times.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Product
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<text>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The text that is inserted in the exported document.
|
|
This is actually the most important command and can be quite complex.
|
|
This command must occur exactly once.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Preamble
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<name>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command specifies a preamble snippet that will be included in the
|
|
LaTeX preamble.
|
|
It has to be defined using
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
PreambleDef
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
\SpecialChar \ldots{}
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
PreambleDefEnd
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
This command may occur zero or more times.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ReferencedFile
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<format>
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<filename>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command denotes files that are created by the conversion process and
|
|
are needed for a particular export format.
|
|
If the filename is relative, it is interpreted relative to the master document.
|
|
This command may be given zero or more times.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Requirement
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<package>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The name of a required LaTeX package.
|
|
The package is included via
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\backslash
|
|
usepackage{}
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in the LaTeX preamble.
|
|
This command may occur zero or more times.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformCommand
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Rotate
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
RotationLatexCommand
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command specifies that the built in LaTeX command should be used for
|
|
rotation.
|
|
This command may occur once or not at all.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformCommand
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Resize
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
ResizeLatexCommand
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command specifies that the built in LaTeX command should be used for
|
|
resizing.
|
|
This command may occur once or not at all.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformOption
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Rotate
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
RotationLatexOption
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command specifies that rotation is done via an optional argument.
|
|
This command may occur once or not at all.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformOption
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Resize
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
ResizeLatexOption
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command specifies that resizing is done via an optional argument.
|
|
This command may occur once or not at all.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformOption
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Clip
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
ClipLatexOption
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command specifies that clipping is done via an optional argument.
|
|
This command may occur once or not at all.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformOption
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
Extra
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
ExtraLatexOption
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This command specifies that an extra optional argument is used.
|
|
This command may occur once or not at all.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UpdateFormat
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<format>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The file format of the converted file.
|
|
This must be the name of a format that is known to LyX (see the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
references:Conversion
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog).
|
|
This command must occur exactly once.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UpdateResult
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
<filename>
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The file name of the converted file.
|
|
The file name must be absolute.
|
|
This command must occur exactly once.
|
|
\end_layout
|
|
|
|
\begin_layout Subsection
|
|
Preamble definitions
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The external template configuration file may contain additional preamble
|
|
definitions enclosed by
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
PreambleDef
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
\SpecialChar \ldots{}
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
PreambleDefEnd
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
They can be used by the templates in the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Format
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
section.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
The substitution mechanism
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
When the external material facility invokes an external program, it is done
|
|
on the basis of a command defined in the template configuration file.
|
|
These commands can contain various macros that are expanded before execution.
|
|
Execution always take place in the directory of the containing document.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Also, whenever external material is to be displayed, the name will be produced
|
|
by the substitution mechanism, and most other commands in the template
|
|
definition support substitution as well.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The available macros are the following:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$AbsOrRelPathMaster
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The file path, absolute or relative to the master LyX document.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$AbsOrRelPathParent
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The file path, absolute or relative to the LyX document.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$AbsPath
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The absolute file path.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$Basename
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The filename without path and without the extension.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$Contents(
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
filename.ext
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
)
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This macro will expand to the contents of the file with the name
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
filename.ext
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$Extension
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The file extension (including the dot).
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$FName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The filename of the file specified in the external material dialog.
|
|
This is either an absolute name, or it is relative to the LyX document.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$FPath
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The path part of
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$FName
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
(absolute name or relative to the LyX document).
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$RelPathMaster
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The file path, relative to the master LyX document.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$RelPathParent
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The file path, relative to the LyX document.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$Sysdir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
This macro will expand to the absolute path of the system directory.
|
|
This is typically used to point to the various helper scripts that are
|
|
bundled with LyX.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$Tempname
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
A name and full path to a temporary file which will be automatically deleted
|
|
whenever the containing document is closed, or the external material insertion
|
|
deleted.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
All path macros contain a trailing directory separator, so you can construct
|
|
e.g.
|
|
the absolute filename with
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$AbsPath$$Basename$$Extension
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The macros above are substituted in all commands unless otherwise noted.
|
|
The command
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Product
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
supports additionally the following substitutions if they are enabled by
|
|
the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Transform
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformCommand
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
commands:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$ResizeFront
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The front part of the resize command.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$ResizeBack
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The back part of the resize command.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$RotateFront
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The front part of the rotation command.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$RotateBack
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The back part of the rotation command.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The value string of the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Option
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
command supports additionally the following substitutions if they are enabled
|
|
by the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
Transform
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
TransformOption
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
commands:
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$Clip
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The clip option.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$Extra
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The extra option.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$Resize
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The resize option.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$Rotate
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The rotation option.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
You may ask why there are so many path macros.
|
|
There are mainly two reasons:
|
|
\end_layout
|
|
|
|
\begin_layout Enumerate
|
|
Relative and absolute file names should remain relative or absolute, respectivel
|
|
y.
|
|
Users may have reasons to prefer either form.
|
|
Relative names are useful for portable documents that should work on different
|
|
machines, for example.
|
|
Absolute names may be required by some programs.
|
|
\end_layout
|
|
|
|
\begin_layout Enumerate
|
|
LaTeX treats relative file names differently than LyX and other programs
|
|
in nested included files.
|
|
For LyX, a relative file name is always relative to the document that contains
|
|
the file name.
|
|
For LaTeX, it is always relative to the master document.
|
|
These two definitions are identical if you have only one document, but
|
|
differ if you have a master document that includes part documents.
|
|
That means that relative filenames must be transformed when presented to
|
|
LaTeX.
|
|
Fortunately LyX does this automatically for you if you choose the right
|
|
macros.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
So which path macro should be used in new template definitions? The rule
|
|
is not difficult:
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Use
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$AbsPath
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
if an absolute path is required.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Use
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$AbsOrRelPathMaster
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
if the substituted string is some kind of LaTeX input.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Else use
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
$$AbsOrRelPathParent
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in order to preserve the user's choice.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
There are special cases where this rule does not work and e.g.
|
|
\begin_inset Space ~
|
|
\end_inset
|
|
|
|
relative names are needed, but normally it will work just fine.
|
|
One example for such a case is the command
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.pstex_t"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
in the XFig template above: We can't use the absolute name because the
|
|
copier for
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.pstex_t
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
files needs the relative name in order to rewrite the file content.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
\begin_inset CommandInset label
|
|
LatexCommand label
|
|
name "sec:Security-discussion"
|
|
|
|
\end_inset
|
|
|
|
Security discussion
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
\begin_inset Note Note
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
This section is outdated
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
The external material feature interfaces with a lot of external programs
|
|
and does so automatically, so we have to consider the security implications
|
|
of this.
|
|
In particular, since you have the option of including your own filenames
|
|
and/or parameter strings and those are expanded into a command, it seems
|
|
that it would be possible to create a malicious document which executes
|
|
arbitrary commands when a user views or prints the document.
|
|
This is something we definately want to avoid.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
However, since the external program commands are specified in the template
|
|
configuration file only, there are no security issues if LyX is properly
|
|
configured with safe templates only.
|
|
This is so because the external programs are invoked with the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
execvp
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
-system call rather than the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
system
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
system-call, so it's not possible to execute arbitrary commands from the
|
|
filename or parameter section via the shell.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This also implies that you are restricted in what command strings you can
|
|
use in the external material templates.
|
|
In particular, pipes and redirection are not readily available.
|
|
This has to be so if LyX should remain safe.
|
|
If you want to use some of the shell features, you should write a safe
|
|
script to do this in a controlled manner, and then invoke the script from
|
|
the command string.
|
|
In the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
lib/scripts
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
directory of the LyX installation, you can find a safe wrapper script
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
general_command_wrapper.py
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
that supports redirection of input and output.
|
|
That can serve as an example for how to write safe template scripts.
|
|
For a more advanced example that uses
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
fork
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and friends, take a look at the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
pic2ascii.py
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
converter script.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
It is possible to design a template that interacts directly with the shell,
|
|
but since this would allow a malicious user to execute arbitrary commands
|
|
by writing clever filenames and/or parameters, we generally recommend that
|
|
you only use safe scripts that work with the
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
execvp
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
system call in a controlled manner.
|
|
Of course, for use in a controlled environment, it can be tempting to just
|
|
fall back to use ordinary shell scripts.
|
|
If you do so, be aware that you
|
|
\emph on
|
|
will
|
|
\emph default
|
|
provide an easily exploitable security hole in your system.
|
|
Of course it stands to reason that such unsafe templates will never be
|
|
included in the standard LyX distribution, although we do encourage people
|
|
to submit new templates in the open source tradition.
|
|
But LyX as shipped from the official distribution channels will never have
|
|
unsafe templates.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Including external material provides a lot of power, and you have to be
|
|
careful not to introduce security hazards with this power.
|
|
A subtle error in a single line in an innocent looking script can open
|
|
the door to huge security problems.
|
|
So if you do not fully understand the issues, we recommend that you consult
|
|
a knowledgable security professional or the LyX development team if you
|
|
have any questions about whether a given template is safe or not.
|
|
And do this before you use it in an uncontrolled environment.
|
|
\end_layout
|
|
|
|
\begin_layout Chapter
|
|
The LyX Server
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Introduction
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The LyX server is a method implemented in LyX that will enable other programs
|
|
to talk to LyX, invoke LyX commands, and retrieve information about the
|
|
LyX internal state.
|
|
This is only intended for advanced users, but they should find it useful.
|
|
Please note that, at present,
|
|
\emph on
|
|
the server does not work on Windows
|
|
\emph default
|
|
.
|
|
\begin_inset Foot
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
There is no principled reason it cannot do so.
|
|
But none of the developers on Windows® have yet implemented this functionality
|
|
there.
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Starting the LyX Server
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The LyX server works through the use of a pair of named pipes.
|
|
These are usually located in
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
UserDir
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and have the names
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.lyxpipe.in
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
and
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.lyxpipe.out
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
External programs write into
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.lyxpipe.in
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
and read back data from
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.lyxpipe.out
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
The stem of the pipe names can be defined in the
|
|
\begin_inset Flex CharStyle:MenuItem
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
|
|
\bar under
|
|
T
|
|
\bar default
|
|
ools\SpecialChar \menuseparator
|
|
|
|
\bar under
|
|
P
|
|
\bar default
|
|
references
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
dialog, for example
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
"/home/myhome/.lyxpipe"
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
LyX will add the '
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.in
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
' and '
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
.out
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
' to create the pipes.
|
|
The above setting also has the effect of activating the LyX server.
|
|
If one of the pipes already exists, LyX will assume that another LyX process
|
|
is already running and will not start the server.
|
|
To have several LyX processes with servers at the same time, you have to
|
|
change the configuration between the start of the programs.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
If you are developing a client program, you might find it useful to enable
|
|
debugging information from the LyX server.
|
|
Do this by starting LyX as lyx -dbg lyxserver.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Warning: if LyX crashes, it may not manage to remove the pipes; in this
|
|
case you must remove them manually.
|
|
If LyX starts and the pipes exist already, it will not start any server.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Other than this, there are a few points to consider:
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
Both server and clients must run on UNIX or OS/2 machines.
|
|
Communications between LyX on UNIX and clients on OS/2 or vice versa is
|
|
not possible right now.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
On OS/2, only one client can connect to LyXServer at a time.
|
|
\end_layout
|
|
|
|
\begin_layout Itemize
|
|
On OS/2, clients must open inpipe with
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
O_WRONLY
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
mode.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
You can find a complete example client written in C in the source distribution
|
|
as
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
development/lyxserver/server_monitor.c
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Normal communication
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
To issue a LyX call, the client writes a line of ASCII text into the input
|
|
pipe.
|
|
This line has the following format:
|
|
\end_layout
|
|
|
|
\begin_layout Quote
|
|
LYXCMD:
|
|
\emph on
|
|
clientname
|
|
\emph default
|
|
:
|
|
\emph on
|
|
function
|
|
\emph default
|
|
:
|
|
\emph on
|
|
argument
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
|
|
\emph on
|
|
clientname
|
|
\emph default
|
|
is a name that the client can choose arbitrarily.
|
|
Its only use is that LyX will echo it if it sends an answer---so a client
|
|
can dispatch results from different requesters.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
|
|
\emph on
|
|
function
|
|
\emph default
|
|
is the function you want LyX to perform.
|
|
It is the same as the commands you'd use in the minibuffer.
|
|
\end_layout
|
|
|
|
\begin_layout Description
|
|
|
|
\emph on
|
|
argument
|
|
\emph default
|
|
is an optional argument which is meaningful only to some functions (for
|
|
instance
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
self-insert
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
which will insert the argument as text at the cursor position.)
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
The answer from LyX will arrive in the output pipe and be of the form
|
|
\end_layout
|
|
|
|
\begin_layout Quote
|
|
INFO:
|
|
\emph on
|
|
clientname
|
|
\emph default
|
|
:
|
|
\emph on
|
|
function
|
|
\emph default
|
|
:
|
|
\emph on
|
|
data
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
where
|
|
\emph on
|
|
clientname
|
|
\emph default
|
|
and
|
|
\emph on
|
|
function
|
|
\emph default
|
|
are just echoed from the command request, while
|
|
\emph on
|
|
data
|
|
\emph default
|
|
is more or less useful information filled according to how the command
|
|
execution worked out.
|
|
Some commands will return information about the internal state of LyX,
|
|
such as
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
font-state
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
, while other will return an empty data-response.
|
|
This means that the command execution went fine.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
In case of errors, the response from LyX will have this form
|
|
\end_layout
|
|
|
|
\begin_layout Quote
|
|
ERROR:
|
|
\emph on
|
|
clientname
|
|
\emph default
|
|
:
|
|
\emph on
|
|
function
|
|
\emph default
|
|
:
|
|
\emph on
|
|
error message
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
where the
|
|
\emph on
|
|
error message
|
|
\emph default
|
|
should contain an explanation of why the command failed.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
Examples:
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
|
|
\end_layout
|
|
|
|
\begin_layout LyX-Code
|
|
echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
|
|
\newline
|
|
read a <~/.lyxpipe.out
|
|
\newline
|
|
echo $a
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
Notification
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
LyX can notify clients of events going on asynchronously.
|
|
Currently it will only do this if the user binds a key sequence with the
|
|
function
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
notify
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
The format of the string LyX sends is as follows:
|
|
\end_layout
|
|
|
|
\begin_layout Quote
|
|
\begin_inset Flex CharStyle:Code
|
|
status collapsed
|
|
|
|
\begin_layout PlainLayout
|
|
NOTIFY:
|
|
\end_layout
|
|
|
|
\end_inset
|
|
|
|
|
|
\emph on
|
|
key-sequence
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
where
|
|
\emph on
|
|
key-sequence
|
|
\emph default
|
|
is the printed representation of the key sequence that was actually typed
|
|
by the user.
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
This mechanism can be used to extend LyX's command set and implement macros:
|
|
bind some key sequence to
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
notify
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
, start a client that listens on the out pipe, dispatches the command according
|
|
to the sequence and starts a function that may use LyX calls and LyX requests
|
|
to issue a command or a series of commands to LyX.
|
|
\end_layout
|
|
|
|
\begin_layout Section
|
|
The simple LyX Server Protocol
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
LyX implements a simple protocol that can be used for session management.
|
|
All messages are of the form
|
|
\end_layout
|
|
|
|
\begin_layout Quote
|
|
LYXSRV:
|
|
\emph on
|
|
clientname
|
|
\emph default
|
|
:
|
|
\emph on
|
|
protocol message
|
|
\end_layout
|
|
|
|
\begin_layout Standard
|
|
where
|
|
\emph on
|
|
protocol message
|
|
\emph default
|
|
can be
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
hello
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
or
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
bye
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
.
|
|
If
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
hello
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
is received from a client, LyX will report back to inform the client that
|
|
it's listening to it's messages, while
|
|
\begin_inset Quotes eld
|
|
\end_inset
|
|
|
|
bye
|
|
\begin_inset Quotes erd
|
|
\end_inset
|
|
|
|
sent from LyX will inform clients that LyX is closing.
|
|
\end_layout
|
|
|
|
\end_body
|
|
\end_document
|