lyx_mirror/lib/doc/Additional.lyx
Uwe Stöhr d0b6ed1a1a Additional.lyx: remove some unused references to squash LaTeX warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39724 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-21 22:37:24 +00:00

23873 lines
408 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#LyX 2.1 created this file. For more info see http://www.lyx.org/
\lyxformat 416
\begin_document
\begin_header
\textclass scrbook
\begin_preamble
% DO NOT ALTER THIS PREAMBLE!!!
%
% This preamble is designed to ensure that the manual prints
% out as advertised. If you mess with this preamble,
% parts of the manual may not print out as expected. If you
% have problems LaTeXing this file, please contact
% the documentation team
% email: lyx-docs@lists.lyx.org
% if pdflatex is used
\usepackage{ifpdf}
\ifpdf
% set fonts for nicer pdf view
\IfFileExists{lmodern.sty}
{\usepackage{lmodern}}{}
\fi % end if pdflatex is used
% 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]{\contentsname}{}
\myTOC
\cleardoublepage
\pagenumbering{arabic}}
% used for multi-column text
\usepackage{multicol}
% extra space for tables
\newcommand{\extratablespace}[1]{\noalign{\vskip#1}}
\end_preamble
\options fleqn,bibliography=totoc,index=totoc,BCOR7.5mm,titlepage,captions=tableheading
\use_default_options false
\begin_modules
logicalmkup
theorems-ams
theorems-ams-extended
multicol
\end_modules
\maintain_unincluded_children false
\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
\language_package default
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize 12
\spacing single
\use_hyperref true
\pdf_title "LyX's Additional Features manual"
\pdf_author "LyX Team"
\pdf_subject "LyX's additional features documentation"
\pdf_keywords "LyX, Documentation, Additional"
\pdf_bookmarks true
\pdf_bookmarksnumbered true
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder false
\pdf_colorlinks true
\pdf_backref false
\pdf_pdfusetitle false
\pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue, pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
\papersize default
\use_geometry false
\use_amsmath 1
\use_esint 0
\use_mhchem 1
\use_mathdots 1
\use_undertilde 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\use_refstyle 0
\notefontcolor #0000ff
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 2
\paperpagestyle headings
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict true
\end_header
\begin_body
\begin_layout Title
Additional LyX Features
\end_layout
\begin_layout Subtitle
Version 2.0.x
\end_layout
\begin_layout Author
by the LyX Team
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\noindent
Principal maintainer of this file is
\noun on
Richard Heck
\noun default
.
If you have comments or error corrections, please send them to the LyX
Documentation mailing list,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\noindent
<lyx-docs@lists.lyx.org>
\end_layout
\end_inset
.
\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 is essentially Part II of the
\emph on
User's Guide\SpecialChar \@.
\emph default
The reason for separating this document out is simple: the
\emph on
User's Guide
\emph default
is already quite lengthy, and it contains information on all of the basic
features one needs to know in order to prepare most documents.
However, the LyX Team has worked to make LyX extensible through various
configuration files and external packages.
That means that if you want to support the Fizzwizzle LaTeX package, you
can create a layout file (or module) for it without having to alter LyX
itself.
We've already had contributions of several new features this way, and some
of them are documented here.
There are also some more `advanced' features, such as how to control the
presentation of bibliographies and how to work with multi-part documents,
that are not covered in the
\emph on
User's Guide
\emph default
and are discussed here.
\end_layout
\begin_layout Standard
This manual also documents some special features, like fax support, version
control, and SGML support, which require additional software to work properly.
There is also a chapter on LyX's support for HTML.
And lastly, there's a chapter of LaTeX tools and tips, things you can use
to spruce up your documents by directly using the powerful features of
LaTeX.
After all, LyX
\emph on
is
\emph default
only WYSIWYM and will only ever interface to some, not all, LaTeX features.
\end_layout
\begin_layout Standard
If you haven't read the
\emph on
Introduction
\emph default
yet, you are definitely in the wrong manual.
The
\emph on
Introduction
\emph default
is the first place to go, since it describes the notation and format of
all of the manuals.
You should also be thoroughly familiar with the
\emph on
User's Guide
\emph default
and all of the basic features of LyX before attempting to read this one.
\end_layout
\begin_layout Standard
Since many of the topics in this manual depend heavily on LyX's interaction
with LaTeX, this first chapter covers the inner workings of LyX and how
to direct LyX to generate exactly the LaTeX code you want.
It is obviously for more seasoned LyX users.
\end_layout
\begin_layout Chapter
LyX and LaTeX
\end_layout
\begin_layout Section
How LyX Uses LaTeX
\end_layout
\begin_layout Standard
This chapter is for both TeX-nicians and the LaTeX-curious.
In it, we'll explain how LyX and LaTeX work together to produce printable
output.
This is the only place in any of the manuals where we assume you know something
about LaTeX.
\end_layout
\begin_layout Standard
At one time, LyX was called a
\begin_inset Quotes eld
\end_inset
WYSIWYM frontend to LaTeX,
\begin_inset Quotes erd
\end_inset
but that's no longer true.
There are frontends to LaTeX out there.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Some familar ones are TeXmaker and kile, on Linux, and TeXshop, OSX.
There are also the LaTeX modes for vi and emacs, of course.
\end_layout
\end_inset
These are basically text editors with the ability to run LaTeX and mark
any errors in the file you're editing.
Although LyX
\emph on
is
\emph default
an editor, and it
\emph on
does
\emph default
run LaTeX, and it also indicates errors in the file, it also does much,
much more.
For one thing, you don't need to know LaTeX to use LyX effectively.
And LyX has added its own extensions to LaTeX.
Try the following sometime: select
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Export\SpecialChar \menuseparator
LaTeX
\end_layout
\end_inset
from the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
File
\end_layout
\end_inset
menu (or
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
View\SpecialChar \menuseparator
Source
\end_layout
\end_inset
), then look at the preamble of the resulting
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
file.
You'll notice a variety of new macros defined specifically by LyX.
These macros are defined automatically, according to the features you use
in the document.
\end_layout
\begin_layout Standard
There are several commands that automatically invoke LaTeX.
They are:
\end_layout
\begin_layout Itemize
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
View\SpecialChar \menuseparator
View
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
View\SpecialChar \menuseparator
Update
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
File\SpecialChar \menuseparator
Print
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
File\SpecialChar \menuseparator
Fax
\end_layout
\end_inset
\end_layout
\begin_layout Standard
They will only invoke LaTeX if the file has changed since the last time
LaTeX was run.
\end_layout
\begin_layout Standard
When LyX runs LaTeX on the file you're editing, it performs these steps:
\end_layout
\begin_layout Enumerate
Convert the document to LaTeX and save to a file with the extension
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
in place of
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.lyx
\end_layout
\end_inset
.
\end_layout
\begin_layout Enumerate
Run LaTeX on the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
file (maybe several times), and run any other commands (such as
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
bibtex
\end_layout
\end_inset
or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
makeindex
\end_layout
\end_inset
) needed to compile the LaTeX file.
\end_layout
\begin_layout Enumerate
If there are any errors, show the error log.
\end_layout
\begin_layout Standard
If you have run LaTeX using
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
View
\bar under
\SpecialChar \menuseparator
\bar default
DVI
\end_layout
\end_inset
, LyX then runs a DVI viewer to display the DVI-file.
If you have used
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
View
\bar under
\SpecialChar \menuseparator
\bar default
PostScript
\end_layout
\end_inset
, LyX performs further steps:
\end_layout
\begin_layout Itemize
Run
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
dvips
\end_layout
\end_inset
to convert the DVI file to PostScript.
\end_layout
\begin_layout Itemize
Run a PostScript viewer, such as
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
ghostview
\end_layout
\end_inset
, to display the PostScript file.
\end_layout
\begin_layout Standard
LyX does similar things when viewing, or exporting, other formats.
\end_layout
\begin_layout Section
Translating LaTeX files into LyX
\end_layout
\begin_layout Standard
You can import a LaTeX file into LyX by using the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
File\SpecialChar \menuseparator
Import\SpecialChar \menuseparator
LaTeX
\end_layout
\end_inset
command in LyX.
This will call a program named
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tex2lyx
\end_layout
\end_inset
which will create a file
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
foo.lyx
\end_layout
\end_inset
from the file
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
foo.tex
\end_layout
\end_inset
.
LyX will then open that file.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tex2lyx
\end_layout
\end_inset
can also be run from the command line, of course.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tex2lyx
\end_layout
\end_inset
will translate most legal LaTeX, but not everything.
It will put things it doesn't understand into TeX code, so after translating
a file with
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tex2lyx
\end_layout
\end_inset
, you can look for TeX code and hand-edit it until it looks right.
\end_layout
\begin_layout Standard
If you don't know what TeX code is, read the next section.
\end_layout
\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "sec:Inserting-TeX-Code"
\end_inset
Inserting TeX Code into LyX Documents
\end_layout
\begin_layout Standard
Anything you can do in LaTeX you can do in LyX, for a very simple reason:
You can always insert TeX code into any LyX document.
LyX cannot, and will never be able to, display every possible LaTeX construct.
If ever you need to insert LaTeX commands into your LyX document, you can
use the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
TeX Code
\end_layout
\end_inset
box, which you can insert into your document with
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Insert\SpecialChar \menuseparator
TeX Code
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Here's an example of inserting LaTeX commands in a LyX document.
The code looks like this:
\end_layout
\begin_layout LyX-Code
\backslash
begin{tabular}{ll}
\begin_inset Newline newline
\end_inset
\backslash
begin{minipage}{5cm}
\begin_inset Newline newline
\end_inset
This is an example for a minipage environment.
You
\begin_inset Newline newline
\end_inset
can put nearly everything in it, even (non-floating)
\begin_inset Newline newline
\end_inset
figures and tables.
\begin_inset Newline newline
\end_inset
\backslash
end{minipage}
\begin_inset Newline newline
\end_inset
&
\begin_inset Newline newline
\end_inset
\backslash
begin{minipage}{5cm}
\begin_inset Newline newline
\end_inset
\backslash
begin{verbatim}
\begin_inset Newline newline
\end_inset
\backslash
begin{minipage}{5cm}
\begin_inset Newline newline
\end_inset
This ...
\begin_inset Newline newline
\end_inset
\backslash
end{minipage}
\begin_inset Newline newline
\end_inset
\backslash
end{verbatim}
\begin_inset Newline newline
\end_inset
\backslash
end{minipage}
\begin_inset Newline newline
\end_inset
\backslash
end{tabular}
\end_layout
\begin_layout LyX-Code
\end_layout
\begin_layout Standard
The
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
TeX Code
\end_layout
\end_inset
box containing this text is directly after this paragraph.
Those of you reading the manual in LyX will only see the TeX code inset.
Those reading a printed version of the manuals will see the actual results:
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
begin{tabular}{ll}
\end_layout
\begin_layout Plain Layout
\backslash
begin{minipage}{5cm}
\end_layout
\begin_layout Plain Layout
This is an example for a minipage environment.
You can put nearly everything in it, even (non-floating) figures and tables.
\end_layout
\begin_layout Plain Layout
\backslash
end{minipage}
\end_layout
\begin_layout Plain Layout
&
\end_layout
\begin_layout Plain Layout
\backslash
begin{minipage}{5cm}
\end_layout
\begin_layout Plain Layout
\backslash
begin{verbatim}
\end_layout
\begin_layout Plain Layout
\backslash
begin{minipage}{5cm}
\end_layout
\begin_layout Plain Layout
This ...
\end_layout
\begin_layout Plain Layout
\backslash
end{minipage}
\end_layout
\begin_layout Plain Layout
\backslash
end{verbatim}
\end_layout
\begin_layout Plain Layout
\backslash
end{minipage}
\end_layout
\begin_layout Plain Layout
\backslash
end{tabular}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
In addition to using TeX code, you can also create a separate file containing
some complex LaTeX structure and then use
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Insert\SpecialChar \menuseparator
Child
\begin_inset space ~
\end_inset
Document
\end_layout
\end_inset
to include your file (you should select the type
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Input
\end_layout
\end_inset
).
We recommend that you only do this if you have a
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
file which you
\emph on
know
\emph default
works already.
Otherwise, you'll have a big job tracking down LaTeX errors.
\end_layout
\begin_layout Standard
There are a few last points to emphasize:
\end_layout
\begin_layout Itemize
LyX
\emph on
does not
\emph default
check if your LaTeX code is correct.
\end_layout
\begin_layout Itemize
Beware reinventing the wheel.
\end_layout
\begin_layout Standard
On that last point, LyX does have quite a few features tucked into it, and
more are coming.
Be sure to check the manuals to make sure that LyX doesn't have such-and-such
feature before you decide you have to do it by hand.
Moreover, there are numerous LaTeX packages out there to do all sorts of
things, from labels to envelopes to fancy multipage tables.
Check out
\begin_inset CommandInset href
LatexCommand href
name "CTAN"
target "http://www.ctan.org/"
\end_inset
for details.
\end_layout
\begin_layout Standard
If you do need to do some wild and fancy things within your document, be
sure to check out a good LaTeX book for assistance.
There are a number of them listed in the bibliography of the
\emph on
User's Guide
\emph default
.
\end_layout
\begin_layout Section
LyX and the LaTeX Preamble
\end_layout
\begin_layout Subsection
About the LaTeX Preamble
\end_layout
\begin_layout Standard
If you already know LaTeX, there is no need to explain here what the preamble
is good for.
If you don't, the following will give you some ideas—we recommend again
that you consult a LaTeX book for further information.
In any case, you should read the points below, because they explain what
you can do and what you don't need to do in the LaTeX preamble of a LyX
document.
\end_layout
\begin_layout Standard
The LaTeX preamble comes at the very beginning of a document,
\emph on
before
\emph default
the text.
It serves to:
\end_layout
\begin_layout Itemize
Declare the document class.
\begin_inset Newline newline
\end_inset
LyX already does this for you.
If you're a seasoned LaTeX-nician, and you have a custom document class
you want to use, check out the
\emph on
Customization Manual
\emph default
for information on how to make LyX interface to it.
\end_layout
\begin_layout Itemize
Declare the usage of packages.
\begin_inset Newline newline
\end_inset
LaTeX packages provide special commands, which are only available within
a document when the package has been declared in the preamble.
For example, the package
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
indentfirst
\end_layout
\end_inset
forces all paragraphs to be indented.
There are other packages for labels, envelopes, margins, etc.
\end_layout
\begin_layout Itemize
Set counters, variables, lengths and widths.
\begin_inset Newline newline
\end_inset
There are several LaTeX counters and variables which
\emph on
must
\emph default
be set globally from within the preamble in order to have the desired effect.
(There are variables which you can set and reset inside the document, too.)
Margins are a good example of something which must be set in the preamble.
Another example is the label format for lists.
You can actually set these just about anywhere, but it's best to do it
just once, inside the preamble.
\end_layout
\begin_layout Itemize
Declare user defined commands (with
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
newcommand
\end_layout
\end_inset
or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
renewcommand
\end_layout
\end_inset
).
\begin_inset Newline newline
\end_inset
These are abbreviations for LaTeX commands which appear very often inside
a document.
Although the preamble is a good place to declare such commands, they
\emph on
can
\emph default
be declared anywhere (before they are used for the first time, of course).
This can be useful if there is a lot of raw LaTeX code in your document,
which normally should not be the case.
\end_layout
\begin_layout Standard
LyX adds its own set of definitions to the preamble of the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
file it produces.
This makes LaTeX files generated by LyX portable.
\end_layout
\begin_layout Subsection
Changing the Preamble
\end_layout
\begin_layout Standard
The commands which LyX adds to the preamble of a LaTeX file are fixed; you
can't change them without patching LyX itself.
You can, however, add your own stuff to the preamble by selecting
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
LaTeX
\begin_inset space ~
\end_inset
Preamble
\end_layout
\end_inset
in the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document\SpecialChar \menuseparator
Settings
\end_layout
\end_inset
dialog.
LyX adds anything in the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Preamble
\end_layout
\end_inset
dialog to its own built-in preamble.
Before adding your own declarations in the preamble, you should make sure
that LyX doesn't already support what you want to do.
(Remember what we said about reinventing the wheel?) Also,
\emph on
make sure your preamble code is correct
\emph default
.
LyX doesn't check it for you.
If there is an error, you're likely to get an error like
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Missing
\backslash
begin{document}
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
If you see this error, check your preamble.
\end_layout
\begin_layout Subsection
Examples
\end_layout
\begin_layout Standard
Here are some examples of what you can add to a preamble, and what they
do.
\end_layout
\begin_layout Subsubsection
Example #1: Offsets
\end_layout
\begin_layout Standard
There are two variables under LaTeX that control page position:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
hoffset
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
voffset
\end_layout
\end_inset
.
Their names should be self-explanatory.
These variables are useful if you think for a moment about computer labels.
Sometimes, the size of a print medium and the area of the medium that you
can actually print on aren't the same.
This is where
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
hoffset
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
voffset
\end_layout
\end_inset
come in.
\end_layout
\begin_layout Standard
The default values for
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
hoffset
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
voffset
\end_layout
\end_inset
are both 0
\begin_inset space \thinspace{}
\end_inset
points, i.
\begin_inset space \thinspace{}
\end_inset
e.
\begin_inset space \space{}
\end_inset
the page isn't shifted.
Unfortunately, some DVI drivers always seem to shift the page.
We have no idea why, or why the sysadmin hasn't fixed such behavior.
If you're using LyX on a system that you don't personally maintain, and
your sysadmin is a doofus,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
hoffset
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
voffset
\end_layout
\end_inset
can save the day.
Suppose your left and top margins are always 0.5
\begin_inset space \thinspace{}
\end_inset
inches too big.
You can add this to the preamble:
\end_layout
\begin_layout LyX-Code
\backslash
setlength{
\backslash
hoffset}{-0.5 in}
\end_layout
\begin_layout LyX-Code
\backslash
setlength{
\backslash
voffset}{-0.5 in}
\end_layout
\begin_layout Standard
and your margins should now be correct.
\end_layout
\begin_layout Subsubsection
Example #2: Labels
\end_layout
\begin_layout Standard
Speaking of labels, suppose you wanted to print out a bunch of address labels.
There's a rather nice package, available at your nearest CTAN archive,
for printing sheets of labels:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
labels.sty
\end_layout
\end_inset
.
Now, your system may not have this package installed by default.
We leave that up to you to check.
You'll also want to read the documentation for it; we're not going to do
that for you.
Since this is an example, however, we'll give you an example of how you
use this package.
\end_layout
\begin_layout Standard
First, make sure you're using the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
article
\end_layout
\end_inset
document class.
Next, you need to put the following in your preamble:
\end_layout
\begin_layout LyX-Code
\backslash
usepackage{labels}
\end_layout
\begin_layout LyX-Code
\backslash
LabelCols=3
\end_layout
\begin_layout LyX-Code
\backslash
LabelRows=7
\end_layout
\begin_layout LyX-Code
\backslash
LeftBorder=8mm
\end_layout
\begin_layout LyX-Code
\backslash
RightBorder=8mm
\end_layout
\begin_layout LyX-Code
\backslash
TopBorder=9mm
\end_layout
\begin_layout LyX-Code
\backslash
BottomBorder=2mm
\end_layout
\begin_layout Standard
This sets things up for Avery label sheets, stock #5360.
You're now ready to print labels, but you'll need to insert LaTeX code,
placing the commands
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
begin{labels}
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
end{labels}
\end_layout
\end_inset
around each label text.
This and other special features of
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
labels.sty
\end_layout
\end_inset
are explained in its documentation.
\end_layout
\begin_layout Standard
Someday, someone may write a LyX layout file to support this package directly.
Maybe that someone is you.
\end_layout
\begin_layout Subsubsection
Example #3: Paragraph Indentation
\end_layout
\begin_layout Standard
Americans are trained to indent the first line of
\emph on
every
\emph default
paragraph.
As with all of their other weird quirks, most Americans will whine and
moan until they can have their way and indent the first line of all paragraphs.
(Yes, we're joking.
(We are?)
\emph on
Yeah
\emph default
, we are.)
\end_layout
\begin_layout Standard
Of course, this behavior isn't standard typography.
In books, you typically only indent the first line of a paragraph
\emph on
if
\emph default
it follows another one.
The idea behind indenting the first line of a paragraph is to distinguish
neighboring paragraphs from one another.
If there is no previous paragraph—for example, if it follows a figure or
is the first paragraph in a section—then there is no need for indentation.
\end_layout
\begin_layout Standard
If you're a typical American (we're still joking!), though, you don't care
about such esoteric things; you want your indentation! Add this to the
preamble:
\end_layout
\begin_layout LyX-Code
\backslash
usepackage{indentfirst}
\end_layout
\begin_layout Standard
If your TeX distribution isn't braindead, you'll have this package, and
all of your paragraphs will get the indentation the Founding Fathers intended
they should have.
\end_layout
\begin_layout Subsubsection
Example #4: This Document
\end_layout
\begin_layout Standard
You can also check out the preamble of this document to get an idea of some
of the advanced things you can do.
\end_layout
\begin_layout Section
LyX and LaTeX Errors
\end_layout
\begin_layout Standard
When LyX calls LaTeX, it tells LaTeX to blithely ignore any errors and keep
going.
It then uses the logfile from the LaTeX run to do a post-mortem.
After analyzing the logfile,LyX displays a dialog listing the errors.
Clicking on any one of them will take you to the position in your LyX file
where the error occurred.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Well, usually.
Analyzing the logfile is a tough job, and LyX doesn't always go to the
right line.
There are also cases where LaTeX reports the error on one line, but the
actual error is earlier.
This is not unlike forgetting a closing brace in a program: You'll get
an error, but only later.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Some folks also like to look at the log file directly: It is available from
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document
\bar under
\SpecialChar \menuseparator
\bar default
Latex
\begin_inset space ~
\end_inset
Log
\end_layout
\end_inset
.
There are some fairly common error messages and warnings.
We'll cover those here.
You should look at a good LaTeX book for a complete listing.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LaTeX Warning
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Anything beginning with these words is a warning message for the purpose
of
\begin_inset Quotes eld
\end_inset
debugging
\begin_inset Quotes erd
\end_inset
the LaTeX code itself.
You'll get messages like this if you added or changed cross-references
or bibliography entries, in which case, LaTeX is trying to tell you that
you need to make another run.
You can by-and-large ignore these.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LaTeX Font Warning
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Another warning message, this time about fonts which LaTeX couldn't find.
The rest of the message will often say something about a replacement font
that LaTeX used.
You can safely ignore these, too.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Overfull
\backslash
hbox
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
LaTeX absolutely
\emph on
loves
\emph default
to spew these out.
They are warnings about lines that were too long and run past the right
margin.
Almost always, this is unnoticeable in the final output.
(It can be just a point or two.) Or, only one or two characters extend past
the margin.
LaTeX seems to generate at least one of these messages for just about any
document you write.
\begin_inset Newline newline
\end_inset
You can ignore these messages.
Your eyes will tell you if there's a problem with something that's too
wide; just look at the output.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
You can also enable the `draft' option in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document
\bar under
\SpecialChar \menuseparator
\bar default
Settings
\end_layout
\end_inset
, and then LaTeX will draw a black box in the margin of lines that are overfull.
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Underfull
\backslash
hbox
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Not quite as common as its cousin.
LaTeX seems to like to print lines that are a bit too wide as opposed to
ones that are a bit too narrow.
We have no idea why.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Overfull
\backslash
vbox
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Underfull
\backslash
vbox
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Warnings about troubles breaking the page.
Once again, just look at the output.
Your eyes will tell you where something has gone wrong.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LaTeX Error: File
\begin_inset Quotes els
\end_inset
Xxxx
\begin_inset Quotes ers
\end_inset
not found
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
The file
\begin_inset Quotes eld
\end_inset
Xxxx
\begin_inset Quotes erd
\end_inset
isn't installed on this system.
This usually appears because some package your document needs isn't installed.
If you didn't touch the preamble or didn't use the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
usepackage{}
\end_layout
\end_inset
command, then one of the packages LyX tried to load is missing.
Use
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Help\SpecialChar \menuseparator
LaTeX Configuration
\end_layout
\end_inset
to get a list of packages that LyX knows about.
This file is updated whenever you reconfigure LyX (using
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Tools\SpecialChar \menuseparator
Reconfigure
\end_layout
\end_inset
) and tells you which packages have been detected and what they do.
\begin_inset Newline newline
\end_inset
If you did use the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
usepackage{}
\end_layout
\end_inset
command and the package in question isn't installed, then you'll need to
install it yourself.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LaTeX Error: Unknown option
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Error messages beginning with this are trying to tell you that you specified
a bad or undefined option to a package.
Check the package's documentation.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Undefined control sequence
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
If you've inserted LaTeX code into your document, but made a typo, you'll
get one of these.
You may have forgotten to load a package.
In any case, this error message usually means that you used an undefined
command.
\end_layout
\begin_layout Standard
There are other error and warning messages.
Some are self-explanatory.
These are usually LaTeX messages.
Others are downright cryptic.
These are usually TeX error messages, and we really have
\emph on
no clue
\emph default
what they mean or how to decipher them.
No-one does.
\end_layout
\begin_layout Standard
There's a general sequence you should follow if you get error messages:
\end_layout
\begin_layout Enumerate
Look at the LaTeX code you inserted for typos.
\end_layout
\begin_layout Enumerate
If there are no typos, check that you used the command(s) correctly.
\end_layout
\begin_layout Enumerate
If you get a bunch of error boxes piled up at the very top of the document—and
especially if you see a
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Missing
\backslash
begin{document}
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
error—it means that there are errors in the preamble.
Start debugging your preamble.
\end_layout
\begin_layout Enumerate
If you didn't add anything to the preamble and didn't add any LaTeX code
to the document, the first suspect is your LaTeX distribution itself.
Check for missing packages and install them.
\end_layout
\begin_layout Enumerate
Okay, so there are no missing packages.
Did you use any of the fine-tuning options in LyX? Specifically, did you
\emph on
misuse
\emph default
any of them, like trying to manually insert lots of
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Protected
\begin_inset space ~
\end_inset
Blanks
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Linebreaks
\end_layout
\end_inset
, or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Pagebreaks
\end_layout
\end_inset
? Did you try to kludge something together with these instead of using the
appropriate paragraph environment?
\end_layout
\begin_layout Enumerate
All right, you didn't use any of the fine-tuning options, you played by
the rules.
Did you try to pull a fancy maneuver? Did you do something funky inside
a table or an equation, like inserting a graphic into a table cell?
\end_layout
\begin_layout Enumerate
Do you have long sections of text where LaTeX cannot find a place to break
a line? By default, LaTeX is rather strict about how much extra inter-word
spacing it will add in order to break a line.
Preferably, you should rework the paragraph to avoid the problem.
If this isn't an option, you can wrap your text in
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
sloppypar
\end_layout
\end_inset
to make LaTeX's line breaking more, well, sloppy.
\end_layout
\begin_layout Enumerate
Did you go overboard with the nesting? LyX (currently) doesn't check to
make sure you're in the limits for nesting environments.
If you nested a bunch of environments to the
\begin_inset Formula $17^{\mathrm{th}}$
\end_inset
level, that's the problem.
(The limit in LaTeX is five.)
\end_layout
\begin_layout Enumerate
Okay, you didn't get any error messages, but your output looks awful.
If you have a table or figure that's too wide or long for the page, you
need to:
\end_layout
\begin_deeper
\begin_layout Enumerate
rescale the figure so it fits.
\end_layout
\begin_layout Enumerate
trim down the table so it fits.
\end_layout
\end_deeper
\begin_layout Enumerate
If something else is wrong with the output, and you didn't try to pull anything
fancy or kludge the fine-tuning options, we're not sure what's wrong.
\end_layout
\begin_layout Standard
If all this doesn't help—well, then
\emph on
perhaps
\emph default
you might have found a bug in LyX\SpecialChar \ldots{}
.
\end_layout
\begin_layout Chapter
Supplemental Tools
\end_layout
\begin_layout Section
Customizing Bibliographies with BibTeX
\end_layout
\begin_layout Standard
The most basic information about how to use BibTeX with LyX is contained
in the section
\emph on
Bibliography databases (BibTeX)
\emph default
of the
\emph on
User's Guide
\emph default
.
The following subsections explain special bibliography features supported
by LyX.
\end_layout
\begin_layout Subsection
Alternative Citation Styles
\end_layout
\begin_layout Standard
Standard BibTeX uses numbers (e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\begin_inset Quotes eld
\end_inset
[12]
\begin_inset Quotes erd
\end_inset
) to refer to a cited work.
However, in many scientific disciplines, other citation styles are in use.
The most common one is the author-year style (e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\begin_inset Quotes eld
\end_inset
Knuth 1984a
\begin_inset Quotes erd
\end_inset
).
LyX supports two packages that provide this style,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
natbib
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
jurabib
\end_layout
\end_inset
.
Both packages have their pros and cons, which cannot be listed in detail.
If you only want to have simple author-year (or author-numerical) style,
or if you want to use one of the countless style files for
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
natbib
\end_layout
\end_inset
, than the established
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
natbib
\end_layout
\end_inset
package is probably your choice.
If you need special features like short title references, ibidem etc., you
might consider the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
jurabib
\end_layout
\end_inset
package.
\end_layout
\begin_layout Standard
The handling of both packages in LyX is basically the same.
Go to
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document\SpecialChar \menuseparator
Settings
\end_layout
\end_inset
and select under
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Bibliography
\end_layout
\end_inset
the option
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Natbib
\end_layout
\end_inset
or
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Jurabib
\end_layout
\end_inset
.
With both packages, you will get some extra features in the citation dialog
and you can select the style of the reference (
\begin_inset Quotes eld
\end_inset
Knuth 1984
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Knuth (1984)
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Knuth, 1984
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
1984
\begin_inset Quotes erd
\end_inset
etc.).
Note that both packages need specifically designed style files.
They both ship their own, but there are lots of additional style files,
and there is even an interactive style file builder
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
See
\begin_inset Flex URL
status open
\begin_layout Plain Layout
ftp://ctan.tug.org/tex-archive/macros/latex/contrib/custom-bib/
\end_layout
\end_inset
\end_layout
\end_inset
for
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
natbib
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsection
Sectioned Bibliographies
\end_layout
\begin_layout Standard
Sometimes you might need to divide your bibliography into several sections.
If you are for instance a historian, the possibility to separate sources
and scientific works is most likely a
\begin_inset Quotes eld
\end_inset
must have
\begin_inset Quotes erd
\end_inset
.
Unfortunately, BibTeX itself does not allow you to do this.
But with the help of some LaTeX packages, BibTeX can be extended to fit
your needs.
\end_layout
\begin_layout Standard
LyX provides native support for one of these packages,
\family typewriter
bibtopic
\family default
.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Available from
\begin_inset Flex URL
status open
\begin_layout Plain Layout
ftp://ctan.tug.org/tex-archive/macros/latex/contrib/bibtopic/
\end_layout
\end_inset
\end_layout
\end_inset
The advantage of this package (compared to other packages like
\family typewriter
multibib
\family default
) is that you don't need to define new citation commands.
Instead, you need to prepare different bibliographic databases which include
the entries for the different sections of the bibliography.
For example: If you want to divide your bibliography into the sections
\begin_inset Quotes eld
\end_inset
Sources
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
Scientific works
\begin_inset Quotes erd
\end_inset
, you first need to create two bibliographic databases, e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
sources.bib
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
scientific.bib
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Go to
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document\SpecialChar \menuseparator
Settings
\end_layout
\end_inset
and check under
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Bibliography
\end_layout
\end_inset
the option
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Sectioned bibliography
\end_layout
\end_inset
.
Now you can insert multiple BibTeX bibliographies, one for each section
of your bibliography.
Returning to our example: Insert the BibTeX bibliography
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
sources.bib
\end_layout
\end_inset
and a second one for the database
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
scientific.bib
\end_layout
\end_inset
.
You are free to use the same or different styles for each section.
Additionally, you can chose if the bibliography section should contain
\begin_inset Quotes eld
\end_inset
all cited references
\begin_inset Quotes erd
\end_inset
of the specified database(s) (which is the default),
\begin_inset Quotes eld
\end_inset
all uncited references
\begin_inset Quotes erd
\end_inset
or even
\begin_inset Quotes eld
\end_inset
all references
\begin_inset Quotes erd
\end_inset
.
This might be useful if you would like to separate your bibliography into
three sections:
\begin_inset Quotes eld
\end_inset
Cited sources
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Uncited sources
\begin_inset Quotes erd
\end_inset
, and
\begin_inset Quotes eld
\end_inset
Scientific works
\begin_inset Quotes erd
\end_inset
.
The titles for the sections can be added as ordinary sections or subsections.
Since
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
bibtopic
\end_layout
\end_inset
removes the bibliography title, you have manually re-add that, too (as
a chapter* or section*, for instance).
\end_layout
\begin_layout Subsection
Multiple Bibliographies
\end_layout
\begin_layout Standard
Multiple bibliographies, e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
a bibliography for each section or chapter of the document, are not supported
by BibTeX itself.
But the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
bibtopic
\end_layout
\end_inset
package, which is used for the creation of sectioned bibliographies in
LyX (see the previous section), provides an easy way to solve this task,
if you are willing to use some
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
TeX Code
\end_layout
\end_inset
(see section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Inserting-TeX-Code"
\end_inset
).
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
An alternative approach is to use the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
chapterbib
\end_layout
\end_inset
or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
bibunits
\end_layout
\end_inset
package, respectively.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
First go to
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document\SpecialChar \menuseparator
Settings
\end_layout
\end_inset
and under
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Bibliography
\end_layout
\end_inset
check
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Sectioned bibliography
\end_layout
\end_inset
.
In the document, you have to enclose the sections, which shall contain
their own bibliography (including the BibTeX bibliography itself), between
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
begin{btUnit}
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
end{btUnit}
\end_layout
\end_inset
(those commands have to be inserted as TeX code).
The bibliography will contain all references which have been cited in the
current
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
btUnit
\end_layout
\end_inset
.
\series bold
Note:
\series default
If you are using this approach, then every citation reference has to be
inside some
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
btUnit
\end_layout
\end_inset
.
Also, the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
btUnit
\end_layout
\end_inset
s cannot be nested.
\end_layout
\begin_layout Section
Multipart Documents
\end_layout
\begin_layout Subsection
General Operation
\end_layout
\begin_layout Standard
When you are working on a large file with many sections, it is often convenient
to break up the document into several files, or perhaps you have something
where a table may change from time to time, but the preceding text does
not.
In these cases, you should seriously consider using multipart documents.
For example, scientific papers often have five major sections: the introduction
, observations, results, discussion, and conclusion.
Each of these could be its own separate LyX file, with one
\begin_inset Quotes eld
\end_inset
master
\begin_inset Quotes erd
\end_inset
file which contains the title, authors, abstract, references, etc., plus
the five included files.
It is important to note that each of these files is a full LyX file which
can be formatted and printed on its own, as well as included in a master
file.
Each of these files must have the same document class, however—don't attempt
to mix book classes with article classes.
You may also include LaTeX files; however, these files must not have their
own preamble (i.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
everything up to and including the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
begin{document}
\end_layout
\end_inset
line as well as the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
end{document}
\end_layout
\end_inset
line must be deleted) or else errors will be generated when you try to
make a DVI file.
\end_layout
\begin_layout Standard
LyX allows you to include files quite easily with
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Insert\SpecialChar \menuseparator
ChiId
\begin_inset space ~
\end_inset
Document
\end_layout
\end_inset
.
When you click on this selection a small box is inserted into the file
at the current cursor location.
Clicking on the box raises a dialog which allows you to select the file
to be included, and the method of its inclusion.
\end_layout
\begin_layout Standard
The file selection box should by now be obvious.
The three inclusion methods are
\begin_inset Quotes eld
\end_inset
include
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
input
\begin_inset Quotes erd
\end_inset
, and
\begin_inset Quotes eld
\end_inset
verbatim
\begin_inset Quotes erd
\end_inset
.
The difference between
\begin_inset Quotes eld
\end_inset
include
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
input
\begin_inset Quotes erd
\end_inset
is really only meaningful to LaTeXperts, but the practical difference is
that files which are
\begin_inset Quotes eld
\end_inset
included
\begin_inset Quotes erd
\end_inset
are typeset beginning on a new page, while files which are
\begin_inset Quotes eld
\end_inset
inputted
\begin_inset Quotes erd
\end_inset
are typeset starting on the current page.
\end_layout
\begin_layout Standard
Generally, the master file is converted into a full LaTeX file before typesettin
g, while the included files are converted to LaTeX files which do not have
all the preamble information.
\end_layout
\begin_layout Standard
A
\begin_inset Quotes eld
\end_inset
verbatim
\begin_inset Quotes erd
\end_inset
included file allows you to include a file typeset exactly as it appears
in the file, i.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
in
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
verbatim
\end_layout
\end_inset
mode, with the characters set in a fixed-width typewriter font.
Normally, spaces in this file are invisible, though two consecutive spaces
are conserved, unlike LyX's normal treatment of spaces.
However, setting the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Mark
\begin_inset space ~
\end_inset
spaces
\begin_inset space ~
\end_inset
in
\begin_inset space ~
\end_inset
output
\end_layout
\end_inset
checkbox typesets a mark to unambiguously define the presence of a space.
\end_layout
\begin_layout Subsection
Cross-References Between Files
\end_layout
\begin_layout Standard
\begin_inset Box Shadowbox
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
This section is somewhat out of date.
Need to describe default master documents and how children are opened when
the master is.
[[FIXME]]
\end_layout
\end_inset
\end_layout
\begin_layout Standard
It is possible to set up cross-references between the different files.
First, open all the files in question: let's call them A and B in a two
file example, where B is included in A.
Let's say you insert a label in A, then want to reference it in B.
Open the cross-reference dialog in whilst in document B, and you can select
the
\begin_inset Quotes eld
\end_inset
buffer
\begin_inset Quotes erd
\end_inset
to use.
\end_layout
\begin_layout Subsection
Bibliography Lists in all Subdocuments
\end_layout
\begin_layout Standard
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
use_makebox 0
width "100col%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
This section also needs updating.
There is now material about this on the wiki, and it could be copied here.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Copy the bibliography list with all entries to all subdocuments and transform
them to a comment.
This way LyX will find the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.bib
\end_layout
\end_inset
-files and you can easily insert references without making the bibliography
list visible.
\end_layout
\begin_layout Standard
As the bibliography list is in a comment, LaTeX won't use use it and the
references will look like this: [?], instead of like this: [1].
One solution is to use the LaTeX-package
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
comment
\end_layout
\end_inset
that will only include comments by processing the files separately.
To do this, add in the LaTeX preamble of every subdocument the following:
\end_layout
\begin_layout LyX-Code
\backslash
usepackage{comment}
\end_layout
\begin_layout LyX-Code
\backslash
includecomment{comment}
\end_layout
\begin_layout Standard
See also
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://wiki.lyx.org/FAQ/Unsorted#toc31
\end_layout
\end_inset
.
\end_layout
\begin_layout Section
LyX Archives
\end_layout
\begin_layout Standard
Users sometimes need to be able to
\begin_inset Quotes eld
\end_inset
bundle
\begin_inset Quotes erd
\end_inset
a LyX file together with all the images (and other files) on which it depends,
either for sending to a publisher or for sharing with a co-author.
LyX 2.0 includes a Python script (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpak.py
\end_layout
\end_inset
) that automates this process.
To use it, you must have either the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
zipfile
\end_layout
\end_inset
or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tarfile
\end_layout
\end_inset
python modules installed on your system.
By default, the script prefers the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
gzip
\end_layout
\end_inset
-compressed
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tar
\end_layout
\end_inset
format on Unix-like systems and the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
zip
\end_layout
\end_inset
format on Windows.
\end_layout
\begin_layout Standard
LyX's configuration process will set the script up to export a `LyX Archive',
and this format will then be available under
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
File\SpecialChar \menuseparator
Export
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Independently of the platform, the generation of a particular archive format
can be forced by adding either the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-t
\end_layout
\end_inset
(for the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tar
\end_layout
\end_inset
format) or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-z
\end_layout
\end_inset
(for the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
zip
\end_layout
\end_inset
format) switch to the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LyX\SpecialChar \menuseparator
LyX Archive
\end_layout
\end_inset
converter in
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Tools\SpecialChar \menuseparator
Preferences\SpecialChar \menuseparator
File Handling\SpecialChar \menuseparator
Converters
\end_layout
\end_inset
.
(Make sure you add the switch after the script name, not before it.)
\end_layout
\begin_layout Section
Fancy Headers and Footers
\end_layout
\begin_layout Standard
The default page layout is rather plain; for an
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
article
\end_layout
\end_inset
document class, all you get is a centered page number at the bottom of
the page.
This document uses KOMA-script's book class, so it appears to be a bit
fancier.
But to really put on a show, you need to set the document page style to
\begin_inset Quotes eld
\end_inset
fancy
\begin_inset Quotes erd
\end_inset
, as mentioned in the
\emph on
User Guide
\emph default
.
This section describes the LaTeX code you need to insert in your LaTeX
preamble in order to get the desired effects.
\end_layout
\begin_layout Standard
For more information on fancy headers, see the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
fancyhdr
\end_layout
\end_inset
package documentation.
(
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.ctan.org/tex-archive/help/Catalogue/entries/fancyhdr.html
\end_layout
\end_inset
)
\end_layout
\begin_layout Standard
The page header is divided into three fields, not surprisingly labeled
\begin_inset Quotes eld
\end_inset
left
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
center
\begin_inset Quotes erd
\end_inset
, and
\begin_inset Quotes eld
\end_inset
right
\begin_inset Quotes erd
\end_inset
.
The footer is also divided into these three fields.
The LaTeX commands to set these fields in the simplest manner are
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
lhead
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
chead
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
rhead
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
lfoot
\end_layout
\end_inset
, etc.
Suppose you wish to put your name in the upper left hand corner of each
page.
Simply insert the following command in the preamble:
\end_layout
\begin_layout Standard
\family typewriter
\backslash
lhead{John Q.
DocWriter}
\end_layout
\begin_layout Standard
You will now see your name in the upper left.
If a field has a default entry that you would like to get rid of (often
the page number appears in the central footer, simply include a command
with a blank argument, e.
\begin_inset space \thinspace{}
\end_inset
g.:
\end_layout
\begin_layout Standard
\family typewriter
\backslash
cfoot{}
\end_layout
\begin_layout Standard
Let's get really fancy: lets put the section number with the word
\begin_inset Quotes eld
\end_inset
Section
\begin_inset Quotes erd
\end_inset
(e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
Section 3) in the upper left, the page number (e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
Page 4) in the upper right, your name in the lower left, and the date in
the lower right.
The following commands should now appear in the preamble:
\end_layout
\begin_layout Standard
\family typewriter
\backslash
lhead{Section
\backslash
thesection}
\end_layout
\begin_layout Standard
\family typewriter
\backslash
chead{}
\end_layout
\begin_layout Standard
\family typewriter
\backslash
rhead{Page
\backslash
thepage}
\end_layout
\begin_layout Standard
\family typewriter
\backslash
lfoot{John Q.
DocWriter}
\end_layout
\begin_layout Standard
\family typewriter
\backslash
cfoot{}
\end_layout
\begin_layout Standard
\family typewriter
\backslash
rfoot{
\backslash
today}
\end_layout
\begin_layout Standard
The commands
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thesection
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thepage
\end_layout
\end_inset
access LaTeX's section and page counters, and so print out the current
section and page numbers.
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
today
\end_layout
\end_inset
simply prints out today's date.
\end_layout
\begin_layout Standard
The thicknesses of the horizontal rules drawn beneath the header and above
the footer can also be modified.
If you don't want one of the rules, set its thickness to 0.
The header rule has a default thickness of 0.4pt, the footer rule is 0pt.
Use commands
\family typewriter
\family default
like
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
renewcommand{
\backslash
headrulewidth}{0.4pt}
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
renewcommand{
\backslash
footrulewidth}{0.4pt}
\end_layout
\end_inset
to set the thicknesses.
\end_layout
\begin_layout Standard
You can switch the header/footer settings on and off for individual pages
using commands like
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thispagestyle{empty}
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thispagestyle{plain}
\end_layout
\end_inset
, and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thispagestyle{fancy}
\end_layout
\end_inset
.
Simply insert them in the text on the page you want changed and mark them
as TeX code.
In fact, title pages are marked as plain by default, while following pages
are marked fancy when using the global fancy setting.
\end_layout
\begin_layout Standard
As a final example, it is possible to include an image in the header or
footer.
Suppose you want to put a company logo in the upper lefthand corner.
You might try something like
\end_layout
\begin_layout Standard
\family typewriter
\backslash
lhead{
\backslash
resizebox{1in}{!}{
\backslash
includegraphics{logo.eps}}}
\end_layout
\begin_layout Standard
\noindent
(you may need to preface this with
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\noindent
\backslash
usepackage{graphics}
\end_layout
\end_inset
if you don't include graphics elsewhere in your document).
\end_layout
\begin_layout Section
Itemize Bullet Selection
\begin_inset CommandInset label
LatexCommand label
name "sec:bullet"
\end_inset
\end_layout
\begin_layout Standard
by
\noun on
Allan Rae
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
LyX provides 216 bullet shapes that can be accessed from a simple dialog.
Using this dialog you can easily specify what bullet shape to use at each
level of an itemized list.
These settings are document-wide so you won't be able to specify different
sets of bullets for different paragraphs.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Well, actually you can but you'll have to do it by hand.
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
How it looks
\end_layout
\begin_layout Standard
Open the dialog by selecting the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document\SpecialChar \menuseparator
Settings
\end_layout
\end_inset
menu item and then select the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Bullets
\end_layout
\end_inset
tab.
\end_layout
\begin_layout Standard
The dialog provides you with a table of bullet shapes.
A column of buttons on the left of the table provides access to the six
different panels of bullet shapes.
The row of buttons across the top is used to select which bullet depth
you are changing.
A text entry under the table shows the currently selected bullet shape's
LaTeX equivalent and this can be edited if desired.
If you do modify the text you will also need to specify any needed packages
in the LaTeX preamble.
\end_layout
\begin_layout Standard
The six panels are divided up by the packages they require.
The following table shows the mappings from button name to LaTeX packages.
\end_layout
\begin_layout Standard
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="7" columns="2">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top" width="0pt">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Button
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Packages Required
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Standard
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
base LaTeX
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Maths
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
amssymb.sty
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Ding1
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
pifont.sty
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Ding2
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
pifont.sty
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Ding3
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
pifont.sty
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Ding4
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
pifont.sty
\end_layout
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\end_layout
\begin_layout Standard
LyX doesn't stop you using bullets from packages you don't have.
If you get errors from LaTeX when you try to view or print the file, then
it is likely you are missing a package.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
LyX doesn't restrict your use since you may be editing locally and exporting
elsewhere.
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
How to use it
\end_layout
\begin_layout Standard
Select which bullet depth you want to change then select the bullet shape
and size.
Any changes will not be visible in LyX, but are visible when viewing the
document.
\end_layout
\begin_layout Standard
You can reset a bullet shape to the default simply by clicking your right
mouse button on the appropriate bullet depth button.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
If you
\emph on
really
\emph default
want to have multiple sets of paragraphs with different sets of bullets
in each, then you're going to have to get your hands dirty with TeX code.
The bullet selection dialog can help though because it provides you with
the LaTeX code for a wide range of bullet shapes.
To make your own custom paragraphs you have the following options:
\end_layout
\begin_layout Plain Layout
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
let
\backslash
savelabelitemi=
\backslash
labelitemi
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
renewcommand
\backslash
labelitemi[0]{
\backslash
small
\backslash
(
\backslash
sharp
\backslash
)}
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
Use the LaTeX command
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
renewcommand{}{}
\end_layout
\end_inset
to specify a new bullet shape for a given depth.
You'll also need to save the current bullet shape so you can restore it
again afterwards.
In this itemized list the following LaTeX code was used to change the bullet
used for the first depth.
\end_layout
\begin_deeper
\begin_layout LyX-Code
\backslash
let
\backslash
savelabelitemi=
\backslash
labelitemi
\end_layout
\begin_layout LyX-Code
\backslash
renewcommand
\backslash
labelitemi[0]{
\backslash
small
\backslash
(
\backslash
sharp
\backslash
)}
\end_layout
\end_deeper
\begin_layout Itemize
Note that the itemize depth is specified in Roman numerals as part of the
\family typewriter
\backslash
labelitem
\family default
command.
\end_layout
\begin_layout Itemize
\begin_inset ERT
status open
\begin_layout Plain Layout
[
\backslash
(
\backslash
star
\backslash
)]
\end_layout
\end_inset
Specify each individual entry by starting each item with the bullet shape
enclosed in square brackets and set as
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
TeX Code
\end_layout
\end_inset
.
For example, this item was started with
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
[
\backslash
(
\backslash
star
\backslash
)]
\end_layout
\end_inset
.
\end_layout
\begin_layout Plain Layout
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
renewcommand
\backslash
labelitemi[0]{
\backslash
savelabelitemi}
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
You'll also need to revert the labelitem back to its previous setting for
the global bullet shape settings to remain in effect.
The way used here was:
\end_layout
\begin_layout LyX-Code
\backslash
renewcommand
\backslash
labelitemi[0]{
\backslash
savelabelitemi}
\end_layout
\end_inset
\end_layout
\begin_layout Chapter
LyX and the World Wide Web
\end_layout
\begin_layout Standard
LyX has long supported the export of documents to various web-friendly formats,
such as HTML.
Before verson 2.0, however, HTML export was always accomplished by the use
of external converters.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
For details on the use of external converters with LyX, see the
\emph on
Converters
\emph default
section of the Customization manual.
\end_layout
\end_inset
These fall into two large groups: there are converters that use LaTeX as
an intermediate format, such as
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
htlatex
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
html2latex
\end_layout
\end_inset
, and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
plastex
\end_layout
\end_inset
, relying upon LyX to produce the LaTeX; and there is a converter that works
directly on LyX files,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
eLyXer
\end_layout
\end_inset
.
All of these have different advantages and disadvantages.
\end_layout
\begin_layout Standard
The LaTeX-based converters have the advantage that, in principle, they know
everything about the exported document that LaTeX does.
Such converters do not care, for example, if a certain block of code was
produced by LyX or was Evil Red Text.
These converters know about
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
aux
\end_layout
\end_inset
files, counters, and references, and can often make use of the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
bbl
\end_layout
\end_inset
files generated by BibTeX.
On the other hand, LaTeX is a very hard language to parse---it is sometimes
said that only TeX itself understands TeX---and LaTeX-based converters
will often choke on what seem to be quite simple constructs; complex ones
can throw them completely, and as of this writing, for example, the
\emph on
Embedded Objects
\emph default
manual will not export with
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
htlatex
\end_layout
\end_inset
, though the others will.
The other issue concerns how math is handled.
These converters typically convert the formulae into little pictures that
are then linked from the HTML document.
Since these are actually generated by LaTeX, they are accurate.
But they do not scale well, and just getting them to look as if they are
actually meant to be in your document---so that the font sizes seem to
be roughly the same---can be a challenge.
\end_layout
\begin_layout Standard
Alex Fernandez's
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
eLyXer
\end_layout
\end_inset
(
\begin_inset CommandInset href
LatexCommand href
name "http://elyxer.nongnu.org/"
target "http://elyxer.nongnu.org/"
\end_inset
) solves some of these problems.
In particular, the formulae it produces scale perfectly, since it renders
math using a combination of HTML and CSS rather than converting the formulae
to images.
But even moderately complex formula are rendered less well than with
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
htlatex
\end_layout
\end_inset
; this reflects the limitations of HTML.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
That said,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
eLyXer
\end_layout
\end_inset
can also use jsMath and MathJax for equations, but this setting is only
available globally and requires one to have access to a server that runs
the backend.
\end_layout
\end_inset
More importantly (as of version 1.1.1, at least),
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
eLyXer
\end_layout
\end_inset
has limited support for math macros and no support for user-defined paragraph
or character styles.
These limitations make
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
eLyXer
\end_layout
\end_inset
unsuitable for many of the documents LyX users produce.
In principle, of course, these problems could be solved, but the LyX developers
have decided to follow a different path and have made LyX itself capable
of writing XHTML, just as it is capable of writing LaTeX, DocBook, and
plaintext.
\end_layout
\begin_layout Standard
As of this writing, XHTML output remains under development and should probably
be regarded as
\begin_inset Quotes eld
\end_inset
experimental
\begin_inset Quotes erd
\end_inset
.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The file
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
development/HTML.notes
\end_layout
\end_inset
, which can be found in the LyX source tree or
\begin_inset CommandInset href
LatexCommand href
name "accessed online"
target "http://www.lyx.org/trac/browser/lyx-devel/trunk/development/HTML/HTML.notes"
\end_inset
, usually contains up-to-date information about the state of XHTML output.
See also the list of XHTML bugs on
\begin_inset CommandInset href
LatexCommand href
name "the bug tracker"
target "http://www.lyx.org/trac/query?status=reopened&status=assigned&status=new&max=0&component=xhtml+export&order=id&col=id&col=summary&col=reporter&col=keywords&keywords=%21%7Efixedintrunk&desc=1"
\end_inset
.
\end_layout
\end_inset
Still, the developers have chosen this approach because it has several
potential advantages over the other two.
\end_layout
\begin_layout Standard
These advantages are primarily due to the fact that the XHTML output routines,
since they are part of LyX, know everything LyX knows about the document
being exported.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Another advantage is that, since these routines are internal to LyX, they
are immune to changes in LyX's file format, or to changes in the semantics
of existing insets.
\end_layout
\end_inset
So they know about the table of contents (as displayed in the outline),
about the counters associated with different paragraph styles, and about
user-defined styles.
The XHTML output routines know what LyX knows about internationalization,
too, so they will output
\begin_inset Quotes eld
\end_inset
Chapter 1
\begin_inset Quotes erd
\end_inset
or
\begin_inset Quotes eld
\end_inset
\lang ngerman
Kapitel
\lang english
1
\begin_inset Quotes erd
\end_inset
, depending upon the language in effect at the time.
\end_layout
\begin_layout Standard
Quite generally, the output routines know what LyX knows about document
layout, that is, about how the document is to be rendered on screen.
We use this information when we output the document as XHTML.
In particular, LyX
\emph on
automatically
\emph default
generates CSS style information corresponding to the layout information
it uses to render the document on screen: if section headings are supposed
to be sans-serif and bold as seen in LyX, then (by default) they will be
sans-serif and bold when viewed in a web browser, too.
And this is true not just for pre-defined styles, like Section, but for
any style, including user-defined styles.
Indeed, the XHTML output routines make no distinction between user-defined
paragraph and character styles and LyX's own pre-defined styles: in each
case, everything LyX knows about the styles is contained in the layout
files.
And much the same is true as regards pre-defined textual insets, such as
footnotes, and various custom insets.
\end_layout
\begin_layout Standard
The result is that XHTML output can be customized and extended in exactly
the same way LaTeX output can be customized and extended: through layout
files and modules.
See chapter five of the
\emph on
Customization
\emph default
manual for the details.
\end_layout
\begin_layout Standard
The remainder of this chapter contains more detailed information on XHTML
output, its limitations, and ways to work around those limitations.
\end_layout
\begin_layout Section
Math Output in XHTML
\end_layout
\begin_layout Standard
LyX offers four choices for how math is rendered.
These have various advantages and disadvantages:
\end_layout
\begin_layout Itemize
MathML
\begin_inset Newline newline
\end_inset
MathML is a dialect of XML designed specifically for mathematics on the
web, and it typically renders very well in browsers that support it.
The disadvantage is that not all browsers support MathML, and support is
not complete even in the Gecko-based browsers, such as Firefox.
\begin_inset Newline newline
\end_inset
If LyX is unable to render a formula as MathML---for example, if the formula
uses the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
xymatrix
\end_layout
\end_inset
package or ERT---then it will instead output the formula as an image.
\end_layout
\begin_layout Itemize
HTML
\begin_inset Newline newline
\end_inset
As mentioned above,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
elyxer
\end_layout
\end_inset
outputs math as HTML, styled by CSS.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
LyX has borrowed some of the CSS for its HTML output from
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
elyxer
\end_layout
\end_inset
.
\end_layout
\end_inset
For simple formulae, this can work quite well, though with more complicated
formulae it tends to break down.
Still, this method has the advantage that it is very widely supported and
so it may be appropriate for documents that contain only a little, fairly
simple math.
\begin_inset Newline newline
\end_inset
If Lyx is unable to render a formula as HTML---for example, if the formula
uses the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
xymatrix
\end_layout
\end_inset
package or ERT---then it will instead output the formula as an image.
\end_layout
\begin_layout Itemize
Images
\begin_inset Newline newline
\end_inset
Like
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
htlatex
\end_layout
\end_inset
, LyX will output formulae as images, the very same images, in fact, that
are used for instant preview.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Instant preview does
\emph on
not
\emph default
have to be on for images to be output, however.
\end_layout
\end_inset
The advantage to this method is that the images are simply generated by
LaTeX, so they are very accurate.
The disadvantage, as mentioned earlier, is that these are bitmapped images,
so they do not scale terribly well, and one cannot copy them, etc.
(As of this writing, there are also problems about equation numbering.
See
\begin_inset CommandInset href
LatexCommand href
name "bug 6894"
target "http://www.lyx.org/trac/ticket/6894"
\end_inset
.)
\begin_inset Newline newline
\end_inset
The size of the images can be controlled by setting the
\begin_inset Quotes eld
\end_inset
Math Images Scaling
\begin_inset Quotes erd
\end_inset
parameter under
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document\SpecialChar \menuseparator
Settings\SpecialChar \menuseparator
Output
\end_layout
\end_inset
.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
For those who want to know, this controls the resolution of the image in
dots per inch and is based upon a default of 75 dpi.
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
If LyX for some reason fails to create an image for a formula (e.g., if a
required LaTeX package is not installed), then it will fall back to outputing
the raw LaTeX.
\end_layout
\begin_layout Itemize
LaTeX
\begin_inset Newline newline
\end_inset
Finally, LyX will happily output math as LaTeX.
As well as being the output of last resort, this method can be used with
such tools as
\begin_inset CommandInset href
LatexCommand href
name "jsMath"
target "http://www.math.union.edu/~dpvc/jsMath/"
\end_inset
, which uses JavaScript to render LaTeX embedded in HTML documents.
LyX wraps the LaTeX in either a
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
span
\end_layout
\end_inset
(for inline formulas) or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
div
\end_layout
\end_inset
(for displayed formulas) with
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
class='math'
\end_layout
\end_inset
, as is required for jsMath.
\end_layout
\begin_layout Standard
One of these output methods must be selected under
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document\SpecialChar \menuseparator
Settings\SpecialChar \menuseparator
Output
\end_layout
\end_inset
.
By default, LyX outputs MathML.
This is a document-wide setting, therefore.
\end_layout
\begin_layout Standard
Eventually, LyX will offer the user the option to select an alternate output
method for a particular inset, say, one that isn't being rendered very
well by MathML.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
That said, since LyX falls back to images if the inset contains ERT, then
one can force output as an image by putting some harmless ERT into the
math, for example:
\begin_inset Formula $a=b\relax$
\end_inset
.
\end_layout
\end_inset
\end_layout
\begin_layout Section
Bibliography and Citations
\end_layout
\begin_layout Standard
XHTML output fully supports bibliographies and citations.
\end_layout
\begin_layout Standard
Citation labels are generated by the same machinery that generates LyX's
on-screen labels, so the labels will look in the output much as they do
in LyX, though better.
If you are using numerical citations, then LyX will output numerical labels,
such as [1] or [17], rather than simply showing the citation key in square
brackets, as it does on-screen.
If you are using author-year citations, then LyX will add lowercase letters
to the years, just as BibTeX does, if it finds more than one citation for
a given author-year combination.
The labels will be printed with the bibliography entries.
Note that there is, at present, no way to customize the appearance of the
labels, for example, to choose between square brackets and parentheses.
\end_layout
\begin_layout Standard
Bibliography output is handled by the same machinery that handles the presentati
on of reference information in the citation dialog, so you will see in the
XHTML output pretty much what you would see if you were to look at a given
entry in the citation dialog.
The formatting can be customized in your layout file or, preferably, in
a module.
See the
\emph on
Customization
\emph default
manual for the details.
\end_layout
\begin_layout Standard
The main defect at present is that cross-referenced information is printed
with every entry with which it is associated.
So you can see things like this:
\end_layout
\begin_layout Quote
Jason Stanley,
\begin_inset Quotes eld
\end_inset
Context and Logical Form
\begin_inset Quotes erd
\end_inset
, in
\emph on
Language in Context: Selected Essays
\emph default
(Oxford: Oxford University Press, 2007), pp.
30--68.
\end_layout
\begin_layout Quote
Jason Stanley,
\begin_inset Quotes eld
\end_inset
Semantics in Context
\begin_inset Quotes erd
\end_inset
, in
\emph on
Language in Context: Selected Essays
\emph default
(Oxford: Oxford University Press, 2007), pp.
201--30.
\end_layout
\begin_layout Standard
This should be fixed before long.
\end_layout
\begin_layout Standard
There is no support at present for sectioned bibliographies.
If you have multiple bibliographies, then LyX will print the same bibliography
over and over.
\end_layout
\begin_layout Section
Indexes
\end_layout
\begin_layout Standard
LyX will happily export indexes as XHTML, but with certain limitations at
the moment.
\end_layout
\begin_layout Standard
Index export will be most reliable when you do not attempt to use the fancy
constructs that are described in the section on indexes in the
\emph on
User's Guide
\emph default
.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The main issue here is that LyX itself does not really handle these.
It just lets you enter what you would have to enter in raw LaTeX.
\end_layout
\end_inset
We'll describe how they are handled using the subsection headings from
that section.
\end_layout
\begin_layout Itemize
Grouping Index Entries (aka, sub-entries): LyX makes an effort to support
these, but the entries must be separated by
\begin_inset Quotes eld
\end_inset
!
\begin_inset Quotes erd
\end_inset
, that is, there must be spaces around the exclamation point.
This is because it is otherwise too difficult to check for escaped exclamation
points, ones in math, and so forth.
\end_layout
\begin_layout Itemize
Page Ranges: There is no support at all for page ranges, since these make
no sense with XHMTL.
Instead, you will just get two index entries, one at either end.
\end_layout
\begin_layout Itemize
Cross-referencing: There is no support for cross-referencing.
If LyX finds an entry containing the
\begin_inset Quotes eld
\end_inset
|see\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
construct, it is just dropped, and the rest is treated as an ordinary index
entry.
\end_layout
\begin_layout Itemize
Index Entry Order: LyX does support attempts to fix the sorting order.
It will take what is before the first `@' it finds and use that for sorting,
taking what follows the first `@' to be the actual entry.
At present, LyX does not check for escaped `@', so do not try to index
email addresses.
\end_layout
\begin_layout Itemize
Index Entry Layout: You can format entries by using the text style dialog,
or by using any other method available within LyX itself.
There is no support for constructs like:
\begin_inset Quotes eld
\end_inset
entry|textbf
\begin_inset Quotes erd
\end_inset
.
Indeed, if LyX finds a pipe symbol, `|', in an entry, it will delete it
and everything that follows it.
\end_layout
\begin_layout Itemize
Multiple Indexes: There is no support for multiple indexes.
Rather, all index entries will be printed as one large index.
To avoid our printing several versions of the index, we print only the
main index, so make sure you have one.
\end_layout
\begin_layout Section
Nomenclature and Glossary
\end_layout
\begin_layout Standard
There is at present no support for glossaries.
Adding it would be fairly trivial, and welcome.
\end_layout
\begin_layout Chapter
The LyX Server
\end_layout
\begin_layout Section
Introduction
\end_layout
\begin_layout Standard
The `LyX server' allows 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.
It is by writing to the LyX server, for example, that bibliography managers,
such as JabRef, are able to
\begin_inset Quotes eld
\end_inset
push
\begin_inset Quotes erd
\end_inset
citations to LyX.
\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 Code
status collapsed
\begin_layout Plain Layout
UserDir
\end_layout
\end_inset
, (except on Windows, where
\emph on
local
\emph default
named pipes are special objects located in
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
\backslash
.
\backslash
pipe
\end_layout
\end_inset
) and have the names
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpipe.in
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpipe.out
\end_layout
\end_inset
\begin_inset Quotes erd
\end_inset
.
External programs write into
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpipe.in
\end_layout
\end_inset
and read back data from
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpipe.out
\end_layout
\end_inset
.
The stem of the pipe names can be defined in the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Tools\SpecialChar \menuseparator
Preferences
\end_layout
\end_inset
dialog, for example
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"/home/myhome/lyxpipe"
\end_layout
\end_inset
, or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"
\backslash
\backslash
.
\backslash
pipe
\backslash
lyxpipe"
\end_layout
\end_inset
on Windows (but any working path can be used).
You
\emph on
must
\emph default
configure this manually in order for the server to start.
\end_layout
\begin_layout Standard
LyX will add the '
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.in
\end_layout
\end_inset
' and '
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.out
\end_layout
\end_inset
' to create the pipes.
If one of the pipes already exists, LyX will assume that another LyX process
is already running and will not start the server.
On POSIX (Unix like) systems, if for some other reason, an unused
\begin_inset Quotes eld
\end_inset
stale
\begin_inset Quotes erd
\end_inset
pipe is left in existence when LyX closes, then LyX will try to delete
it.
If this fails for some reason, you will need to delete the pipes manually
and then restart LyX.
On Windows, pipes are deleted by the OS on program termination or crash,
so
\begin_inset Quotes eld
\end_inset
stale
\begin_inset Quotes erd
\end_inset
pipes should not be possible.
\end_layout
\begin_layout Standard
To have several LyX processes with servers at the same time, you have to
use different configurations, perhaps by using separate user directories,
each with its own
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
preferences
\end_layout
\end_inset
file, for each process.
\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
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyx -dbg lyxserver
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
You can find a complete example client written in C in the source distribution
as
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
development/lyxserver/server_monitor.c
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Another useful tool is command-line based client you will find in
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
src/client/lyxclient
\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
clientname 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
function 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
argument is an optional argument which is meaningful only to some functions
(for instance, the
\begin_inset Quotes eld
\end_inset
self-insert
\begin_inset Quotes erd
\end_inset
LFUN 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, such as
\begin_inset Quotes eld
\end_inset
font-state
\begin_inset Quotes erd
\end_inset
, will return information about the internal state of LyX, 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
\begin_inset Newline newline
\end_inset
echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
\begin_inset Newline newline
\end_inset
read a <~/.lyxpipe.out
\begin_inset Newline newline
\end_inset
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 Code
status collapsed
\begin_layout Plain Layout
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
.
Then start a client that listens on the output 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
\begin_layout Section
Reverse DVI/PDF search
\end_layout
\begin_layout Standard
Some DVI/PDF viewers
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The following viewers offer the reverse PDF search feature: Okular on KDE/Linux,
Skim on Mac OSX and SumatraPDF on Windows.
\end_layout
\end_inset
provide
\emph on
reverse search
\emph default
facility (also called
\emph on
inverse search
\emph default
).
This means that you can tell LyX to put the cursor to a specific line in
the document by clicking at the respective position in the DVI/PDF output.
To achieve this, the viewer must be able to communicate with LyX.
This is done via the LyX server either by using the named pipe (
\emph on
lyxpipe
\emph default
), or the UNIX domain socket (
\emph on
lyxsocket
\emph default
) that LyX creates in its temporary directory (this is the way the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxclient
\end_layout
\end_inset
program communicates with LyX).
In some cases, you need a helper script that mediates between the viewer
and LyX, in others, the viewer can communicate with LyX directly.
This depends on the selected viewer and on your operating system.
The same applies to the way viewers need to be configured and the way the
reverse search is actually performed.
In what follows, we will thus describe how to setup reverse search for
specific viewers.
Before we turn to this, though, we will explain what needs to be done generally
to enable reverse search in the DVI/PDF output.
\end_layout
\begin_layout Subsection
Automatic setup
\begin_inset CommandInset label
LatexCommand label
name "sub:rev-search"
\end_inset
\end_layout
\begin_layout Standard
In most cases LyX will do the work for you by enabling the option
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Synchronize with Output
\end_layout
\end_inset
in the menu
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document\SpecialChar \menuseparator
Settings\SpecialChar \menuseparator
Output
\end_layout
\end_inset
.
In such a case LyX will automatically insert the necessary SyncTeX macro
(for PDF) or load the srcltx package (for DVI) respectively.
This option can be easily reached also on
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
View/Update
\end_layout
\end_inset
Toolbar.
\end_layout
\begin_layout Standard
If you need a different setting, you can select or input a custom macro
from the drop down box just below
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Document\SpecialChar \menuseparator
Settings\SpecialChar \menuseparator
Output\SpecialChar \menuseparator
Synchronize with Output
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Note that the method
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
synctex=1
\end_layout
\end_inset
enables gzip compression.
If your viewer does not support it, you should instead use
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
synctex=-1
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Please aöso note that including the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
srcltx
\end_layout
\end_inset
package or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
src-specials
\end_layout
\end_inset
sometimes has an undesired impact on the typesetting.
Thus, you should switch output synchronization off for the final typesetting
if you use the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
srcltx
\end_layout
\end_inset
package or
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
src-specials
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
In case you need some more special settings that are not covered by the
automatic settings, read the next section about how to set up output synchroniz
ation manually.
If the automatic setup suits your needs, you can readily jump to section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:configuring-viewers"
\end_inset
, where the necessary configuration steps in your viewer -- needed both
with the automatic and the manual setup -- are described.
\end_layout
\begin_layout Subsection
Manual setup
\end_layout
\begin_layout Standard
LaTeX provides several different methods for reverse search.
Some are built-in in the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
latex/pdflatex
\end_layout
\end_inset
program, some are provided by external packages.
Your choice depends on whether your LaTeX distribution already provides
a given method (the built-in methods are rather new) and whether your viewer
can cope with it.
The available methods are described in the following.
\end_layout
\begin_layout Subsubsection*
Built-in DVI-search via src-specials (DVI only)
\end_layout
\begin_layout Standard
This method provides the DVI file with the necessary information for reverse
search.
It is available in LaTeX since quite some time (any somewhat recent LaTeX
distribution should include it), and it works reliably.
To enable it, change the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
LaT
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
{}
\end_layout
\end_inset
eX (plain)->DVI
\end_layout
\end_inset
or
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
LaT
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
{}
\end_layout
\end_inset
eX (plain)->DraftDVI
\end_layout
\end_inset
converter in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Preferences\SpecialChar \menuseparator
File Handling\SpecialChar \menuseparator
Converters
\end_layout
\end_inset
to
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
latex -src-specials $$i
\end_layout
\end_inset
.
If this doesn't work, check if your TeX engine needs different options
(the syntax might differ in some distributions).
\end_layout
\begin_layout Subsubsection*
External Packages (PDFSync and scrltx)
\end_layout
\begin_layout Standard
The packages
\emph on
pdfsync
\emph default
and
\emph on
scrltx
\emph default
provide reverse search facility for PDF output (via pdflatex) and DVI output,
respectively.
In order to enable it, load the packages in the LyX preamble:
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
usepackage{pdfsync}
\end_layout
\end_inset
for reverse PDF search,
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
usepackage[active]{srcltx}
\end_layout
\end_inset
for reverse DVI search.
\end_layout
\begin_layout Standard
If you want to be able to perform both DVI and PDF reverse searches, you
can also insert in the preamble the following lines
\end_layout
\begin_layout LyX-Code
\backslash
usepackage{ifpdf}
\begin_inset Newline newline
\end_inset
\backslash
ifpdf
\begin_inset Newline newline
\end_inset
\backslash
usepackage{pdfsync}
\begin_inset Newline newline
\end_inset
\backslash
else
\begin_inset Newline newline
\end_inset
\backslash
usepackage[active]{srcltx}
\begin_inset Newline newline
\end_inset
\backslash
fi
\end_layout
\begin_layout Standard
This way, you can preview the file as either DVI or PDF (pdflatex) and the
right package will be used.
\end_layout
\begin_layout Standard
Note that PDFSync might affect the output layout of your document.
It is therefore advised to disable PDFsync for final documents.
\end_layout
\begin_layout Subsubsection*
Built-in reverse search via SyncTeX (DVI and PDF)
\end_layout
\begin_layout Standard
Recent versions of
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
(pdf)latex
\end_layout
\end_inset
have built-in support for both PDF and DVI reverse search.
This so-called
\emph on
SyncTeX
\emph default
facility is basically the result of the integration of the PDFSync package
to the pdftex program and its merge with the
\emph on
scr-specials
\emph default
approach.
You need at least TeXLive 2008 or a recent MikTeX distribution in order
to use it.
Also note that only a few PDF viewers (Skim on the Mac, SumatraPDF on Windows)
already provide SyncTeX support.
\end_layout
\begin_layout Standard
To enable SyncTeX for DVI output, change the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
LaT
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
{}
\end_layout
\end_inset
eX (plain) -> DVI
\end_layout
\end_inset
or
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
LaT
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
{}
\end_layout
\end_inset
eX (plain) -> DraftDVI
\end_layout
\end_inset
converter in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Preferences\SpecialChar \menuseparator
File Handling\SpecialChar \menuseparator
Converters
\end_layout
\end_inset
to
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
latex -synctex=1 $$i
\end_layout
\end_inset
, and for PDF output, change the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
LaT
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
{}
\end_layout
\end_inset
eX (pdflatex) -> PDF (pdflatex)
\end_layout
\end_inset
or converter to
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
pdflatex -synctex=1 $$i
\end_layout
\end_inset
.
Check the documentation of your viewer whether the viewer needs to be configure
d for the use with SyncTeX.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Note that the option
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-synctex=1
\end_layout
\end_inset
option enables gzip compression.
If your viewer does not support it, you should instead use
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-synctex=-1
\end_layout
\end_inset
.
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Configuring and using specific viewers
\begin_inset CommandInset label
LatexCommand label
name "sub:configuring-viewers"
\end_inset
\end_layout
\begin_layout Subsubsection*
Xdvi (all platforms)
\end_layout
\begin_layout Standard
If you use
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
xdvi
\end_layout
\end_inset
, you don't need to do anything else for performing a reverse DVI search,
as LyX already provides the necessary hooks for automatically using the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxclient
\end_layout
\end_inset
program.
Just setup your document as described above (reverse search is triggered
by Ctrl-click or Alt-click on Mac OSX, respectively).
\end_layout
\begin_layout Standard
However, if for whatever reason you want to use the named pipe instead of
the socket for communicating with LyX, simply change the DVI viewer in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Preferences\SpecialChar \menuseparator
File Handling\SpecialChar \menuseparator
File formats
\end_layout
\end_inset
to
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
On Mac OSX you have to use
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
DISPLAY=:0.0 xdvi -editor 'lyxeditor.sh %f %l'
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
xdvi -editor 'lyxeditor.sh %f %l'
\end_layout
\end_inset
, where
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.sh
\end_layout
\end_inset
is a suitable script.
For example, a minimal shell script is the following one:
\end_layout
\begin_layout LyX-Code
#!/bin/sh
\begin_inset Newline newline
\end_inset
LYXPIPE="/path/to/lyxpipe"
\begin_inset Newline newline
\end_inset
COMMAND="LYXCMD:revdvi:server-goto-file-row:$1 $2"
\begin_inset Newline newline
\end_inset
echo "$COMMAND" > "${LYXPIPE}".in || exit
\begin_inset Newline newline
\end_inset
read < "${LYXPIPE}".out || exit
\end_layout
\begin_layout Standard
where
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
/path/to/lyxpipe
\end_layout
\end_inset
is the Ly
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
{}
\end_layout
\end_inset
XServer pipe path specified in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Preferences\SpecialChar \menuseparator
Paths
\end_layout
\end_inset
.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
In the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
development/tools
\end_layout
\end_inset
folder of a source distribution you can find a
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor
\end_layout
\end_inset
script which is able to locate the
\emph on
lyxpipe
\emph default
based on your preferences.
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection*
MacDviX (Mac OSX)
\end_layout
\begin_layout Standard
At the end of
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
/Applications/MacDviX_Folder/calleditor.script
\end_layout
\end_inset
, add the following lines:
\end_layout
\begin_layout LyX-Code
/Applications/Ly
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
{}
\end_layout
\end_inset
X.app/Contents/MacOS/lyxeditor "$2" $1
\begin_inset Newline newline
\end_inset
exit 1
\end_layout
\begin_layout Standard
Modify the lines accordingly if you install LyX somewhere else than in the
Applications folder.
\end_layout
\begin_layout Standard
Reverse search is triggered by Alt-click (OPTION-click).
\end_layout
\begin_layout Subsubsection*
Skim (Mac OSX)
\end_layout
\begin_layout Standard
Enter
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
open -a Skim.app $$i
\end_layout
\end_inset
to the viewer setting in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Preferences\SpecialChar \menuseparator
File Handling\SpecialChar \menuseparator
File formats\SpecialChar \menuseparator
PDF (pdflatex)
\end_layout
\end_inset
, and then in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Skim\SpecialChar \menuseparator
Preferences\SpecialChar \menuseparator
Sync
\end_layout
\end_inset
select Ly
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
{}
\end_layout
\end_inset
X.
\end_layout
\begin_layout Standard
Reverse search is triggered by COMMAND-SHIFT-click
\end_layout
\begin_layout Subsubsection*
Okular (KDE)
\end_layout
\begin_layout Standard
Go to
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Settings\SpecialChar \menuseparator
Configure Okular\SpecialChar \ldots{}
\SpecialChar \menuseparator
Editor
\end_layout
\end_inset
, select
\begin_inset Quotes eld
\end_inset
Custom Text Editor
\begin_inset Quotes erd
\end_inset
and add the command
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxclient -g %f %l
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Reverse search is triggered by SHIFT-click.
\end_layout
\begin_layout Subsubsection*
YAP (Windows)
\end_layout
\begin_layout Standard
Launch yap, choose its
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
View\SpecialChar \menuseparator
Options
\end_layout
\end_inset
menu and select the
\begin_inset Quotes eld
\end_inset
Inverse DVI Search
\begin_inset Quotes erd
\end_inset
tab.
Click on the
\begin_inset Quotes eld
\end_inset
New\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
button and, in the window that opens, enter
\begin_inset Quotes eld
\end_inset
LyX Editor
\begin_inset Quotes erd
\end_inset
(or any other name you like) in the
\begin_inset Quotes eld
\end_inset
Name:
\begin_inset Quotes erd
\end_inset
field.
Now click on the button labeled
\begin_inset Quotes eld
\end_inset
\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
to open a file dialog and navigate to the directory containing the batch
file
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.bat
\end_layout
\end_inset
(see below).
Select
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.bat
\end_layout
\end_inset
and then specify the program arguments as
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
%f %l
\end_layout
\end_inset
.
The
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.bat
\end_layout
\end_inset
wrapper is used for communicating with LyX through the
\emph on
lyxpipe
\emph default
and is as follows:
\end_layout
\begin_layout LyX-Code
@echo off
\begin_inset Newline newline
\end_inset
echo LYXCMD:revdvi:server-goto-file-row:%1 %2>
\backslash
\backslash
.
\backslash
pipe
\backslash
lyxpipe.in
\begin_inset Newline newline
\end_inset
type
\backslash
\backslash
.
\backslash
pipe
\backslash
lyxpipe.out
\end_layout
\begin_layout Standard
Make sure that the LyXServer pipe path you specified in LyX is
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
\backslash
.
\backslash
pipe
\backslash
lyxpipe
\end_layout
\end_inset
, otherwise change the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.bat
\end_layout
\end_inset
wrapper accordingly.
\end_layout
\begin_layout Standard
In yap, reverse search is triggered by double-click.
\end_layout
\begin_layout Subsubsection*
SumatraPDF (Windows)
\end_layout
\begin_layout Standard
In order to use SumatraPDF for inverse search, enter
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
SumatraPDF -inverse-search "lyxeditor.bat %f %l"
\end_layout
\end_inset
in the viewer setting in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Preferences\SpecialChar \menuseparator
File Handling\SpecialChar \menuseparator
File formats\SpecialChar \menuseparator
PDF (pdflatex)
\end_layout
\end_inset
, where
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.bat
\end_layout
\end_inset
is the previous wrapper.
If SumatraPDF.exe is not in your command PATH, use its full file name.
\end_layout
\begin_layout Standard
Reverse search is triggered by double-click.
\end_layout
\begin_layout Subsubsection*
YAP (Cygwin)
\end_layout
\begin_layout Standard
First of all, make sure that yap is your default DVI viewer in the Windows
environment, then launch it, choose its
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
View\SpecialChar \menuseparator
Options
\end_layout
\end_inset
menu and select the
\begin_inset Quotes eld
\end_inset
Inverse DVI Search
\begin_inset Quotes erd
\end_inset
tab.
Click on the
\begin_inset Quotes eld
\end_inset
New\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
button and, in the window that opens, enter
\begin_inset Quotes eld
\end_inset
LyX Editor
\begin_inset Quotes erd
\end_inset
(or any other name you like) in the
\begin_inset Quotes eld
\end_inset
Name:
\begin_inset Quotes erd
\end_inset
field.
Now click on the button labeled
\begin_inset Quotes eld
\end_inset
\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
to open a file dialog and navigate to the directory containing the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.exe
\end_layout
\end_inset
program (which is installed by default on Cygwin along with the LyX executable).
Select
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.exe
\end_layout
\end_inset
and then specify the program arguments as
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-g %f %l
\end_layout
\end_inset
.
In this way, you will be using the
\emph on
lyxsocket
\emph default
for communicating with LyX.
If, for whatever reason, you want to use the
\emph on
lyxpipe
\emph default
, omit the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-g
\end_layout
\end_inset
option and be sure to specify the LyXServer pipe path in the LyX preferences.
\end_layout
\begin_layout Standard
In yap, reverse search is triggered by double-click.
\end_layout
\begin_layout Subsubsection*
SumatraPDF (Cygwin)
\end_layout
\begin_layout Standard
In order to use SumatraPDF for inverse search, enter
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
SumatraPDF -inverse-search "lyxeditor -g %f %l"
\end_layout
\end_inset
in the viewer setting in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Preferences\SpecialChar \menuseparator
File Handling\SpecialChar \menuseparator
File formats\SpecialChar \menuseparator
PDF (pdflatex)
\end_layout
\end_inset
.
If SumatraPDF.exe is not in your command PATH, use its full posix path.
The
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-g
\end_layout
\end_inset
enables communication via the
\emph on
lyxsocket
\emph default
.
Again, omit the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-g
\end_layout
\end_inset
option if you want to use the
\emph on
lyxpipe
\emph default
, and be sure to specify the LyXServer pipe path in the LyX preferences.
\end_layout
\begin_layout Standard
Reverse search is triggered by double-click.
\end_layout
\begin_layout Section
Forward search
\end_layout
\begin_layout Standard
Forward search is, as the name implies, in a sense the
\begin_inset Quotes eld
\end_inset
opposite
\begin_inset Quotes erd
\end_inset
to reverse search.
It allows you to let the viewer jump to a given position from within LyX.
If forward search is set up (as described in what follows), you can put
the cursor anywhere in your LyX document, and hit
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Navigate\SpecialChar \menuseparator
Forward search
\end_layout
\end_inset
(or select
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Forward search
\end_layout
\end_inset
in the context menu via right mouse click), and then the viewer will jump
to that position as well.
This implies, of course, that your viewer supports this function.
\end_layout
\begin_layout Standard
To make forward search possible, you first need to provide the generated
output PDF/DVI file with additional information about the TeX sources.
This can be done via the methods described in the section
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:rev-search"
\end_inset
.
\end_layout
\begin_layout Standard
Additionally, you need to configure LyX for using your viewers in
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Tools\SpecialChar \menuseparator
Preferences\SpecialChar \menuseparator
Output\SpecialChar \menuseparator
General
\end_layout
\end_inset
.
We provide a range of tested configurations for some viewers, which you
can select from the drop down list.
If none of these configurations suits you, you have to find out and enter
a suitable configuration yourself.
The definition syntax uses the following placeholders:
\end_layout
\begin_layout Itemize
\noindent
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$$n
\end_layout
\end_inset
: row number
\end_layout
\begin_layout Itemize
\noindent
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$$t
\end_layout
\end_inset
: name of the (temporary) exported .tex file
\end_layout
\begin_layout Itemize
\noindent
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$$o
\end_layout
\end_inset
: name of the exported output file (either dvi or pdf, depending on which
one exists in the temporary directory)
\end_layout
\begin_layout Standard
Note that only some of the viewers provide full forward search functionality,
among them yap, xdvi, okular and Sumatra PDF.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
For Sumatra CMCDDE is needed --- downloadable from
\begin_inset CommandInset href
LatexCommand href
target "http://www.istri.fr/zip/CMCDDE.zip"
\end_inset
\end_layout
\end_inset
While many of the widespread PDF viewers (most notably Adobe Reader) do
not support forward search at all, some other viewers -- e.
\begin_inset space \thinspace{}
\end_inset
g.
evince and xpdf -- allow at least to reload the document and jump to a
specific page of the file, so you can at least navigate
\begin_inset Quotes eld
\end_inset
near
\begin_inset Quotes erd
\end_inset
.
These latter functionality is provided by an external call of synctex (see
the predefined example configurations).
\end_layout
\begin_layout Standard
Forward search works both with DVI and PDF output.
LyX simply checks which preview format you have used before (i.
\begin_inset space \thinspace{}
\end_inset
e., which format is already there in the temporary directory) and chooses
the appropriate configuration for the respective format.
\end_layout
\begin_layout Chapter
Special Document Classes
\end_layout
\begin_layout Section
A&A Paper
\end_layout
\begin_layout Standard
by
\noun on
Peter Sütterlin
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
This section describes how LyX can be used to write articles for submission
to the scientific journal
\emph on
Astronomy and Astrophysics
\emph default
(www.edpsciences.fr/aa/
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.edpsciences.fr/aa/
\end_layout
\end_inset
) using Version 5.01 of the document class
\family typewriter
aa.cls
\family default
.
This package can be downloaded from the ftp site
\end_layout
\begin_layout Standard
\begin_inset VSpace medskip
\end_inset
\end_layout
\begin_layout Standard
\align center
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
ftp://ftp.edpsciences.org/pub/aa/readme.html
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset VSpace medskip
\end_inset
\end_layout
\begin_layout Standard
A manual comes together with that package, and this text is not meant to
replace the original manual but is merely a short guide in how to realize
the correct form of your paper.
\end_layout
\begin_layout Standard
Please note that the publisher of the journal was changed from Springer
to EDP Sciences starting January 1, 2001.
That change involved also some slight changes to the style files, namely
the removal of the thesaurus command.
The LyX class aa supports the newest version of these style files, V 5.01.
If you have an older version installed, please upgrade.
For compatibility, the old (version 4) layout has been kept as
\family sans
article (A&A V4)
\family default
.
Please refer to the comments in
\family typewriter
LyXDir/layouts/aapaper.layout
\family default
.
\end_layout
\begin_layout Subsection
Getting started
\end_layout
\begin_layout Standard
It is recommended you start from the example template distributed with LyX.
If you are not using a template, note the following settings:
\end_layout
\begin_layout Itemize
Select
\family sans
article (A&A)
\family default
in the
\family sans
Document\SpecialChar \menuseparator
Settings
\family default
dialog (OK, that one was obvious).
\end_layout
\begin_layout Itemize
Don't change the option
\family sans
Page
\begin_inset space ~
\end_inset
style
\family default
: Leave it set to
\family sans
default
\family default
.
The whole layout is done by the macros, you shouldn't change anything.
\end_layout
\begin_layout Subsection
The header block
\end_layout
\begin_layout Standard
First thing to enter is the header information.
It consists of seven entries, of which some are optional.
They are
\end_layout
\begin_layout Itemize
\family sans
Title
\family default
: [required]
\end_layout
\begin_layout Itemize
\family sans
Subtitle
\family default
: [optional]
\end_layout
\begin_layout Itemize
\family sans
Author
\family default
: [required]
\end_layout
\begin_layout Itemize
\family sans
Address
\family default
: [required]
\end_layout
\begin_layout Itemize
\family sans
Offprints
\family default
: [optional] if more than one author: whom to contact for offprint requests.
\end_layout
\begin_layout Itemize
\family sans
Mail
\family default
: [optional] mail address for contacts.
\end_layout
\begin_layout Itemize
\family sans
Date
\family default
: [required].
Suggested format is
\family typewriter
Received: <date>; Accepted <date>
\end_layout
\begin_layout Standard
There is no need to issue the
\family typewriter
\backslash
maketitle
\family default
command, this is done automatically by LyX when the header is finished.
Although the order of the single header entries doesn't matter it is advised
to keep the above sequence, just to get the best optics and meets the layout
of the real document.
\end_layout
\begin_layout Standard
If you want to place footnotes in the header block, e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
to state your present address, just use the standard footnote via the menu
\family sans
Insert\SpecialChar \menuseparator
Footnote.
\family default
LyX will automagically use the term
\family typewriter
\backslash
thanks{}
\family default
in that case.
\end_layout
\begin_layout Standard
In addition to these topics, the macros use three additional LaTeX commands
that have no counterpart in LyX:
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
and
\family default
to separate different names for more than one author and institute, respectivel
y.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
inst{<nr>}
\family default
to mark corresponding author/institute pairs.
The institutes are numbered sequentially as they appear in the
\family sans
Address
\family default
field, so you have to put a marker to each author.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
email{address}
\family default
to supply an email address for fast contact.
\end_layout
\begin_layout Standard
In all cases, the appropriate command has to be entered in LyX and marked
as LaTeX code.
See the examples.
\end_layout
\begin_layout Subsection
The abstract
\end_layout
\begin_layout Standard
The abstract should immediately follow the header block.
With version 5 the abstract environment was changed to a command, and there
is now a resctriction to only one paragraph.
In addition, it should contain an entry with the keywords.
This is not yet implemented for LyX, therefore you have to enter the LaTeX
command
\family typewriter
\backslash
keywords{}
\family default
by hand and mark it as LaTeX code.
Refer to the example paper.
\end_layout
\begin_layout Subsection
Supported environments
\end_layout
\begin_layout Standard
The A&A paper layout supports the following environments for structuring
your text:
\end_layout
\begin_layout Itemize
\family sans
Standard
\end_layout
\begin_layout Itemize
\family sans
Section
\end_layout
\begin_layout Itemize
\family sans
Subsection
\end_layout
\begin_layout Itemize
\family sans
Subsubsection
\end_layout
\begin_layout Itemize
\family sans
Itemize
\end_layout
\begin_layout Itemize
\family sans
Enumerate
\end_layout
\begin_layout Itemize
\family sans
Description
\end_layout
\begin_layout Itemize
\family sans
Caption
\end_layout
\begin_layout Itemize
\family sans
Abstract
\end_layout
\begin_layout Itemize
\family sans
Acknowledgment
\end_layout
\begin_layout Itemize
\family sans
Bibliography
\end_layout
\begin_layout Itemize
\family sans
LaTeX
\end_layout
\begin_layout Subsection
Commands not supported by LyX
\end_layout
\begin_layout Standard
Some commands are not yet supported by the
\family sans
paper (A&A)
\family default
layout for LyX.
Some have already been mentioned.
For the sake of completeness, they are listed all together here:
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
and
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
email
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
appendix
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
authorrunning
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
inst{}
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
keywords{}
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
object{}
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
titlerunning{}
\end_layout
\begin_layout Standard
If you want to use any of these commands, you have to enter them yourself.
\series bold
Do not forget to mark them as LaTeX code!
\end_layout
\begin_layout Subsection
Figure and Table Floats
\end_layout
\begin_layout Standard
LyX provides support for the necessary float environments
\family sans
figure, figure*, table
\family default
and
\family sans
table*
\family default
, therefore we won't tell much about it here.
Refer to the
\emph on
User's
\begin_inset space ~
\end_inset
Guide
\emph default
.
Just remember that tables should be left-aligned.
For that, select the table and change the alignment in
\family sans
Edit\SpecialChar \menuseparator
Paragraph
\begin_inset space ~
\end_inset
Settings.
\end_layout
\begin_layout Standard
There is only one special thing: the figures with caption besides the figure.
To create such a figure, you have to do the following:
\end_layout
\begin_layout Enumerate
Create a wide figure float:
\family sans
Insert\SpecialChar \menuseparator
Float\SpecialChar \menuseparator
Figure
\family default
, then right click in the figure and select
\family sans
\bar under
S
\bar default
pan
\begin_inset space ~
\end_inset
columns
\family default
.
\end_layout
\begin_layout Enumerate
Enter your caption text.
\end_layout
\begin_layout Enumerate
Press
\family sans
Return
\family default
to move the cursor above the caption.
\end_layout
\begin_layout Enumerate
Insert your figure
\end_layout
\begin_layout Enumerate
Position the cursor behind the figure and insert a horizontal fill:
\family sans
Insert\SpecialChar \menuseparator
Special
\begin_inset space ~
\end_inset
Character\SpecialChar \menuseparator
Horizontal
\begin_inset space ~
\end_inset
Fill
\family default
.
\end_layout
\begin_layout Enumerate
Switch to LaTeX mode:
\family sans
M-c
\begin_inset space ~
\end_inset
t
\family default
.
\end_layout
\begin_layout Enumerate
Enter
\family typewriter
\backslash
parbox[b]{55mm}{
\family default
.
\series bold
Do not close the brace!
\end_layout
\begin_layout Enumerate
Position the cursor behind the caption text, switch to LaTeX mode and insert
the closing brace:
\family sans
M-c
\begin_inset space ~
\end_inset
t
\family default
\family typewriter
}
\family default
.
\end_layout
\begin_layout Standard
Also, refer to the figures in the example paper.
\end_layout
\begin_layout Subsection
Referee layout
\end_layout
\begin_layout Standard
For submission, the paper has to be formated in a special double-spacing
layout.
For this purpose, you have to give the option
\family typewriter
referee
\family default
to the documentclass.
This must be done using the extra class options field in the
\family sans
Document\SpecialChar \menuseparator
Settings
\family default
dialog.
Just enter the string
\family typewriter
referee
\family default
there.
\end_layout
\begin_layout Subsection
The example paper
\end_layout
\begin_layout Standard
The
\family sans
Examples
\family default
directory contains an example paper written with LyX.
It is the example paper from the original macro package, translated to
LyX.
Use it for inspiration, and compare the original LaTeX code with LyX way
of writing.
\end_layout
\begin_layout Section
AASTeX
\end_layout
\begin_layout Standard
by
\noun on
Mike Ressler
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
AASTeX is a set of macros produced by the American Astronomical Society
to facilitate electronic manuscript submission to the three journals they
publish: the Astrophysical Journal (including the Letters and Supplement),
the Astronomical Journal, and the Publications of the Astronomical Society
of the Pacific.
LyX has proven to be an excellent tool for generating these documents,
especially given its equation, citation, and figure handling capabilities.
LyX requires version 5.0 (or higher) of these macros; preferably 5.2, which
is the version described here, or higher.
Versions prior to 5.0 are intended for use with LaTeX2.09 and are fundamentally
incompatible with LyX.
The AASTeX package may be downloaded from the AASTeX Web site
\end_layout
\begin_layout Standard
\begin_inset VSpace medskip
\end_inset
\end_layout
\begin_layout Standard
\align center
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.journals.uchicago.edu/AAS/AASTeX
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset VSpace medskip
\end_inset
\end_layout
\begin_layout Standard
A complete user guide is contained in that package and you should familiarize
yourself with it thoroughly before embarking on writing a paper in LyX.
LyX will not reduce the need to figure out all the AASTeX commands, it
will only reduce the drudgery of typing everything in.
It is your responsibility to ensure that the final exported LaTeX document
conforms completely to the requirements of the journal to which you are
submitting your paper.
\end_layout
\begin_layout Subsection
Starting a New Paper
\end_layout
\begin_layout Standard
I strongly suggest that you start with the AASTeX template file.
Click on
\family sans
File\SpecialChar \menuseparator
New from
\family default
\family sans
Template
\family default
, enter the new file name, then choose the
\family typewriter
aastex.lyx
\family default
template.
This will show the most common fields found in a manuscript.
Simply overwrite the existing text (including the brackets,
\family typewriter
<>
\family default
) with the correct information.
Many of the AASTeX commands and environments can be implemented directly
in LyX, but some cannot: most noticeably
\family typewriter
\backslash
altaffilmark
\family default
and
\family typewriter
\backslash
altaffiltext
\family default
, which should stick out like a sore thumb if you actually just opened the
template file.
For commands such as these, the LaTeX code must be entered directly and
marked as such.
Such commands are referred to as TeX code, or Evil Red Text.
I tried to minimize the amount of TeX code needed in an AASTeX document,
but there is still a bit more required than any of us would like.
\end_layout
\begin_layout Subsection
Finishing Your Paper
\end_layout
\begin_layout Standard
When the paper is finished to your satisfaction and previews/prints correctly,
there are a few
\begin_inset Quotes eld
\end_inset
postprocessing
\begin_inset Quotes erd
\end_inset
actions which need to be done before you submit it to the journals.
\end_layout
\begin_layout Enumerate
Export your paper as a LaTeX file (
\family sans
File\SpecialChar \menuseparator
Export\SpecialChar \menuseparator
LaTeX
\family default
).
\end_layout
\begin_layout Enumerate
Edit the resulting
\family typewriter
.tex
\family default
file with your favorite text editor
\end_layout
\begin_deeper
\begin_layout Enumerate
remove the comment lines before the
\family typewriter
\backslash
documentclass
\family default
command
\end_layout
\begin_layout Enumerate
remove the
\family typewriter
\backslash
usepackage...{fontenc}
\family default
line if it appears (usually just after
\family typewriter
\backslash
documentclass
\family default
}; also remove the
\family typewriter
\backslash
secnumdepth
\family default
line if it appears.
\end_layout
\begin_layout Enumerate
remove everything between (and including) the
\family typewriter
\backslash
makeatletter
\family default
and
\family typewriter
\backslash
makeatother
\family default
commands, except for any commands you specifically put into the LaTeX preamble
(which should appear immediately after the
\begin_inset Quotes eld
\end_inset
User specified LaTeX commands
\begin_inset Quotes erd
\end_inset
comment in the
\family typewriter
.tex
\family default
file).
\end_layout
\end_deeper
\begin_layout Enumerate
Run the resulting file through LaTeX to make sure it still processes correctly.
\end_layout
\begin_layout Enumerate
Reread the journal requirements to make sure your filenames and formats
are correct.
\end_layout
\begin_layout Enumerate
Submit it.
\end_layout
\begin_layout Subsection
Comments On Specific Commands
\end_layout
\begin_layout Standard
I will not describe the detailed usage of the individual AASTeX commands:
the AASTeX User Guide (
\family typewriter
aasguide.tex
\family default
) gives a good description of each.
Thus it's probably easiest for me to go down the list as found in the guide
and offer comments where necessary.
So let's begin \SpecialChar \ldots{}
\end_layout
\begin_layout Subsubsection
Things that work as expected
\end_layout
\begin_layout Standard
Because they work as you might expect, I simply list them and the section
they are found in:
\family typewriter
\backslash
documentclass
\family default
(2.1.1),
\family typewriter
\backslash
begin{document}
\family default
(2.2),
\family typewriter
\backslash
title
\family default
(2.3),
\family typewriter
\backslash
author
\family default
(2.3),
\family typewriter
\backslash
affil
\family default
(2.3),
\family typewriter
\backslash
abstract
\family default
(2.4),
\family typewriter
\backslash
keywords
\family default
(2.5),
\family typewriter
\backslash
section
\family default
(2.7),
\family typewriter
\backslash
subsection
\family default
(2.7),
\family typewriter
\backslash
subsubsection
\family default
(2.7),
\family typewriter
\backslash
paragraph
\family default
(2.7),
\family typewriter
\backslash
facility
\family default
(2.10),
\family typewriter
\backslash
begin{displaymath}
\family default
(2.12),
\family typewriter
\backslash
begin{equation}
\family default
(2.12),
\family typewriter
\backslash
begin{eqnarray}
\family default
(2.12),
\family typewriter
\backslash
begin{mathletters}
\family default
(2.12),
\family typewriter
\backslash
begin{thebibliography}
\family default
(2.13.1),
\family typewriter
\backslash
bibitem
\family default
(2.13.2), all the cite commands and their variations (2.13.2), the generic
graphicx figure commands (2.14.1),
\family typewriter
\backslash
begin{table}
\family default
(2.15.4),
\family typewriter
\backslash
begin{tabular}
\family default
(2.15.4),
\family typewriter
\backslash
caption
\family default
(2.15.4),
\family typewriter
\backslash
label
\family default
(2.15.4, amongst other places),
\family typewriter
\backslash
tablerefs
\family default
(2.15.5),
\family typewriter
\backslash
tablecomments
\family default
(2.15.5),
\family typewriter
\backslash
url
\family default
(2.17.4),
\family typewriter
\backslash
end{document}
\family default
(2.18).
\end_layout
\begin_layout Standard
The following style options also work correctly:
\family typewriter
longabstract
\family default
(2.4),
\family typewriter
preprint
\family default
(3.2.1),
\family typewriter
preprint2
\family default
(3.2.2),
\family typewriter
eqsecnum
\family default
(3.3),
\family typewriter
flushrt
\family default
(3.4).
Simply put them in the
\family sans
Options
\family default
box in
\family sans
Layout\SpecialChar \menuseparator
Document
\family default
.
\end_layout
\begin_layout Subsubsection
Things that work, but require more comment
\end_layout
\begin_layout Standard
The following items work, but require a little more discussion:
\end_layout
\begin_layout Itemize
These items are reserved for use by the journal editors, but you can put
them into the LaTeX preamble if you feel compelled to do so:
\family typewriter
\backslash
received
\family default
,
\family typewriter
\backslash
revised
\family default
,
\family typewriter
\backslash
accepted
\family default
,
\family typewriter
\backslash
ccc
\family default
,
\family typewriter
\backslash
cpright
\family default
(all from 2.1.3)
\end_layout
\begin_layout Itemize
These items may be placed in the LaTeX preamble, and are included as blanks
in the template file:
\family typewriter
\backslash
slugcomment
\family default
(2.1.4),
\family typewriter
\backslash
shorttitle
\family default
(2.1.5),
\family typewriter
\backslash
shortauthors
\family default
(2.1.5)
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
email
\family default
(2.3) can only be used
\begin_inset Quotes eld
\end_inset
standalone
\begin_inset Quotes erd
\end_inset
, not in the middle of a paragraph.
Use TeX code if you need to embed it.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
and
\family default
(2.3) will have extra {} after it.
This should not cause an error.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
notetoeditor
\family default
(2.6) can only be used
\begin_inset Quotes eld
\end_inset
standalone
\begin_inset Quotes erd
\end_inset
, not in the middle of a paragraph.
Use TeX code if you need to embed it.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
placetable
\family default
(2.8) can't insert a cross-reference tag, you must type the tag name by
hand
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
placefigure
\family default
(2.8) same as for
\family typewriter
\backslash
placetable
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
acknowledgements
\family default
(2.9) will have extra {} after it.
This should not cause an error.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
appendix
\family default
(2.11) will have extra {} after it.
This should not cause an error.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
figcaption
\family default
(2.14.2) you can insert an optional filename argument by placing the cursor
at the beginning of the text and selecting
\family sans
Insert\SpecialChar \menuseparator
Short Title
\family default
.
\begin_inset Quotes eld
\end_inset
Short Title
\begin_inset Quotes erd
\end_inset
inserts an optional argument of the type needed by
\family typewriter
\backslash
figcaption
\family default
.
Hopefully it will be renamed someday.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
objectname
\family default
(2.17.1) same as
\family typewriter
\backslash
figcaption
\family default
for the catalog ID optional parameter
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
dataset
\family default
(2.17.1) same as
\family typewriter
\backslash
figcaption
\family default
for the catalog ID optional parameter
\end_layout
\begin_layout Subsubsection
Things not implemented, use TeX code
\end_layout
\begin_layout Standard
\family typewriter
\backslash
altaffilmark
\family default
(2.3),
\family typewriter
\backslash
altaffiltext
\family default
(2.3),
\family typewriter
\backslash
eqnum
\family default
(2.12),
\family typewriter
\backslash
setcounter{equation}
\family default
(2.12), Journal name abbreviations (2.13.4),
\family typewriter
\backslash
figurenum
\family default
(2.14.1),
\family typewriter
\backslash
epsscale
\family default
(2.14.1),
\family typewriter
\backslash
plotone
\family default
(2.14.1),
\family typewriter
\backslash
plottwo
\family default
(2.14.1),
\family typewriter
\backslash
tablenum
\family default
(2.15.4),
\family typewriter
\backslash
tableline
\family default
(2.15.4, insert it as the first element in the lefthand cell after where
you want it.
Don't use any of LyX's rules in the table),
\family typewriter
\backslash
tablenotemark
\family default
(2.15.5),
\family typewriter
\backslash
tablenotetext
\family default
(2.15.5), much of Misc (2.17, except
\family typewriter
\backslash
objectname
\family default
,
\family typewriter
\backslash
dataset
\family default
,
\family typewriter
\backslash
url
\family default
, and
\family typewriter
\backslash
email
\family default
; see above),
\family typewriter
\backslash
singlespace
\family default
(3.1),
\family typewriter
\backslash
doublespace
\family default
(3.1),
\family typewriter
\backslash
onecolumn
\family default
(3.2),
\family typewriter
\backslash
twocolumn
\family default
(3.2)
\end_layout
\begin_layout Subsubsection
Things that cannot be implemented
\end_layout
\begin_layout Standard
\SpecialChar \ldots{}
at least in any meaningful sort of way, so I suggest ignoring them.
They are the references environment (2.13.3), and the deluxetable environment
(2.15).
If you really, really need to use deluxetable, I suggest editing it in
a separate file with a text editor, then using
\family sans
Insert\SpecialChar \menuseparator
Child
\begin_inset space ~
\end_inset
Document
\family default
to include it in your LyX document.
See the
\family typewriter
aas_sample.lyx
\family default
file to see an example of this.
\end_layout
\begin_layout Subsection
FAQs, Tips, Tricks, and Other Ruminations
\end_layout
\begin_layout Subsubsection
Getting LyX and AASTeX to cooperate
\end_layout
\begin_layout Standard
It can be a bit tricky to get LyX to recognize a new layout and document
class.
When all else fails, do this:
\end_layout
\begin_layout Enumerate
Make certain that LaTeX can find AASTeX.
Copy sample.tex (and perhaps table.tex) from the AASTeX distribution into
a directory completely unrelated to LaTeX or AASTeX and run LaTeX on
\family typewriter
sample.tex
\family default
.
\end_layout
\begin_layout Enumerate
Make certain that
\family typewriter
aastex.layout
\family default
appears in LyX's
\family typewriter
layouts
\family default
folder
\end_layout
\begin_layout Enumerate
Rerun
\family sans
Tools\SpecialChar \menuseparator
Reconfigure
\family default
in LyX, then restart LyX.
\end_layout
\begin_layout Enumerate
Open a regular new file, not from a template.
Does AASTeX appear in the class list in
\family sans
Document\SpecialChar \menuseparator
Settings
\family default
?
\end_layout
\begin_layout Standard
If you get a warning from an existing AASTeX document about not being able
to find the AASTeX layout or a message about
\begin_inset Quotes eld
\end_inset
You should not mix title layouts with normal ones
\begin_inset Quotes erd
\end_inset
, things haven't been installed correctly.
\end_layout
\begin_layout Subsubsection
LaTeX error processing a table
\end_layout
\begin_layout Standard
LyX, by default, attempts to center the table caption/title.
This seems to produce a bad interaction in AASTeX so you should click somewhere
in the caption/title, then select
\family sans
Edit\SpecialChar \menuseparator
Paragraph
\begin_inset space ~
\end_inset
Settings
\family default
, then set the
\family sans
Alignment
\family default
to
\family sans
Block
\family default
.
This took care of it for me.
\end_layout
\begin_layout Subsubsection
References
\end_layout
\begin_layout Standard
A couple of things: 1) I have noticed some funny spacing in the reference
entries in the text.
When you enter the bibliography item data, make sure their is
\emph on
no
\emph default
space between the last author and the parenthesis setting off the year;
\emph on
e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\emph default
type
\family typewriter
Ressler(1992)
\family default
, not
\family typewriter
Ressler (1992)
\family default
.
2) Entering the references at all is not obvious.
The easiest thing is to start typing your first reference at the end of
the document, then mark it as type
\family sans
References
\family default
.
That will put a small gray box in front of what you just typed.
Click on the box to fill in the rest of the information.
For new references, go to the end of an existing reference and press return.
That will create a new line with its own box, etc.
\end_layout
\begin_layout Subsubsection
Including EPS files
\end_layout
\begin_layout Standard
Even though AASTeX provides its own figure commands (
\family typewriter
\backslash
plotone
\family default
, for example), I much prefer LaTeX's standard figure commands (with the
default graphicx).
You can insert the
\family typewriter
\backslash
plotone
\family default
, etc.
\begin_inset space ~
\end_inset
commands as TeX code into a Figure Float box if you desire, but I never
have much luck getting the layout right.
With the standard graphics, LyX will insert a
\family typewriter
\backslash
usepackage{graphicx}
\family default
command into the LaTeX preamble and handle the figures in the standard
LaTeX2e way, interspersing the figures in the text.
I believe ApJ accepts figures exactly this way now; AJ might still use
the
\begin_inset Quotes eld
\end_inset
stack everything at the end
\begin_inset Quotes erd
\end_inset
technique.
\end_layout
\begin_layout Subsubsection
Things I could have done, but didn't
\end_layout
\begin_layout Standard
There are a few
\begin_inset Quotes eld
\end_inset
pretty
\begin_inset Quotes erd
\end_inset
things I could have implemented, but chose not to.
For instance, I saw no point in double-spacing the text in the LyX window,
even though it is double-spaced in the paper manuscript.
Also, I chose not to make separate layouts for the preprint and preprint2
styles.
Since I assume you will spend most of your time in the plain manuscript
mode anyway, I decided not to chew up more disk space with this.
\end_layout
\begin_layout Subsection
Final Caveat
\end_layout
\begin_layout Standard
Your mileage may vary.
I've now had papers published by both ApJ and AJ that have had 98% of the
effort done in LyX; the last 2% was the LaTeX post-processing and a few
cleanups.
I have had no trouble with the submission process, and I'm sure the journals
were never aware that there might be a difference.
So, go forth and publish!
\end_layout
\begin_layout Section
AMS LaTeX
\end_layout
\begin_layout Standard
by
\noun on
David Johnson
\noun default
; updated by
\noun on
Richard Heck
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\noindent
The AMS LaTeX layouts are set up to conform to suggested styles for mathematical
papers to be submitted to American Mathematical Society publications.
The layouts are not tailored to a specific journal, but easily can be.
You should refer to the AMS documentation for specific instructions for
each journal (usually it will entail only changing a single line in the
TeX output).
That documentation is available on the Web at
\begin_inset Flex URL
status open
\begin_layout Plain Layout
http://www.ams.org
\end_layout
\end_inset
or by ftp at
\begin_inset Flex URL
status open
\begin_layout Plain Layout
ftp://ftp.ams.org/pub/tex/amslatex/
\end_layout
\end_inset
.
These layouts are appropriate, and useful, for any mathematical writing.
\end_layout
\begin_layout Standard
There are two basic AMS LaTeX layouts:
\end_layout
\begin_layout Itemize
amsart: The standard AMS article format.
\end_layout
\begin_layout Itemize
amsbook: the standard AMS book (really, monograph) format.
\end_layout
\begin_layout Standard
The layouts themselves contain only the minimum necessary to use the AMS
classes.
They do not, in particular, contain any of the `theorem' environments used
for setting theorems, lemmas, and the like.
These are contained, instead, in the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems (AMS)
\end_layout
\end_inset
module, which is loaded by default when when you select one of the AMS
classes.
(It can also be used with other classes and can be removed, if you would
rather use something else.) Less commonly used environments are in the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems (AMS-Extended)
\end_layout
\end_inset
module, which must be loaded manually.
\end_layout
\begin_layout Standard
By default, theorems and the like are numbered consecutively throughout
the document, but this may be modified by loading the module
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems (Order by Section)
\end_layout
\end_inset
or, if you are using
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
book (AMS)
\end_layout
\end_inset
, the module
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems (Order by Chapter)
\end_layout
\end_inset
.
These will number the results as
\begin_inset Formula $n.m$
\end_inset
, where the first number refers to the section (or chapter) and the second
refers to the total number of results so far in that section (or chapter).
Many environments are also available unnumbered.
These are indicated by an asterisk at the end.
If you happen to want
\emph on
only
\emph default
unnumbered results, the module
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems (Starred)
\end_layout
\end_inset
provides that option.
\end_layout
\begin_layout Standard
Note that these modules do not
\emph on
have
\emph default
to be used with the AMS classes.
It is perfectly possible to use the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems (AMS)
\end_layout
\end_inset
module, and the others mentioned, with other classes, such as
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
article
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
report
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
book (KOMA-script)
\end_layout
\end_inset
, and so forth.
\end_layout
\begin_layout Subsection
What these layouts provide
\end_layout
\begin_layout Standard
There is a long list of included environments provided by these layouts.
In AMS-LaTeX, there is, in fact, an opportunity to define an unlimited
variety of `theorem' environments.
However, the AMS recommends the environments that are available in LyX.
\end_layout
\begin_layout Standard
The following environments—as well as the standard environments, such as
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
section
\end_layout
\end_inset
,
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
bibliography
\end_layout
\end_inset
,
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
title
\end_layout
\end_inset
,
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
author
\end_layout
\end_inset
, and
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
date
\end_layout
\end_inset
—are provided by
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
article (AMS)
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
book (AMS)
\end_layout
\end_inset
:
\end_layout
\begin_layout Description
Address This should be the author's permanent address.
\end_layout
\begin_layout Description
Current
\begin_inset space ~
\end_inset
Address This should be the author's temporary address at the time of submission,
if different from the Address.
\end_layout
\begin_layout Description
Email Author's e-mail address
\end_layout
\begin_layout Description
URL Author's Web address, if desired.
\end_layout
\begin_layout Description
Keywords Key words or phrases used to identify specific topics discussed
in the paper.
\end_layout
\begin_layout Description
Subjectclass These refer to the AMS Subject Classifications, published and
described in
\emph on
Mathematical Reviews
\emph default
.
These are also available online at the AMS cites listed above.
\end_layout
\begin_layout Description
Thanks
\end_layout
\begin_layout Description
Dedicatory
\end_layout
\begin_layout Description
Translator
\end_layout
\begin_layout Standard
The following environments are provided by both the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems (AMS)
\end_layout
\end_inset
modules, in the latter case in both starred (unnumbered) and unstarred
(numbered) versions.
These same environments are provided only in the starred versions by the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems (Starred)
\end_layout
\end_inset
module:
\end_layout
\begin_layout Theorem
This is typically used for the statements of major results.
\end_layout
\begin_layout Corollary*
This is used for statements which follow fairly directly from previous statement
s.
Again, these can be major results.
\end_layout
\begin_layout Lemma
These are smaller results needed to prove other statements.
\end_layout
\begin_layout Proposition
These are less major results which (hopefully) add to the general theory
being discussed.
\end_layout
\begin_layout Conjecture
These are statements provided without justification, which the author does
not know how to prove, but which seem to be true (to the author, at least).
\end_layout
\begin_layout Definition*
Guess what this is for.
The font is different for this environment than for the previous ones.
\end_layout
\begin_layout Example*
Used for examples illustrating proven results.
\end_layout
\begin_layout Problem
It's not really known what this is for.
You should figure it out.
\end_layout
\begin_layout Exercise*
Write a description for this one.
\end_layout
\begin_layout Remark
This environment is also a type of theorem, usually a lesser sort of observation.
\end_layout
\begin_layout Claim*
Often used in the course of giving a proof of a larger result.
\end_layout
\begin_layout Case
Generally, these are used to break up long arguments, using specific instances
of some condition.
\end_layout
\begin_layout Case
The numbering scheme for cases is on its own, not together with other numbered
statements.
\end_layout
\begin_layout Proof
At the end of this environment, a QED symbol (usually a square, but it can
vary with different styles) is placed.
If you want to have other environments within this one—for example, Case
environments—and have the QED symbol appear only after them, then the other
environments need to be nested within the proof environment.
See the section
\emph on
Nesting Environments
\emph default
of the
\emph on
User's Guide
\emph default
for information on nesting.
\end_layout
\begin_layout Standard
And these environments are provided by
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Theorems (AMS-Extended)
\end_layout
\end_inset
:
\end_layout
\begin_layout Criterion*
A required condition.
\end_layout
\begin_layout Algorithm*
A general procedure to be used.
\end_layout
\begin_layout Axiom*
This is a property or statement taken as true within the system being discussed.
\end_layout
\begin_layout Condition*
Sometimes used to state a condition assumed within the present context of
discussion.
\end_layout
\begin_layout Note*
Similar to a Remark.
\end_layout
\begin_layout Notation*
Used for the explanation of, yes, notation.
\end_layout
\begin_layout Summary
Do we really need to tell you?
\end_layout
\begin_layout Acknowledgement*
Acknowledgement.
\end_layout
\begin_layout Conclusion*
Sometimes used at the end of a long train of argument.
\end_layout
\begin_layout Fact
Used in a way similar to Proposition, though perhaps lower on the scale.
\end_layout
\begin_layout Standard
In addition, the AMS classes automatically provide the AMS LaTeX and AMS
fonts packages.
They need to be available on your system in order to use these environments.
\end_layout
\begin_layout Section
AGU journals (
\family sans
aguplus
\family default
)
\end_layout
\begin_layout Standard
by
\shape smallcaps
Martin Vermeer
\end_layout
\begin_layout Subsection
Description
\end_layout
\begin_layout Standard
These are the layout files for some of the journals of the American Geophysical
Society.
It is assumed that you have both the AGU's own class files and AGUplus
installed (everything to be found at
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
ftp://ftp.agu.org/journals/latex/journals
\end_layout
\end_inset
).
\end_layout
\begin_layout Subsection
New styles
\end_layout
\begin_layout Standard
Redefined are
\family sans
Paragraph
\family default
,
\family sans
Paragraph*
\family default
.
They are still called this in the LyX GUI, though their LaTeX equivalents
in the AGU classes are
\family sans
Subsubsubsection
\family default
and
\family sans
Subsubsubsection*
\family default
.
\end_layout
\begin_layout Standard
Newly defined styles are
\family sans
Left_Header
\family default
,
\family sans
Right_Header
\family default
,
\family sans
Received
\family default
,
\family sans
Revised
\family default
,
\family sans
Accepted
\family default
,
\family sans
CCC
\family default
,
\family sans
PaperId
\family default
,
\family sans
AuthorAddr
\family default
,
\family sans
SlugComment
\family default
.
These are mostly manuscript attributes and defined in the AGU class documentati
on.
\end_layout
\begin_layout Standard
I suspect this is still badly incomplete.
\end_layout
\begin_layout Subsection
New floats
\end_layout
\begin_layout Standard
\family sans
Planotable
\family default
and
\family sans
Plate
\family default
.
We also have a new
\family sans
Table_Caption
\family default
.
\end_layout
\begin_layout Subsection
Supported journals
\end_layout
\begin_layout Itemize
\emph on
Journal of Geophysical Research
\emph default
:
\family typewriter
jgrga.layout
\family default
— Martin Vermeer
\end_layout
\begin_layout Standard
Add your own, it isn't so hard! Look at the
\family typewriter
jgrga.layout
\family default
example and
\family typewriter
aguplus.inc
\family default
.
\end_layout
\begin_layout Subsection
Bugs and things to remember
\end_layout
\begin_layout Standard
In order to use the new layouts, you must remember to do the following for
a new document:
\end_layout
\begin_layout Enumerate
\emph on
Turn off babel
\emph default
.
This can be done in the
\family sans
Layout\SpecialChar \menuseparator
Document
\family default
or
\family sans
Document\SpecialChar \menuseparator
Settings
\family default
menu item.
(AGU articles are always in English, right? So
\emph on
don't
\emph default
choose a language.)
\end_layout
\begin_layout Enumerate
Enter
\family typewriter
jgrga
\family default
into the document's
\family sans
Extra Options
\family default
field.
(Yes, this is a bug.)
\end_layout
\begin_layout Enumerate
Make sure you use the
\family typewriter
agu.bst
\family default
bibliography style, by entering
\family sans
agu
\family default
into the second field of the BibTeX inset.
None of the standard styles will do.
\end_layout
\begin_layout Section
Broadway
\end_layout
\begin_layout Standard
by
\shape smallcaps
Garst Reese
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
Broadway is for writing plays.
The format is more decorative than Hollywood, and much less standardized.
This format should be suitable for workshops.
\end_layout
\begin_layout Subsection
Special problems
\end_layout
\begin_layout Standard
The same as in Hollywood.
\end_layout
\begin_layout Subsection
Special features
\end_layout
\begin_layout Standard
Insert the
\family sans
Speaker
\family default
names as labels then cross-reference the label to insert the name.
The cross-reference dialog will show the current cast of characters.
\end_layout
\begin_layout Subsection
Paper size and Margins
\end_layout
\begin_layout Standard
USLetter, left 1.6in, right 0.75in, top 0.5in, bottom 0.75in
\end_layout
\begin_layout Subsection
Environments
\end_layout
\begin_layout Standard
The following environments are available.
You can use broadway.bind to get the bind keys shown at the right.
\end_layout
\begin_layout Itemize
\family sans
Standard
\begin_inset Newline newline
\end_inset
\family default
You should not have to use this, but it is here for anything that does not
fit otherwise.
\end_layout
\begin_layout Itemize
\family sans
Narrative
\begin_inset space \hfill{}
\end_inset
M-z n
\begin_inset Newline newline
\end_inset
\family default
Used to describe stage setting and the action.
First use of speaker names in all CAPs.
\end_layout
\begin_layout Itemize
\family sans
ACT
\begin_inset space \hfill{}
\end_inset
M-z a
\begin_inset Newline newline
\end_inset
\family default
Automatically numbered.
On screen it will be arabic, but will print as Roman.
\end_layout
\begin_layout Itemize
\family sans
ACT*
\begin_inset space \hfill{}
\end_inset
M-z S at
\begin_inset Newline newline
\end_inset
\family default
Subtitle for
\family sans
ACT.
\family default
It is just centered text.
\end_layout
\begin_layout Itemize
\family sans
SCENE
\begin_inset space \hfill{}
\end_inset
M-z S-S
\begin_inset Newline newline
\end_inset
\family default
Not automatically numbered.
You supply the number.
This is because I couldn't figure out how.
\end_layout
\begin_layout Itemize
\family sans
AT_RISE:
\begin_inset space \hfill{}
\end_inset
M-z S-R
\begin_inset Newline newline
\end_inset
\family default
A special case of Narrative to describe the setting and action as the curtain
rises.
\end_layout
\begin_layout Itemize
\family sans
Speaker
\begin_inset space \hfill{}
\end_inset
M-z s
\begin_inset Newline newline
\end_inset
\family default
The speaker's (actor's) title, centered in all CAPS.
\end_layout
\begin_layout Itemize
\family sans
Parenthetical
\begin_inset space \hfill{}
\end_inset
M-z p
\begin_inset Newline newline
\end_inset
\family default
Instructions to the speaker.
The parentheses are automatically inserted.
The ( will appear on screen, but both will be in the printed play.
This environment is only used within
\family sans
Dialogue
\family default
.
\end_layout
\begin_layout Itemize
\family sans
Dialogue
\begin_inset space \hfill{}
\end_inset
M-z d
\begin_inset Newline newline
\end_inset
\family default
What the Speaker says.
\end_layout
\begin_layout Itemize
\family sans
CURTAIN
\begin_inset space \hfill{}
\end_inset
M-z S-C
\begin_inset Newline newline
\end_inset
\family default
The curtain comes down.
\end_layout
\begin_layout Itemize
\family sans
Title
\begin_inset space \hfill{}
\end_inset
M-z S-T
\end_layout
\begin_layout Itemize
\family sans
Author
\begin_inset space \hfill{}
\end_inset
M-z S-A
\end_layout
\begin_layout Itemize
\family sans
Right_Address
\begin_inset space \hfill{}
\end_inset
M-z r
\end_layout
\begin_layout Standard
Hello there.
\end_layout
\begin_layout Section
Dinbrief
\end_layout
\begin_layout Standard
The document class
\family sans
dinbrief
\family default
can be used to type letters according to German conventions.
A template file is included in
\family typewriter
.../lyx/share/templates
\family default
for you to use as a starting point.
\end_layout
\begin_layout Section
EGS journals (
\family sans
egs
\family default
)
\end_layout
\begin_layout Standard
by
\shape smallcaps
Martin Vermeer
\end_layout
\begin_layout Subsection
Description
\end_layout
\begin_layout Standard
This is the layout file for the European Geophysical Society journals.
The needed
\family typewriter
egs.cls
\family default
can be downloaded from the web site of the EGS under
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
www.copernicus.org
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsection
New styles
\end_layout
\begin_layout Standard
\family sans
Right_address, Latex_Title, Affil, Journal, msnumber, FirstAuthor, Received,
Accepted
\family default
,
\family sans
Offsets
\family default
.
The current layout file is unfortunately very unmodular and would benefit
from using the various
\family typewriter
std*.inc
\family default
file inclusions.
\end_layout
\begin_layout Section
Elsevier Journals
\end_layout
\begin_layout Standard
See the LyX template file
\family typewriter
elsarticle.lyx
\family default
.
It contains all infos you need.
\end_layout
\begin_layout Section
Foils [aka
\family sans
FoilTeX
\family default
]
\begin_inset CommandInset label
LatexCommand label
name "sec:foiltex"
\end_inset
\end_layout
\begin_layout Standard
by
\noun on
Allan Rae
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
This section describes how to use LyX to make slides for overhead projectors.
There are two document classes that can do this: the default slides class
and the
\family sans
FoilTeX
\family default
slides class.
This section documents the latter.
\end_layout
\begin_layout Standard
I'm going to say this again, nice and clear, so that there's no misunderstanding
:
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\align center
\size large
This section documents the class
\begin_inset Quotes eld
\end_inset
\family sans
slides (FoilTeX)
\family default
\begin_inset Quotes erd
\end_inset
\emph on
only.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
If you're looking for the documentation for
\begin_inset Quotes eld
\end_inset
\family sans
slides (default)
\family default
\begin_inset Quotes erd
\end_inset
, check out section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:slitex"
\end_inset
.
If your machine doesn't have the
\family sans
foils
\family default
class [
\begin_inset Quotes eld
\end_inset
\family sans
slides (FoilTeX)
\family default
\begin_inset Quotes erd
\end_inset
] installed, you'll probably have to use the default
\family sans
slides
\family default
class, which isn't quite as good as
\family sans
foils.
\end_layout
\begin_layout Standard
The
\family sans
foils
\family default
class is designed for use with version 2.1 of the
\family sans
foils.cls
\family default
LaTeX class file which is now an integral part of LaTeX2e.
\end_layout
\begin_layout Subsection
Getting Started
\end_layout
\begin_layout Standard
Obviously, to use this document class, you need to select
\begin_inset Quotes eld
\end_inset
\family sans
slides (FoilTeX)
\family default
\begin_inset Quotes erd
\end_inset
from the
\family sans
Class
\family default
entry in the
\family sans
Document
\begin_inset space ~
\end_inset
Layout
\family default
dialog.
There are some settings in the
\family sans
Document
\begin_inset space ~
\end_inset
Layout
\family default
dialog that you should know about that are specific to this class:
\end_layout
\begin_layout Itemize
Don't change the options
\family sans
Sides
\family default
and
\family sans
Columns
\family default
on the
\family sans
Document
\begin_inset space ~
\end_inset
Layout
\family default
dialog.
They're ignored by the
\family sans
foils
\family default
class.
\end_layout
\begin_layout Itemize
The default font size is 20
\begin_inset space \thinspace{}
\end_inset
pt with the other options being 17
\begin_inset space \thinspace{}
\end_inset
pt, 25
\begin_inset space \thinspace{}
\end_inset
pt and 30
\begin_inset space \thinspace{}
\end_inset
pt.
\end_layout
\begin_layout Itemize
The default font is
\family sans
sans
\family default
\family sans
serif
\family default
but all math equations are still typeset in the usual roman font.
\end_layout
\begin_layout Itemize
\family sans
FoilTeX
\family default
supports A4 and Letter paper sizes as well as a special size for working
with 35
\begin_inset space \thinspace{}
\end_inset
mm slides.
It doesn't support A5, B5, legal or executive paper sizes.
\end_layout
\begin_layout Itemize
Don't bother changing the
\family sans
Float Placement
\family default
settings because they are ignored anyway.
All floats appear where they are defined in the text.
\end_layout
\begin_layout Itemize
The
\family sans
Pagestyle
\family default
setting behaves a bit differently for this class.
\family sans
FoilTeX
\family default
provides extensive footer and header capabilities including a user-defined
logo.
See section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:foilfoot"
\end_inset
for more details.
The title page is treated differently to all other pages in the document
and is
\emph on
always
\emph default
unnumbered and
\emph on
always
\emph default
has the logo centered at the bottom of the page (if one is defined).
The possible page style choices and what they do are as follows:
\end_layout
\begin_deeper
\begin_layout Labeling
\labelwidthstring MMMMMMM
\family sans
\series bold
empty
\family default
\series default
The final output contains no page numbers, or other headers or footers
(except footnotes of course).
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMM
\family sans
\series bold
plain
\family default
\series default
The final output contains page numbers centered at the bottom of the page.
No other headings or footers (other than footnotes).
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMM
\series bold
foilheadings
\series default
Page numbers in lower right corner.
Additional headers and footers are also shown.
This is also the default.
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMM
\series bold
fancy
\series default
Gives you access to the
\family sans
fancyheadings
\family default
package although its use with
\family sans
FoilTeX
\family default
is discouraged by the writer of the
\family sans
FoilTeX
\family default
package because of some potential page layout clashes.
\end_layout
\end_deeper
\begin_layout Subsubsection
Extra Options
\end_layout
\begin_layout Standard
The following options may be used in the extra class options in the
\family sans
Document\SpecialChar \menuseparator
Settings
\family default
dialog.
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMx
\series bold
35mmSlide
\series default
This sets up the page layout for 7.33
\begin_inset space \thinspace{}
\end_inset
in by 11
\begin_inset space \thinspace{}
\end_inset
in paper, which is about the same aspect ratio as a 35
\begin_inset space \thinspace{}
\end_inset
mm slide, making it a bit easier to work with this medium.
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMx
\series bold
headrule
\series default
Places a rule across the page below the header on every page except the
title page.
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMx
\series bold
footrule
\series default
Places a rule across the page above the footer on every page except the
title page.
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMx
\series bold
dvips
\series default
This is automatically set each time you create a new
\family sans
foils
\family default
document.
This option tells
\family sans
FoilTeX
\family default
to use the dvips driver to rotate those pages that are set as landscape
foils.
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMx
\series bold
landscape
\series default
Simply changes the page dimensions to those of a landscape page but doesn't
do any rotation.
Thus if you use this option you need to use an external program to rotate
each page or feed your paper through your printer as landscape.
Note that this option effectively reverses the roles of the
\family sans
Foilhead
\family default
and
\family sans
Rotatefoilhead
\family default
environments (don't worry these are described in the next section).
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMx
\series bold
leqno
\series default
Equation numbers on the left.
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMx
\series bold
fleqn
\series default
Flush-left equations.
\end_layout
\begin_layout Subsection
Supported Environments
\end_layout
\begin_layout Standard
Most of the environments commonly supported in other classes are also supported
by the
\family sans
foils
\family default
class.
There are several additional environments provided by
\family sans
FoilTeX
\family default
as well as a couple added by LyX.
The following environments are shared with other classes:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
begin{multicols}{2}
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\family sans
Standard
\end_layout
\begin_layout Itemize
\family sans
Itemize
\end_layout
\begin_layout Itemize
\family sans
Enumerate
\end_layout
\begin_layout Itemize
\family sans
Description
\end_layout
\begin_layout Itemize
\family sans
List
\end_layout
\begin_layout Itemize
\family sans
LyX-Code
\end_layout
\begin_layout Itemize
\family sans
Verse
\end_layout
\begin_layout Itemize
\family sans
Quote
\end_layout
\begin_layout Itemize
\family sans
Quotation
\end_layout
\begin_layout Itemize
\family sans
Title
\end_layout
\begin_layout Itemize
\family sans
Author
\end_layout
\begin_layout Itemize
\family sans
Date
\end_layout
\begin_layout Itemize
\family sans
Abstract
\end_layout
\begin_layout Itemize
\family sans
Bibliography
\end_layout
\begin_layout Itemize
\family sans
Address
\end_layout
\begin_layout Itemize
\family sans
RightAddress
\end_layout
\begin_layout Itemize
\family sans
Caption
\end_layout
\begin_layout Itemize
\family sans
Comment
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
end{multicols}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
That is, all the major environments apart from the sectioning environments.
Since foils are essentially self-contained sections, with a title and body,
\family sans
FoilTeX
\family default
provides specific commands for starting new foils and these are:
\end_layout
\begin_layout Itemize
\family sans
Foilhead
\end_layout
\begin_layout Itemize
\family sans
Rotatefoilhead
\end_layout
\begin_layout Standard
LyX also provides slightly modified versions of these two environments called:
\end_layout
\begin_layout Itemize
\family sans
ShortFoilhead
\end_layout
\begin_layout Itemize
\family sans
ShortRotatefoilhead
\end_layout
\begin_layout Standard
and the differences will be explained in the next section.
\end_layout
\begin_layout Standard
Since foils are often used in presenting ideas or new theorems and such
\family sans
FoilTeX
\family default
also provides a comprehensive box of goodies for presenting them:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
begin{multicols}{2}
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\family sans
Theorem
\end_layout
\begin_layout Itemize
\family sans
Lemma
\end_layout
\begin_layout Itemize
\family sans
Corollary
\end_layout
\begin_layout Itemize
\family sans
Proposition
\end_layout
\begin_layout Itemize
\family sans
Definition
\end_layout
\begin_layout Itemize
\family sans
Proof
\end_layout
\begin_layout Itemize
\family sans
Theorem*
\end_layout
\begin_layout Itemize
\family sans
Lemma*
\end_layout
\begin_layout Itemize
\family sans
Corollary*
\end_layout
\begin_layout Itemize
\family sans
Proposition*
\end_layout
\begin_layout Itemize
\family sans
Definition*
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
end{multicols}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
The starred versions are unnumbered while the unstarred versions are numbered.
There are also two list environments added by LyX and these are:
\end_layout
\begin_layout Itemize
\family sans
TickList
\end_layout
\begin_layout Itemize
\family sans
CrossList
\end_layout
\begin_layout Standard
\family sans
FoilTeX
\family default
provides some powerful header and footer capabilities that are best set
in the preamble although they may be set at any point in a document.
If you want to change these settings in your document the best place to
do so is at the very top of a foil, i.
\begin_inset space \thinspace{}
\end_inset
g.
\emph on
\begin_inset space \space{}
\end_inset
\emph default
straight after the foilhead.
\end_layout
\begin_layout Standard
For this purpose, the following command styles are provided [
\shape smallcaps
Martin Vermeer
\shape default
]:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
begin{multicols}{2}
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\family sans
My
\begin_inset space ~
\end_inset
Logo
\end_layout
\begin_layout Itemize
\family sans
Restriction
\end_layout
\begin_layout Itemize
\family sans
Right
\begin_inset space ~
\end_inset
Footer
\end_layout
\begin_layout Itemize
\family sans
Right
\begin_inset space ~
\end_inset
Header
\end_layout
\begin_layout Itemize
\family sans
Left
\begin_inset space ~
\end_inset
Header
\end_layout
\begin_deeper
\begin_layout Standard
\begin_inset space ~
\end_inset
\end_layout
\end_deeper
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
end{multicols}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
There are also a few commands provided by
\family sans
FoilTeX
\family default
that aren't directly supported by LyX but I'll tell you what they do and
how to use them in section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:unsuppfoils"
\end_inset
.
\end_layout
\begin_layout Subsection
Building a Set of Foils
\end_layout
\begin_layout Standard
This section will give a simple introduction to using the different environments
to build a set of foils.
If you want to see an example set of foils, take a look at the
\family typewriter
Foils.lyx
\family default
file you find in LyX's
\family typewriter
examples
\family default
folder.
\end_layout
\begin_layout Subsubsection
Give It a Title Page
\end_layout
\begin_layout Standard
Unlike other classes that provide
\family sans
Title
\family default
,
\family sans
Author
\family default
,
\family sans
Date
\family default
and
\family sans
Abstract
\family default
environments,
\family sans
foils
\family default
creates the title on a page of its own.
If you leave out the
\family sans
Date
\family default
environment LaTeX will substitute the current date (every time you regenerate
the output).
\end_layout
\begin_layout Subsubsection
Start a New Foil
\end_layout
\begin_layout Standard
As I mentioned earlier, there are four ways of starting a new foil.
For portrait foils you should use
\family sans
Foilhead
\family default
or
\family sans
ShortFoilhead.
\family default
The difference between these two environments is the amount of space between
the title of the foil (the foilhead) and the body of the foil.
\end_layout
\begin_layout Standard
Landscape foils are generated using the
\family sans
Rotatefoilhead
\family default
and
\family sans
ShortRotatefoilhead
\family default
environments.
Again the only difference is the spacing between foilhead and body.
Both of the short versions have 0.5 inches less separation between the foilhead
and the body.
\end_layout
\begin_layout Standard
One problem with the support for landscape foils is the requirement that
you have to use the
\family typewriter
dvips
\family default
driver to generate the PostScript output otherwise the foils won't be rotated.
It is possible to get landscape foils even if you haven't got the
\family typewriter
dvips
\family default
driver provided you can feed your foils sideways through your printer ;-)
\end_layout
\begin_layout Subsubsection
Theorems, Lemmas, Proofs and more
\end_layout
\begin_layout Standard
Due to a small bug in LyX you can't have two of the same type of these environme
nts directly following each other.
They must be separated by something.
If you try, you will just be extending the previous environment as if you
had merged the two environments together.
So, how do you get around this problem? The simplest option is to insert
some text between the two environments or add a
\family sans
LaTeX
\family default
environment between the two with just a
\begin_inset Quotes eld
\end_inset
\family typewriter
%
\family default
\begin_inset Quotes erd
\end_inset
in it.
This will force LyX to produce two separate environments and hence the
correct LaTeX output.
An example is provided in the example file included with the LyX distribution.
Remember, this problem only occurs if you are trying to place two of the
same type of theorem-like environments one directly after the other.
\end_layout
\begin_layout Subsubsection
Lists
\end_layout
\begin_layout Standard
You get all the commonly supported list styles found in other classes as
well as two new ones.
I'll only describe the new ones here.
If you want to find out more about the other list environments check out
the
\emph on
User's Guide.
\emph default
If you intend to use itemized lists you might also want to read about the
\family sans
Itemize
\begin_inset space ~
\end_inset
Bullet
\begin_inset space ~
\end_inset
Selection
\family default
dialog described above in section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:bullet"
\end_inset
.
\end_layout
\begin_layout Standard
The two new list styles,
\family sans
TickList
\family default
and
\family sans
CrossList
\family default
, are designed to make it easier for you to create lists of do's and don'ts
or right and wrong by providing dedicated environments that use a tick
or a cross as the label of the list.
These lists are in fact dedicated variants of the
\family sans
Itemize
\family default
environment.
They do however require that you have the
\family typewriter
psnfss
\family default
packages installed.
\end_layout
\begin_layout Subsubsection
Figures and Tables
\end_layout
\begin_layout Standard
\family sans
FoilTeX
\family default
redefines the floating tables and figures so that they appear exactly where
they are in the text rather than pushing them to the top of the page or
to some user specified location.
In fact if you change the float placement settings they are simply ignored.
\end_layout
\begin_layout Subsubsection
Page Headers and Footers
\begin_inset CommandInset label
LatexCommand label
name "sec:foilfoot"
\end_inset
\end_layout
\begin_layout Standard
\family sans
My
\begin_inset space ~
\end_inset
Logo
\family default
and
\family sans
Restriction
\family default
are two commands used to control the left-footer text string.
The first is meant to allow you to include a graphic logo on your foils
and defaults to
\begin_inset Quotes eld
\end_inset
-Typeset by
\family sans
FoilTeX
\family default
-
\begin_inset Quotes erd
\end_inset
.
While the second is meant to provide a classification for the audience,
\emph on
e.
\begin_inset space \thinspace{}
\end_inset
g.
\emph default
\begin_inset space \space{}
\end_inset
Confidential.
It is empty by default.
\end_layout
\begin_layout Standard
The remaining page corners can be filled by
\family sans
Right
\begin_inset space ~
\end_inset
Footer
\family default
(which defaults to page numbers),
\family sans
Right
\begin_inset space ~
\end_inset
Header
\family default
(top right) and
\family sans
Left
\begin_inset space ~
\end_inset
Header
\family default
(top left).
\end_layout
\begin_layout Subsection
Unsupported
\family sans
FoilTeX
\family default
Goodies
\begin_inset CommandInset label
LatexCommand label
name "sec:unsuppfoils"
\end_inset
\end_layout
\begin_layout Standard
All the commands mentioned below need to be set in a
\family sans
LaTeX
\family default
environment or as
\family sans
TeX
\family default
within another environment.
\end_layout
\begin_layout Subsubsection
Lengths
\end_layout
\begin_layout Standard
All lengths are adjusted using the
\family typewriter
\backslash
setlength{
\family default
\emph on
lengthname
\family typewriter
\emph default
}{
\family default
\emph on
newlength
\family typewriter
\emph default
}
\family default
command.
Where
\emph on
lengthname
\emph default
should be replaced by the name given to the length you want to change and
\emph on
newlength
\emph default
is the length value.
All lengths should be specified in units of length such as inches (
\family typewriter
in
\family default
), millimeters (
\family typewriter
mm
\family default
) or points (
\family typewriter
pt
\family default
) or relative to some document or font-based length such as
\family typewriter
\backslash
textwidth
\family default
.
\end_layout
\begin_layout Standard
It's possible to change the spacing between a foilhead and the body of the
foil by adjusting the length specified by
\family typewriter
\backslash
foilheadskip
\family default
.
For example, to make
\emph on
all
\emph default
foilheads 0.5
\begin_inset space \space{}
\end_inset
in closer to their bodies put the following in the preamble:
\family typewriter
\backslash
setlength{
\backslash
foilheadskip}{-0.5in}
\end_layout
\begin_layout Standard
The spacings around floats can be adjusted by setting these lengths:
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMMMMMM
\family typewriter
\backslash
abovefloatskip
\family default
Separation between the text and the top of the float
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMMMMMM
\family typewriter
\backslash
abovecaptionskip
\family default
Separation between the float and the caption
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMMMMMM
\family typewriter
\backslash
belowcaptionskip
\family default
Separation between the caption and the following text
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMMMMMM
\family typewriter
\backslash
captionwidth
\family default
You can make the captions narrower than the surrounding text by adjusting
this length.
Best done relative to
\family typewriter
\backslash
textwidth
\family default
.
\end_layout
\begin_layout Standard
There are also several title page related lengths that you may find useful
if you have a long title or several authors:
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMMMMMM
\family typewriter
\backslash
abovetitleskip
\family default
Separation from headers to
\family sans
Title
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMMMMMM
\family typewriter
\backslash
titleauthorskip
\family default
between
\family sans
Title
\family default
and
\family sans
Author
\family default
environments
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMMMMMM
\family typewriter
\backslash
authorauthorskip
\family default
between multiple
\family sans
Author
\family default
lines
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMMMMMM
\family typewriter
\backslash
authordateskip
\family default
between the
\family sans
Author
\family default
and the
\family sans
Date
\end_layout
\begin_layout Labeling
\labelwidthstring MMMMMMMMMMM
\family typewriter
\backslash
dateabstractskip
\family default
between the
\family sans
Date
\family default
and the
\family sans
Abstract
\end_layout
\begin_layout Standard
The last length related command affects all the list environments.
If you place
\family typewriter
\backslash
zerolistvertdimens
\family default
\emph on
inside
\emph default
a list environment then all the vertical spacing between the list items
is removed.
Note that this is a command not a length so it doesn't require
\family typewriter
\backslash
setlength
\family default
like the stuff mentioned above.
\end_layout
\begin_layout Subsubsection
Headers and Footers
\end_layout
\begin_layout Standard
The
\family typewriter
\backslash
LogoOn
\family default
and
\family typewriter
\backslash
LogoOff
\family default
commands control whether the logo in the
\family sans
MyLogo
\family default
definition appear on a given page.
If you put
\family typewriter
\backslash
LogoOff
\family default
in the preamble then none of the foils will have the logo on them.
If you don't want the logo on a particular page place the
\family typewriter
\backslash
LogoOff
\family default
directly after the foilhead of that page and the
\family typewriter
\backslash
LogoOn
\family default
directly after the next foilhead.
\end_layout
\begin_layout Standard
If you decide to use the
\family sans
fancy
\family default
page style setting in the
\family sans
Document
\begin_inset space ~
\end_inset
Layout
\family default
dialog you should probably add
\family typewriter
\backslash
let
\backslash
headwidth
\backslash
textwidth
\family default
to your preamble so headers and footers on landscape pages are correctly
placed when rotated.
This is due to some clashes between the page layouts provided by the
\family sans
fancyheadings
\family default
package and the
\family sans
foils
\family default
class.
\end_layout
\begin_layout Section
Hollywood (Hollywood spec scripts)
\end_layout
\begin_layout Standard
by
\shape smallcaps
Garst Reese
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
Getting the format of a Hollywood script right is a
\begin_inset Quotes eld
\end_inset
rite of passage.
\begin_inset Quotes erd
\end_inset
It is designed to make the readers focus on content and to be easy and
familiar for the actors to read.
Each page of a script should be one minute of film.
Nothing goes in a script that you cannot see or hear on screen.
The courier 12 pt font should be used throughout.
No italics.
\end_layout
\begin_layout Subsection
Special problems
\end_layout
\begin_layout Standard
Speakers' lines should NEVER break in mid-sentence.
If a speaker's lines continue over a page break, repeat the
\family sans
Speaker
\family default
title followed by (Cont'd).
\end_layout
\begin_layout Subsection
Special features
\end_layout
\begin_layout Standard
Insert the
\family sans
Speaker
\family default
names as labels then cross-reference the label to insert the name.
The cross-reference dialog will show the current cast of characters.
You can use this to insert the speaker name in narratives also.
\end_layout
\begin_layout Subsection
Paper size and Margins
\end_layout
\begin_layout Standard
USLetter, left 1.6in, right 0.75in, top 0.5in, bottom 0.75in
\end_layout
\begin_layout Subsection
Environments
\end_layout
\begin_layout Standard
The following environments are available.
You can use hollywood.bind to get the bind keys shown at the right.
\end_layout
\begin_layout Itemize
\family sans
Standard
\begin_inset Newline newline
\end_inset
\family default
Used where nothing else works.
Try to avoid it.
\end_layout
\begin_layout Itemize
\family sans
FADE_IN
\family default
:
\begin_inset space \hfill{}
\end_inset
\family sans
M-z S-I
\family default
\begin_inset Newline newline
\end_inset
Usually followed by something like
\begin_inset Quotes eld
\end_inset
on Sally waking up.
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Itemize
\family sans
INT:
\begin_inset space \hfill{}
\end_inset
M-z i
\begin_inset Newline newline
\end_inset
\family default
Introduces a new INTERIOR camera set-up.
Always followed by DAY or NIGHT, or something similar to define the lighting
required.
Everthing on this line in CAPS.
\end_layout
\begin_layout Itemize
\family sans
EXT:
\begin_inset space \hfill{}
\end_inset
M-z e
\begin_inset Newline newline
\end_inset
\family default
Introduces a new EXTERIOR camera set-up.
Everthing on this line in CAPS.
\end_layout
\begin_layout Itemize
\family sans
Speaker
\begin_inset space \hfill{}
\end_inset
M-z s
\begin_inset Newline newline
\end_inset
\family default
The character speaking.
\end_layout
\begin_layout Itemize
\family sans
Parenthetical
\begin_inset space \hfill{}
\end_inset
M-z p
\begin_inset Newline newline
\end_inset
\family default
Instructions to the speaker.
The () are automatically inserted, but only the ( will show in LyX.
Both will be printed.
\end_layout
\begin_layout Itemize
\family sans
Dialogue
\begin_inset space \hfill{}
\end_inset
M-z d
\begin_inset Newline newline
\end_inset
\family default
What the
\family sans
Speaker
\family default
says.
\end_layout
\begin_layout Itemize
\family sans
Transition
\begin_inset space \hfill{}
\end_inset
M-z t
\begin_inset Newline newline
\end_inset
\family default
Camera movement instruction.
e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
CUT TO:
\end_layout
\begin_layout Itemize
\family sans
FADE OUT:
\begin_inset space \hfill{}
\end_inset
M-z S-I
\end_layout
\begin_layout Itemize
\family sans
Author
\begin_inset space \hfill{}
\end_inset
M-z S-A
\end_layout
\begin_layout Itemize
\family sans
Title
\begin_inset space \hfill{}
\end_inset
M-z S-T
\end_layout
\begin_layout Itemize
\family sans
Right_Address
\begin_inset space \hfill{}
\end_inset
M-z r
\end_layout
\begin_layout Subsection
Script jargon
\end_layout
\begin_layout Itemize
(O.S) — off screen
\end_layout
\begin_layout Itemize
(V.0) — voice over
\end_layout
\begin_layout Itemize
b.
\begin_inset space \thinspace{}
\end_inset
g.
— background
\end_layout
\begin_layout Itemize
C.U.
— close-up
\end_layout
\begin_layout Itemize
PAN — camera movement
\end_layout
\begin_layout Itemize
INSERT — cut to close-up of
\end_layout
\begin_layout Section
ijmpc and ijmpd
\end_layout
\begin_layout Standard
by
\noun on
Panayotis Papasotiriou
\end_layout
\begin_layout Subsection
Overview
\end_layout
\begin_layout Standard
The ijmpc package is a set of macros that facilitates electronic manuscript
submission to the
\emph on
International Journal of Modern Physics C
\emph default
.
Similarly, the ijmpd package is for creating manuscripts to be submitted
to the
\emph on
International Journal of Modern Physics D
\emph default
.
Both journals are published by World Scientific.
The corresponding document classes are named
\family typewriter
ws-ijmpc.cls
\family default
and
\family typewriter
ws-ijmpd.cls
\family default
, respectively.
These files, together with instructions for the authors, can be downloaded
from the sites
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.worldscinet.com/ijmpc/mkt/guidelines.shtml
\end_layout
\end_inset
and
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.worldscinet.com/ijmpd/mkt/guidelines.shtml
\end_layout
\end_inset
.
Both packages are modified versions of the standard
\begin_inset Quotes eld
\end_inset
article
\begin_inset Quotes erd
\end_inset
package, and they are almost (but not exactly) identical.
Most of their features are supported by LyX.
I have used LyX successfully to write articles submitted to both journals
without any problem.
\end_layout
\begin_layout Subsection
Writing a paper
\end_layout
\begin_layout Standard
As usual, the easiest way to write a paper is to start with a template.
Click on
\family sans
File\SpecialChar \menuseparator
New from
\family default
\family sans
\bar under
T
\bar default
emplate
\family default
, then choose the
\family typewriter
ijmpc.lyx
\family default
or
\family typewriter
ijmpd.lyx
\family default
template.
This will give an (almost) empty document that includes the most common
fields found in a manuscript.
Simply overwrite the existing text (including the brackets,
\family typewriter
<>
\family default
) with your text.
You should keep in mind the following remarks.
\end_layout
\begin_layout Enumerate
LyX won't let you change the font size and the page style of the document,
because such modifications are not allowed by both packages.
\end_layout
\begin_layout Enumerate
The language of the document should not be changed.
Before previewing your paper, be sure that the babel package is not used.
To do this, click on
\family sans
Tools\SpecialChar \menuseparator
Preferences
\family default
, select the
\family sans
Lang Opts
\family default
tab, deselect the
\family sans
Use babel
\family default
checkbox in the language settings, and click on
\family sans
Apply
\family default
(or
\family sans
Save
\family default
, if you wish to make this change permanent).
\end_layout
\begin_layout Enumerate
The
\begin_inset Quotes eld
\end_inset
Keywords
\begin_inset Quotes erd
\end_inset
style must be used to define keywords.
\end_layout
\begin_layout Enumerate
The ijmpc package provides a style named
\begin_inset Quotes eld
\end_inset
Classification Codes
\begin_inset Quotes erd
\end_inset
, which can be used to define classification codes, such as PACS numbers.
Note that this facility is not supported by the ijmpd package.
\end_layout
\begin_layout Enumerate
Several new environments are available:
\begin_inset Quotes eld
\end_inset
Definition
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Step
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Example
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Remark
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Notation
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Theorem
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Proof
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Corollary
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Lemma
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Proposition
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Prop
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Question
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Claim
\begin_inset Quotes erd
\end_inset
, and
\begin_inset Quotes eld
\end_inset
Conjecture
\begin_inset Quotes erd
\end_inset
.
Their use is more or less obvious.
LyX supports all these environments; it will use the proper label, text
style, and numbering scheme for each of them.
\end_layout
\begin_layout Enumerate
Both packages use basic citations; the natbib package should not be used.
In LyX, citation references are shown as usual; in the output, citations
are shown as superscripts.
If you want to use a citation as normal text, you should use the
\family typewriter
refcite
\family default
command, e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\begin_inset Quotes eld
\end_inset
See Ref.
\begin_inset space \space{}
\end_inset
\family typewriter
\backslash
refcite{key}
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
There is no
\begin_inset Quotes eld
\end_inset
Acknowledgments
\begin_inset Quotes erd
\end_inset
section in both packages.
To put acknowledgments, just use the
\begin_inset Quotes eld
\end_inset
Section*
\begin_inset Quotes erd
\end_inset
environment.
\end_layout
\begin_layout Enumerate
Appendices may be added to the paper,
\emph on
after
\emph default
the Acknowledgments and
\shape italic
before
\shape default
the References.
LyX provides a special environment, called
\begin_inset Quotes eld
\end_inset
Appendices Section
\begin_inset Quotes erd
\end_inset
which marks the beginning of the appendices.
This environment should be left blank; it just sends a LaTeX command, but
nothing is really printed.
In LyX, the word
\begin_inset Quotes eld
\end_inset
Appendix
\begin_inset Quotes erd
\end_inset
is printed with blue letters, as a signal that all sections after that
point are appendices.
To write an appendix, use the
\begin_inset Quotes eld
\end_inset
Appendix
\begin_inset Quotes erd
\end_inset
environment.
LyX will number each appendix with capital letters, as required by both
journals.
Note that
\begin_inset Quotes eld
\end_inset
Appendices Section
\begin_inset Quotes erd
\end_inset
\emph on
must
\emph default
be present before the first appendix; if not, all appendices will be numbered
as normal sections in the output.
\end_layout
\begin_layout Enumerate
The ijmpc and the ijmpd packages use the
\family typewriter
tbl
\family default
command to implement table captions.
As a result, a table created by LyX is printed correctly, but its caption
is ignored.
However, you can use some TeX code to overcome this problem, so that captions
are printed as expected.
To do so, create a float table as usual, remove the caption, and replace
it with the TeX code
\family typewriter
\backslash
tbl{
\emph on
your table caption
\emph default
}{
\family default
(sic); you must also the TeX code
\family typewriter
}
\family default
immediately after the tabular material.
Study the example table included in the template files to see how this
trick is implemented.
Alternatively, If you need table captions, you should implement the whole
table float in a
\family typewriter
.tex
\family default
file, then include this file to the LyX document (
\family sans
Insert\SpecialChar \menuseparator
File\SpecialChar \menuseparator
Child
\begin_inset space ~
\end_inset
Document
\family default
).
Details on how to create a table float can be found in the files
\family typewriter
ws-ijmpc.tex
\family default
and
\family typewriter
ws-ijmpd.tex
\family default
, included in the corresponding packages.
\end_layout
\begin_layout Subsection
Preparing a paper for submission
\end_layout
\begin_layout Standard
Before you submit your paper you must export the LyX document as a LaTeX
file (
\family sans
File\SpecialChar \menuseparator
Export\SpecialChar \menuseparator
LaTeX
\family default
)
\begin_inset Foot
status open
\begin_layout Plain Layout
Actually you have the choice between LaTeX (plain) and pdflatex.
If you intend to use pdflatex to prepare the paper, you should use the
pdflatex option so that included graphics are converted to PDF format,
ready for use by pdflatex.
\end_layout
\end_inset
, then make the following changes to the resulting
\family typewriter
.tex
\family default
file.
\end_layout
\begin_layout Enumerate
Remove the comment lines before the
\family typewriter
\backslash
documentclass
\family default
command.
\end_layout
\begin_layout Enumerate
Remove everything between (and including) the
\family typewriter
\backslash
makeatletter
\family default
and
\family typewriter
\backslash
makeatother
\family default
commands, except for any commands you specifically put into the LaTeX preamble.
\end_layout
\begin_layout Standard
The modified
\family typewriter
.tex
\family default
file should be saved and processed through LaTeX as many times as necessary.
You may also want to check the resulting
\family typewriter
.dvi
\family default
document.
\end_layout
\begin_layout Subsection
Use of TeX code
\end_layout
\begin_layout Standard
The use of TeX code is reduced to two commands, which must be placed at
the top of the document.
If you started writing your paper by using the
\family typewriter
ijmpc.lyx
\family default
or the
\family typewriter
ijmpd.lyx
\family default
template, the TeX code needed is already in its place; you usually don't
need to delete it.
You may only modify the first TeX code to specify the information printed
to the top of odd and even pages (authors' names and short paper's title,
respectively).
This TeX code must have the form
\family typewriter
\backslash
markboth{Authors' Names}{Short Paper's Title}
\family default
.
\end_layout
\begin_layout Section
iopart
\end_layout
\begin_layout Standard
by
\noun on
Uwe Stöhr
\end_layout
\begin_layout Subsection
Overview
\end_layout
\begin_layout Standard
The iopart package provides a document class to create electronic manuscript
submission to the journals published by the Institute of Physics.
Instructions for the authors how to create a paper using the iopart class
can be downloaded together with the iopart package from the site
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
ftp://ftp.iop.org/pub/journals/latex2e
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsection
Writing a paper
\end_layout
\begin_layout Standard
The easiest way to write a paper is to start with the file
\emph on
IOP-article.lyx
\emph default
that is available in LyX's examples files folder.
Open this file, save it under a new name, and start writing.
The example file explains how to use the special text environments.
Here are the most important advices:
\end_layout
\begin_layout Itemize
To be able to compile your document to a PDF, PS, or DVI, ensure that the
two options
\family sans
Use AMS math package
\family default
in the document settings under
\family sans
Math Options
\family default
are not used!
\end_layout
\begin_layout Itemize
\size normal
The title environment defines the kind of your paper.
So use one of the following environments for the title:
\end_layout
\begin_deeper
\begin_layout Itemize
\family sans
\size normal
Title
\family default
for a Paper
\end_layout
\begin_layout Itemize
\family sans
\size normal
Review
\family default
for a Review
\end_layout
\begin_layout Itemize
\family sans
\size normal
Topical
\family default
for a Topical review
\end_layout
\begin_layout Itemize
\family sans
\size normal
Comment
\family default
for a Comment
\end_layout
\begin_layout Itemize
\family sans
\size normal
Note
\family default
for a Note
\end_layout
\begin_layout Itemize
\family sans
\size normal
Paper
\family default
for a Paper (same as Title)
\end_layout
\begin_layout Itemize
\family sans
\size normal
Prelim
\family default
for a Preliminary communication
\end_layout
\begin_layout Itemize
\family sans
\size normal
Rapid
\family default
for a Rapid communication
\end_layout
\begin_layout Itemize
\family sans
\size normal
Letter
\family default
for a Letter to the editor
\end_layout
\end_deeper
\begin_layout Itemize
\size normal
All title environments except of
\family sans
Letter
\family default
can have an optional short title.
\end_layout
\begin_layout Itemize
There is a general title environment
\family sans
Article
\family default
which is not directly supported by the LyX.
This can be used as TeX code when your document doesn't fit into one of
the other title types.
\end_layout
\begin_layout Standard
For more informations like hints for special table and formula formatting,
look at the IOP author guidelines.
\end_layout
\begin_layout Section
Kluwer
\end_layout
\begin_layout Standard
by
\noun on
Panayotis Papasotiriou
\end_layout
\begin_layout Subsection
Overview
\end_layout
\begin_layout Standard
The Kluwer package is a set of macros produced by Kluwer Academic Publishers
that facilitates electronic manuscript submission to the journals they
publish.
Most known of them (at least in my domain of interest) are
\emph on
Astrophysics and Space Science
\emph default
and
\emph on
Solar Physics
\emph default
, but there are many others (see a complete list at
\begin_inset Flex URL
status open
\begin_layout Plain Layout
http://www.wkap.nl/jrnllist.htm/JRNLHOME
\end_layout
\end_inset
).
The Kluwer package may be downloaded from the site
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.wkap.nl/kaphtml.htm/STYLEFILES
\end_layout
\end_inset
.
A complete user guide is contained in that package (but it can also be
downloaded separately).
\end_layout
\begin_layout Standard
LyX supports many features of the package but not everything.
However, the TeX code needed is reduced to some
\begin_inset Quotes eld
\end_inset
peculiar
\begin_inset Quotes erd
\end_inset
commands of the package (see
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:kluwer_peculiarities"
\end_inset
).
I have recently used LyX to write an article submitted to the
\emph on
Astrophysics and Space Science
\emph default
without any problem.
\end_layout
\begin_layout Subsection
Writing a paper
\end_layout
\begin_layout Standard
The easiest way to write a paper is to start with the Kluwer template file.
Click on
\family sans
File\SpecialChar \menuseparator
New from
\family default
\family sans
Template
\family default
, then choose the
\family typewriter
kluwer.lyx
\family default
template.
This will give an (almost) empty document that includes the most common
fields found in a manuscript and a short description of their use.
As in most templates, simply overwrite the existing text (including the
brackets,
\family typewriter
<>
\family default
) with the correct information.
\end_layout
\begin_layout Subsection
Preparing a paper for submission
\end_layout
\begin_layout Standard
As in the AASTeX package, before you submit your paper to a journal you
must
\begin_inset Quotes eld
\end_inset
postprocess
\begin_inset Quotes erd
\end_inset
it as follows.
\end_layout
\begin_layout Enumerate
Export your paper as a LaTeX file.
To do this, click on
\family sans
File\SpecialChar \menuseparator
Export\SpecialChar \menuseparator
LaTeX
\family default
.
\end_layout
\begin_layout Enumerate
Edit the resulting
\family typewriter
.tex
\family default
file with a text editor and make the following changes
\end_layout
\begin_deeper
\begin_layout Enumerate
remove the comment lines before the
\family typewriter
\backslash
documentclass
\family default
command,
\end_layout
\begin_layout Enumerate
remove everything between (and including) the
\family typewriter
\backslash
makeatletter
\family default
and
\family typewriter
\backslash
makeatother
\family default
commands, except for any commands you specifically put into the LaTeX preamble.
\end_layout
\begin_layout Standard
Save the resulting
\family typewriter
.tex
\family default
file.
\end_layout
\end_deeper
\begin_layout Enumerate
Run the
\family typewriter
.tex
\family default
file through LaTeX as many times as necessary (usually up to three).
\end_layout
\begin_layout Enumerate
View the resulting
\family typewriter
.dvi
\family default
document using, e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\family sans
xdvi
\family default
, and check if everything is OK (it should, if you didn't make any mistake).
\end_layout
\begin_layout Subsection
\begin_inset Quotes eld
\end_inset
Peculiarities
\begin_inset Quotes erd
\end_inset
of the Kluwer package
\begin_inset CommandInset label
LatexCommand label
name "subsec:kluwer_peculiarities"
\end_inset
\end_layout
\begin_layout Standard
The Kluwer package has the following
\begin_inset Quotes eld
\end_inset
peculiarities
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
It is possible to write multiple articles in the same LaTeX file
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
I can't imagine any good reason to do this.
\end_layout
\end_inset
.
Each article must be included in the environment
\begin_inset Quotes eld
\end_inset
article
\begin_inset Quotes erd
\end_inset
.
Unfortunately, this environment cannot be omitted, even if you write just
one article.
Therefore, each article starts with the command
\family typewriter
\backslash
begin{article}
\family default
and, obviously, ends with the command
\family typewriter
\backslash
end{article}
\family default
.
Although this can be implemented in LyX, I didn't included it, since it
looks ugly and can confuse the novice user.
Therefore, you need to enter them directly and mark them as LaTeX code
(the well-known
\begin_inset Quotes eld
\end_inset
TeX code
\begin_inset Quotes erd
\end_inset
).
\end_layout
\begin_layout Enumerate
Information given at the beginning of the article (i.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
title, subtitle, author, institution, running title, running author, abstract
and keywords) must be included in an environment called
\begin_inset Quotes eld
\end_inset
opening
\begin_inset Quotes erd
\end_inset
.
This is not implemented in LyX, so you must enter title, subtitle etc.
\begin_inset space ~
\end_inset
between two TeX code lines (
\family typewriter
\backslash
begin{opening}
\family default
and
\family typewriter
\backslash
end{opening}
\family default
).
\end_layout
\begin_layout Enumerate
According to the user manual, the label of each bibliography item must be
written as
\family typewriter
\backslash
protect
\backslash
citeauthoryear{
\family default
\emph on
author(s)
\family typewriter
\emph default
}{
\family default
\emph on
year
\family typewriter
\emph default
}
\family default
.
\end_layout
\begin_layout Standard
The
\family typewriter
kluwer.lyx
\family default
template takes care of all these
\begin_inset Quotes eld
\end_inset
peculiarities
\begin_inset Quotes erd
\end_inset
.
If you start a new paper using this template you don't need to do anything
special.
Just
\end_layout
\begin_layout Enumerate
don't delete the TeX code included in the template, and
\end_layout
\begin_layout Enumerate
copy the example bibliography item included in the template and modify it
as necessary to enter new bibliography items.
\end_layout
\begin_layout Section
Koma-Script
\end_layout
\begin_layout Standard
by
\noun on
Bernd Rellermeyer
\end_layout
\begin_layout Subsection
Overview
\end_layout
\begin_layout Standard
The LyX document classes
\emph on
article (koma-script)
\emph default
,
\emph on
report (koma-script)
\emph default
,
\emph on
book
\emph default
\emph on
(koma-script)
\emph default
, and
\emph on
letter
\emph default
\emph on
(koma-script)
\emph default
correspond to the LaTeX document classes
\family typewriter
scrartcl.cls
\family default
,
\family typewriter
scrreprt.cls
\family default
,
\family typewriter
scrbook.cls
\family default
, and
\family typewriter
scrlettr.cls
\family default
, resp.
\begin_inset space ~
\end_inset
of the Koma-Script family.
They are replacements for the standard document classes
\family typewriter
article.cls
\family default
,
\family typewriter
report.cls
\family default
,
\family typewriter
book.cls
\family default
and
\family typewriter
letter.cls
\family default
, resp., and fit better to European typography conventions in a number of
points.
\end_layout
\begin_layout Itemize
Standard character size is 11pt in
\emph on
article (koma-script)
\emph default
,
\emph on
report (koma-script)
\emph default
, and
\emph on
book (koma-script)
\emph default
, and 12pt in
\emph on
letter (koma-script)
\emph default
.
\end_layout
\begin_layout Itemize
Headings, labels of the description environment, and a number of elements
of the
\emph on
letter (koma-script)
\emph default
document class are set in a bold sans serif font.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
There is a big difference between the bold sans serif old cm fonts and new
ec fonts, especially in the appearance of headings.
In comparison, the ec bold sans serif fonts look a bit thin.
Here the LaTeX package
\family typewriter
cmsd.sty by
\family default
\shape smallcaps
Walter Schmidt
\shape default
helps to produce the
\begin_inset Quotes eld
\end_inset
usual
\begin_inset Quotes erd
\end_inset
appearance when using the ec fonts.
\end_layout
\end_inset
The numbering of chapter headings is made in the same way as the numbering
of section headings, that is without the extra line
\begin_inset Quotes eld
\end_inset
Chapter\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
.
In addition, the appearance of the headings can be modified by using a
number of options (in LyX to be entered in the field
\family sans
Extra
\begin_inset space ~
\end_inset
Options
\family default
of the dialog
\family sans
Layout\SpecialChar \menuseparator
Document
\family default
).
\end_layout
\begin_layout Itemize
The main means in the Koma-Script document classes to design the type area
are the options
\family sans
BCOR
\family default
and
\family sans
DIV
\family default
(in LyX to be entered in the extra class options field in the dialog
\family sans
Document\SpecialChar \menuseparator
Settings
\family default
).
They make a clearer modification of page margins possible as do the options
of the dialog
\family sans
Document\SpecialChar \menuseparator
Settings
\family default
.
\end_layout
\begin_layout Itemize
The LaTeX document classes of the Koma-Script family define a number of
additional commands.
Those part of it which makes sense in LyX is implemented in corresponding
paragraph types.
\end_layout
\begin_layout Standard
Detailed descriptions of the LaTeX document classes of the Koma-Script family
can be found in the Koma-Script documentation
\emph on
scrguide
\emph default
(German) and
\emph on
scrguien
\emph default
(English).
\end_layout
\begin_layout Subsection
article (koma-script), report (koma-script), and book (koma-script)
\end_layout
\begin_layout Standard
The document classes
\emph on
article (koma-script)
\emph default
,
\emph on
report (koma-script)
\emph default
, and
\emph on
book
\emph default
\emph on
(koma-script)
\emph default
are implemented in the layout files
\family typewriter
scrartcl.layout
\family default
,
\family typewriter
scrreprt.layout
\family default
, and
\family typewriter
scrbook.layout
\family default
, resp.
They contain all the paragraph types of the corresponding standard document
classes
\emph on
article
\emph default
,
\emph on
report
\emph default
, and
\emph on
book
\emph default
, resp., partly modified, with the exception of the LyX specific
\family sans
List
\family default
-type, which is replaced by the new
\family sans
Labeling
\family default
-type having the same functionality.
Beside the
\family sans
Labeling
\family default
-Type there is a number of new paragraph types added.
They are
\emph on
not
\emph default
part of
\emph on
letter (koma-script)
\emph default
.
\end_layout
\begin_layout Itemize
\family sans
Addpart, Addchap
\family default
,
\family sans
Addsec
\family default
: are equivalents to
\family sans
Part*, Chapter*
\family default
and
\family sans
Section*
\family default
, resp., additionally inserting an entry in the table of contents.
\family sans
Addpart
\family default
and
\family sans
Addchap
\family default
are not contained in
\emph on
article (koma-script)
\emph default
.
\end_layout
\begin_layout Itemize
\family sans
Addchap*
\family default
,
\family sans
Addsec*
\family default
: behave exactly as
\family sans
Addchap
\family default
and
\family sans
Addsec
\family default
, resp., additionally clearing running heads.
\family sans
Addchap*
\family default
is not contained in
\emph on
article (koma-script)
\emph default
.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
There is also an
\family typewriter
\backslash
addpart*
\family default
command in
\emph on
book (koma-script)
\emph default
and in
\emph on
report (koma-script)
\emph default
, but since this is identical to
\family sans
Part*
\family default
, is has not been implemented in LyX.
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\family sans
Minisec
\family default
: generates a heading directly above the following paragraph in the standard
character size without affecting the structure of the document.
\end_layout
\begin_layout Itemize
\family sans
Captionabove
\family default
and
\family sans
Captionbelow
\family default
are special captions which respect the different space settings needed
for captions placed above or below an element (if you follow strict typographic
rules, you might want to place table captions always above the table).
You can also use the class option
\family typewriter
tablecaptionsabove
\family default
, which will switch
\family sans
caption
\family default
to
\family sans
captionabove
\family default
for tables and
\family sans
captionbelow
\family default
for figures.
You need at least Koma-Script version 2.8q to use this.
\end_layout
\begin_layout Itemize
\family sans
Dictum
\family default
: can be used to set a bonmot, e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
at the beginning of a chapter.
If you use the optional argument (
\family sans
Insert\SpecialChar \menuseparator
Short
\begin_inset space ~
\end_inset
Title
\family default
), you can insert the dictum's author there.
Dictum and author are separated by a line.
You need at least Koma-Script version 2.8q to use this.
\family sans
Dictum
\family default
is not contained in
\emph on
article (koma-script)
\emph default
.
\end_layout
\begin_layout Standard
The following types, together with the standard types
\family sans
Title
\family default
,
\family sans
Author
\family default
, and
\family sans
Date
\family default
, form the title area of the document.
They must be entered ahead of the first
\begin_inset Quotes eld
\end_inset
ordinary
\begin_inset Quotes erd
\end_inset
paragraph.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The corresponding LaTeX commands must appear before the
\family typewriter
\backslash
maketitle
\family default
command.
\end_layout
\end_inset
When such a type is used more than once, the latter usage overwrites the
former one, that means, for every type only the latest usage is valid.
The order of the different types however has, like
\family sans
Title
\family default
,
\family sans
Author
\family default
, and
\family sans
Date
\family default
, no effect on the appearance of the produced document.
\end_layout
\begin_layout Itemize
\family sans
Subject
\family default
: produces a centered paragraph above the ordinary title (
\family sans
Title
\family default
,
\family sans
Author
\family default
,
\family sans
Date
\family default
) for the subject of the document.
\end_layout
\begin_layout Itemize
\family sans
Publishers
\family default
: produces a centered paragraph below the ordinary title (
\family sans
Title
\family default
,
\family sans
Author
\family default
,
\family sans
Date
\family default
) for the publishers' name.
\end_layout
\begin_layout Itemize
\family sans
Dedication
\family default
: in
\emph on
report (koma-script)
\emph default
and
\emph on
book (koma-script)
\emph default
produces a centered paragraph on its own page behind the title page, or
in
\emph on
article (koma-script)
\emph default
produces a centered paragraph below the ordinary title (
\family sans
Title
\family default
,
\family sans
Author
\family default
,
\family sans
Date
\family default
,
\family sans
Publishers
\family default
) for a dedication.
\end_layout
\begin_layout Itemize
\family sans
Titlehead
\family default
: produces a left aligned paragraph above the ordinary title (
\family sans
Title
\family default
,
\family sans
Author
\family default
,
\family sans
Date
\family default
,
\family sans
Subject
\family default
) for a document`s head.
\end_layout
\begin_layout Itemize
\family sans
Uppertitleback
\family default
: produces in a double-sided print in
\emph on
report (koma-script)
\emph default
and
\emph on
book (koma-script)
\emph default
a left-aligned paragraph at the top of the title page`s back or has no
effect in a single-sided print or in
\emph on
article (koma-script)
\emph default
.
\end_layout
\begin_layout Itemize
\family sans
Lowertitleback
\family default
: produces in a double-sided print in
\emph on
report (koma-script)
\emph default
and
\emph on
book (koma-script)
\emph default
a left-aligned paragraph at the bottom of the title page`s back or has
no effect in a single-sided print or in
\emph on
article (koma-script)
\emph default
.
\end_layout
\begin_layout Itemize
\family sans
Extratitle
\family default
: produces a special
\begin_inset Quotes eld
\end_inset
dirty
\begin_inset Quotes erd
\end_inset
page ahead of the actual document containing a paragraph without special
formatting.
\end_layout
\begin_layout Standard
The layout files for the document classes
\emph on
article (koma-script)
\emph default
,
\emph on
report (koma-script)
\emph default
, and
\emph on
book (koma-script)
\emph default
do include the file
\family typewriter
scrmacros.inc
\family default
.
This is thought of as a place to define your own types.
Copy scrmacros
\family typewriter
.inc
\family default
in your personal layout directory and edit the file!
\end_layout
\begin_layout Subsection
letter (koma-script)
\end_layout
\begin_layout Standard
\noindent
The document class
\emph on
letter (koma-script)
\emph default
is implemented in the layout file
\family typewriter
scrlettr.layout
\family default
.
It contains all the paragraph types of the corresponding standard document
class
\emph on
letter
\emph default
, partly modified, with the exception of the LyX specific types
\family sans
LyX-Code
\family default
and
\family sans
Comment
\family default
and the
\family sans
List
\family default
type, which is replaced by the new
\family sans
Labeling
\family default
type.
In addition, it contains, in contrast to the standard document class, the
standard types
\family sans
LaTeX
\family default
,
\family sans
Quotation
\family default
,
\family sans
Quote
\family default
, and
\family sans
Verse
\family default
.
Furthermore, there are a number of new letter specific types.
\end_layout
\begin_layout Standard
The appearance of the letter produced by this document class can be controlled
by a number of LaTeX commands, which you can put in the LaTeX preamble.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
For example, the standard appearance of the letter`s heading, consisting
of name and address, is quite self-willed.
An
\begin_inset Quotes eld
\end_inset
ordinary
\begin_inset Quotes erd
\end_inset
heading is produced by the following LaTeX commands in the preamble:
\end_layout
\begin_layout LyX-Code
\backslash
firsthead{
\backslash
parbox[b]{
\backslash
textwidth}
\end_layout
\begin_layout LyX-Code
{
\backslash
ignorespaces
\backslash
fromname
\backslash
\backslash
\backslash
ignorespaces
\backslash
fromaddress}}
\end_layout
\begin_layout LyX-Code
\backslash
nexthead{
\backslash
parbox[b]{
\backslash
textwidth}
\end_layout
\begin_layout LyX-Code
{
\backslash
ignorespaces
\backslash
fromname
\backslash
hfill
\backslash
ignorespaces
\backslash
pagename
\backslash
\backslash
thepage}}
\end_layout
\end_inset
A detailed German description of such LaTeX commands can be found in the
Koma-Script documentation
\emph on
scrguide
\emph default
.
With it, the letter's author can produce his personal letter layout.
\end_layout
\begin_layout Standard
The types
\family sans
Letter
\family default
and
\family sans
Opening
\family default
define the beginning of the letter and must be used in every letter.
To emphasize them in the LyX document class, they are marked with the letter
\shape italic
L
\shape default
or
\shape italic
O
\shape default
, resp.
\begin_inset space ~
\end_inset
in the left margin.
It is possible to write any number of letters in one file.
An
\family sans
Opening
\family default
type produces a new letter using the same addressee and a
\family sans
Letter
\family default
type produces a new addressee.
The types
\family sans
Closing
\family default
,
\family sans
PS
\family default
,
\family sans
CC
\family default
, and
\family sans
Encl
\family default
are ordinary paragraph types and can also be used several times in one
and the same letter.
\end_layout
\begin_layout Itemize
\family sans
Letter
\family default
: produces a paragraph for the addressee and implicitly defines the beginning
of the letter.
\end_layout
\begin_layout Itemize
\family sans
Opening
\family default
: produces a paragraph for the form of address and implicitly produces a
new letter.
\end_layout
\begin_layout Itemize
\family sans
Closing
\family default
: produces a paragraph for a close.
\end_layout
\begin_layout Itemize
\family sans
PS
\family default
: produces a paragraph for a postscript.
\end_layout
\begin_layout Itemize
\family sans
CC
\family default
: produces a paragraph for a distribution list.
\end_layout
\begin_layout Itemize
\family sans
Encl
\family default
: produces a paragraph for enclosures.
\end_layout
\begin_layout Standard
The types
\family sans
Name
\family default
,
\family sans
Signature
\family default
,
\family sans
Address
\family default
,
\family sans
Telephone
\family default
,
\family sans
Place
\family default
,
\family sans
Backaddress
\family default
,
\family sans
Specialmail
\family default
,
\family sans
Location
\family default
,
\family sans
Title
\family default
, and
\family sans
Subject
\family default
are input types provided with a label to enter information, which will
be processed by the document class.
\begin_inset Foot
status open
\begin_layout Plain Layout
It could be seen as a matter of inconsequence, that the types
\family sans
Letter
\family default
and
\family sans
Opening
\family default
described above are not such input types as well.
Because of the special meaning of those types, however, I have implemented
them as ordinary paragraph types with a one letter mark in the left margin.
Moreover, it would affect my feeling of symmetry, if the
\family sans
Opening
\family default
type and the
\family sans
Closing
\family default
type had such a serious different appearance.
\end_layout
\end_inset
The types must be used ahead of the corresponding
\family sans
Opening
\family default
type.
\end_layout
\begin_layout Standard
An implementation of these types in a WYSIWYG fashion does not seem to make
sense, because the real appearance of the produced letter does not only
depend on the usage of the particular type, but also on other factors.
For example, a signature entered in the
\family sans
Signature
\family default
type will in the standard behavior appear in the produced letter only,
when in the same letter also a
\family sans
Closing
\family default
type is used.
The entered value of the
\family sans
Telephone
\family default
type will in the standard behavior not appear in the produced letter at
all.
The possibility to design the letter`s heading freely is already indicated
in a footnote above.
\end_layout
\begin_layout Standard
The input types can also be used as empty paragraphs.
This makes sense e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
for the
\family sans
Signature
\family default
type.
If the
\family sans
Signature
\family default
type is not used at all, in the standard behavior the value of the
\family sans
Name
\family default
type is used as signature, whereas if an empty
\family sans
Signature
\family default
type is used, no signature value is defined.
\end_layout
\begin_layout Standard
By using the input types it is possible to write a letter template, containing
filled input types with your personal dates (name, address, etc.) and empty
input types for other dates you want to enter.
\end_layout
\begin_layout Itemize
\family sans
Name
\family default
: sender's name, in the standard behavior appears as a centered paragraph
in small caps in the letter`s heading.
\end_layout
\begin_layout Itemize
\family sans
Signature
\family default
: sender's signature, in the standard behavior appears below the
\family sans
Closing
\family default
type.
If no
\family sans
Signature
\family default
type is used, the value of the
\family sans
Name
\family default
type appears instead.
\end_layout
\begin_layout Itemize
\family sans
Address
\family default
: sender's address, in the standard behavior appears in a centered paragraph
in the letter`s heading below the sender's name.
\end_layout
\begin_layout Itemize
\family sans
Telephone
\family default
: sender's telephone number, in the standard behavior only sets the LaTeX
variable
\family typewriter
\backslash
telephonenum
\family default
.
\end_layout
\begin_layout Itemize
\family sans
Place
\family default
: place of the letter`s making.
\end_layout
\begin_layout Itemize
\family sans
Date
\family default
: date of the letter`s making.
\family sans
Place
\family default
and
\family sans
Date
\family default
, in the standard behavior, produce the place and the date in a right-aligned
line below the addressee's field.
If an empty
\family sans
Date
\family default
type is used, neither place nor date appear, independent of the value of
the
\family sans
Place
\family default
type.
If no
\family sans
Date
\family default
type is used, the date of the letter `s production is used.
\end_layout
\begin_layout Itemize
\family sans
Backaddress
\family default
: sender`s back address, in the standard behavior appears above the addressee's
field in a small sans serif font.
\end_layout
\begin_layout Itemize
\family sans
Specialmail
\family default
: special mail information, in the standard behavior appears underlined
above the addressee's field below the back address.
\end_layout
\begin_layout Itemize
\family sans
Location
\family default
: additional information, in the standard behavior appears on right side
below the addressee`s field.
\end_layout
\begin_layout Itemize
\family sans
Title
\family default
: the letter's title, in the standard behavior appears in a big, bold, sans
serif font above the subject.
\end_layout
\begin_layout Itemize
\family sans
Subject
\family default
: the letter's subject, in the standard behavior appears in a bold font
above the
\family sans
Opening
\family default
paragraph.
\end_layout
\begin_layout Standard
The types
\family sans
Yourref
\family default
,
\family sans
Yourmail
\family default
,
\family sans
Myref
\family default
,
\family sans
Customer
\family default
, and
\family sans
Invoice
\family default
produce a business letter like line above the
\family sans
Title
\family default
line containing the fields
\begin_inset Quotes eld
\end_inset
Your ref.
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Your letter of
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Our ref.
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Customer no.
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
Invoice no.
\begin_inset Quotes erd
\end_inset
, and
\begin_inset Quotes eld
\end_inset
Date
\begin_inset Quotes erd
\end_inset
.
For the date field, the value of the
\family sans
Date
\family default
type is used.
If one of these
\begin_inset Quotes eld
\end_inset
business letter types
\begin_inset Quotes erd
\end_inset
is used, the value of the
\family sans
Place
\family default
type however does not appear, but only the LaTeX variable
\family typewriter
\backslash
fromplace
\family default
is set.
The ordinary output of place and date in a right-aligned line below the
addressee`s field is suppressed.
The types are implemented as input types provided with a label and must
be used ahead of the corresponding
\family sans
Opening
\family default
type.
\end_layout
\begin_layout Itemize
\family sans
Yourref
\family default
: Your ref.
\end_layout
\begin_layout Itemize
\family sans
Yourmail
\family default
: Your letter of.
\end_layout
\begin_layout Itemize
\family sans
Myref
\family default
: Our ref.
\end_layout
\begin_layout Itemize
\family sans
Customer
\family default
: Customer no.
\end_layout
\begin_layout Itemize
\family sans
Invoice
\family default
: Invoice no.
\end_layout
\begin_layout Subsection
The new letter class: letter (koma-script v.2)
\end_layout
\begin_layout Standard
by
\noun on
Jürgen Spitzmüller
\end_layout
\begin_layout Standard
\begin_inset VSpace medskip
\end_inset
\end_layout
\begin_layout Standard
\noindent
Koma-Script version 2.8 has introduced a new letter class
\family typewriter
scrlttr2
\family default
which supersedes the now unsupported
\family typewriter
scrlettr
\family default
.
It has — on the LaTeX side — a completely new interface and is not compatible
with the old class.
Therefore, LyX supports both, though it is recommended you use the new
class.
\end_layout
\begin_layout Standard
This class covers the same functionality as
\emph on
letter (koma-script),
\emph default
and a few more.
The basic items are
\family sans
Address
\family default
(receiver's address, same as
\family sans
Letter
\family default
in the old layout),
\family sans
Opening
\family default
, and
\family sans
Closing
\family default
.
\family sans
NextAddress
\family default
will start a new letter (i.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
you can write several letters per document).
New elements are sender's
\family sans
E-Mail
\family default
,
\family sans
URL
\family default
,
\family sans
Fax
\family default
,
\family sans
Bank
\family default
and the possibility to use a
\family sans
Logo
\family default
(via
\family sans
Insert\SpecialChar \menuseparator
Graphics
\family default
) in the header.
\end_layout
\begin_layout Standard
The biggest improvement is, though, that the letter's layout is configurable
to meet almost any needs.
This can be done via the preamble or with a special style file (Letter
Class Option, extension
\family typewriter
*.lco
\family default
), that will be read in as a class option.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The KOMA package comes with some default
\family typewriter
*.lco
\family default
files.
There is, for instance, a
\family typewriter
DIN.lco
\family default
file that follows german typesetting rules, or a
\family typewriter
KOMAold.lco
\family default
that provides the default layout of the old
\family typewriter
scrlettr
\family default
class.
The latter can be loaded with the class option
\family typewriter
KOMAold
\family default
, inserted via the
\family sans
\bar under
L
\bar default
ayout\SpecialChar \menuseparator
\bar under
D
\bar default
ocument\SpecialChar \menuseparator
Extra Options
\family default
field.
\end_layout
\end_inset
Have a look at the
\emph on
koma-letter2
\emph default
template that is included in LyX for examples.
A detailed description is to be found in the Koma-Script documentation
(
\emph on
scrguide
\emph default
).
\end_layout
\begin_layout Subsection
Problems
\end_layout
\begin_layout Standard
Visualizing the Koma-Script document classes in LyX, the LyX internals cause
some problems.
\end_layout
\begin_layout Itemize
The chapter number of a
\family sans
Chapter
\family default
type appears on a line of its own above the chapter heading instead of
appearing in the same line ahead of it.
The cause for that is the LyX internal behavior for the labeltype
\family sans
Counter_Chapter
\family default
in the layout file.
\end_layout
\begin_layout Itemize
The headings of the types
\family sans
Addchap
\family default
and
\family sans
Addsec
\family default
are only put in the
\begin_inset Quotes eld
\end_inset
true
\begin_inset Quotes erd
\end_inset
LaTeX table of contents, but not in the LyX table of contents (
\family sans
Document\SpecialChar \menuseparator
Table
\begin_inset space ~
\end_inset
of
\begin_inset space ~
\end_inset
Contents
\family default
).
\end_layout
\begin_layout Itemize
The paragraphs in a
\emph on
letter
\emph default
document class appear in a skip separation mode, not indented.
This is the standard behavior, no special LaTeX commands are needed for
that.
But in the
\family sans
Document\SpecialChar \menuseparator
Settings
\family default
dialog the corresponding radio button indicates
\family sans
Indent
\family default
.
A
\family sans
Skip
\family default
value always has the effect that extra LaTeX commands are inserted in the
document to produce the gap, which is not what is wanted in this case.
\end_layout
\begin_layout Section
Memoir
\end_layout
\begin_layout Standard
By
\noun on
Jürgen Spitzmüller
\end_layout
\begin_layout Subsection
Overview
\end_layout
\begin_layout Standard
Memoir is a very powerful and constantly evolving class.
It has been designed with regard to fictional and non-fictional literature.
Its aim is to let the user have maximum control over the typesetting of
his document.
Memoir is based on the standard book class, but it can also emulate the
article class (see below).
\end_layout
\begin_layout Standard
Peter Wilson, the developer of Memoir, is known as the author of lots of
useful packages in the LaTeX world.
Most of them have been merged with Memoir.
Therefore, it is much easier to layout the table of contents, appendices,
chapter designs and such.
LyX, though, does not support all of these goodies natively.
Some of them might be added to forthcoming releases
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
You are invited to send suggestions to
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
lyx-devel@lists.lyx.org
\end_layout
\end_inset
.
\end_layout
\end_inset
, lots will probably never, due to the limitations of LyX's framework.
Of course you can still use all features with the help of some native LaTeX
commands (TeX code
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Cf.
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
\end_layout
\end_inset
section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Inserting-TeX-Code"
\end_inset
for details.
\end_layout
\end_inset
).
In this section, we can only list those features which are natively supported
by LyX.
For detailed descriptions (and for the rest of features) we recommend you
have a look at the detailed manual of the Memoir class
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Cf.
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
\end_layout
\end_inset
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
CTAN:/macros/latex/memoir/memman.pdf
\end_layout
\end_inset
.
\end_layout
\end_inset
, which is not only a user guide for the class, but also both a comprehensive
description on good typesetting and a superb example for good typesetting
itself.
\end_layout
\begin_layout Subsection
Basic features and restrictions
\end_layout
\begin_layout Standard
Memoir supports basically all features of the standard book classes.
There are, however, some differences, as follows:
\end_layout
\begin_layout Description
Font
\begin_inset space ~
\end_inset
sizes: Memoir has a broader range of font sizes: 9, 10, 11, 12, 14, 17
\end_layout
\begin_layout Description
Page
\begin_inset space ~
\end_inset
style: The fancy page style is not supported, due to a command clash between
Memoir and the fancyhdr package (they both define a command with the same
name, which confuses LaTeX).
Instead, Memoir comes with a number of its own page styles (see
\family sans
Layout\SpecialChar \menuseparator
Document\SpecialChar \menuseparator
Page
\begin_inset space ~
\end_inset
Style
\family default
).
If you want to use these for the chapter pages, you have to use the command
\family typewriter
\backslash
chapterstyle
\family default
in the main text or in preamble (e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\family typewriter
\backslash
chapterstyle{companion}
\family default
).
\end_layout
\begin_layout Description
Sectioning: Sectionings (chapter, section, subsection etc.) come with an
optional argument in the standard classes.
With this, you can specify an alternative version of the title for the
table of contents and the headers (for instance, if the title is too long).
In LyX, you can do this via
\family sans
Insert\SpecialChar \menuseparator
Short
\begin_inset space ~
\end_inset
Title
\family default
at the beginning of a chapter/section.
Memoir features a second optional argument and thus separates the table
of contents from the header.
You can define three variants of a title with this: one for the main text,
one for the table of contents, and one for the headers.
Simply insert two optional arguments if you need this feature, the first
one containing the short title for the Table of Contents, the second one
containing an alternative short title for the headers.
\end_layout
\begin_layout Description
TOC/LOT/LOF: In the standard classes (and in many other classes), the table
of contents, the list of figures and the list of table start a new page
automatically.
Memoir does not follow this route.
You have to insert a page break yourself, if you want to have one.
\end_layout
\begin_layout Description
Titlepage: For some unknown reason, Memoir uses pagination on the title
page (in the standard classes, title pages are
\begin_inset Quotes eld
\end_inset
empty
\begin_inset Quotes erd
\end_inset
, i.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
without pagina).
If you want an empty title page, type
\family typewriter
\backslash
aliaspagestyle{title}{empty}
\family default
in the preamble.
\end_layout
\begin_layout Description
Article: With the class option
\emph on
article
\emph default
(to be inserted in
\family sans
Layout\SpecialChar \menuseparator
Document\SpecialChar \menuseparator
Extra
\begin_inset space ~
\end_inset
Options
\family default
), you can emulate article style.
That is, counters (footnotes, figures, tables etc.) will not be reset on
new chapters, chapters don't start a new page (but are—in contrary to
\begin_inset Quotes eld
\end_inset
real
\begin_inset Quotes erd
\end_inset
article classes—still allowed), parts, though, use their own page, as in
book.
\end_layout
\begin_layout Description
Oldfontcommands: By default, Memoir does not allow the use of the deprecated
font commands, which have been used in the old LaTeX version 2.09 (e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\family typewriter
\backslash
rm
\family default
,
\family typewriter
\backslash
it
\family default
).
It produces an error and stops LaTeX whenever such a command appears.
The class option
\emph on
oldfontcommands
\emph default
reallows the commands and spits out warnings instead (which does at least
not stop LaTeX).
Since a lot of packages and particularly BibTeX style files are still using
those commands, we have decided to use this option by default.
\end_layout
\begin_layout Subsection
Extra features
\end_layout
\begin_layout Standard
We will only describe the features supported by LyX (which is not much currently
).
Please consult the Memoir manual
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Cf.
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
\end_layout
\end_inset
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
CTAN:/macros/latex/memoir/memman.pdf
\end_layout
\end_inset
.
\end_layout
\end_inset
for details.
\end_layout
\begin_layout Description
Abstract: You may wonder why an abstract is an extra feature.
Well, it is in book class.
Usually books don't have abstracts.
Memoir, however, has.
You can use it wherever and how often you like.
\end_layout
\begin_layout Description
Chapterprecis: You may know this older typesetting style: The contents of
a chapter are summarized below the title and also in the table of contents
(e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\emph on
Our hero arrives in Troia; he loses some friends; he finds others
\emph default
).
Chapterprecis does exactly this.
It is therefore only sensible below a chapter.
\end_layout
\begin_layout Description
Epigraph: An epigraph is a smart slogan or motto at the beginning of a chapter.
The epigraph environment provides an elegant way of typesetting such a
motto.
The motto itself (text) and its author (source) are divided by a short
line.
Unfortunately, we have to fool LyX a bit here again, since the environment
needs two arguments (text and source).
In this case, we have to use curly brackets (in TeX mode) between the two
arguments:
\emph on
<smart slogan>
\emph default
\family typewriter
}{
\family default
\emph on
<author of the slogan>.
\end_layout
\begin_layout Description
Poemtitle: Memoir has lots of possibilities to typeset poetry (up to very
complex figurative poems).
LyX can only support a few of them.
One is poemtitle, which is a centered title for poems, which will also
be added to the table of contents (verse is the standard environment for
poems.
Memoir has some enhanced versions of verse, but you need to use TeX code,
because they have to be nested inside regular verse environments, which
is not possible with LyX).
\end_layout
\begin_layout Description
Poemtitle*: Same as poemtitle, but it adds no entry to the table of contents.
\end_layout
\begin_layout Section
Article (mwart), book (mwbk) and report (mwrep)
\begin_inset Argument
status collapsed
\begin_layout Plain Layout
The
\family typewriter
mw
\family default
Classes
\end_layout
\end_inset
\end_layout
\begin_layout Standard
by
\noun on
Tomasz Luczak
\end_layout
\begin_layout Standard
The LyX document classes
\emph on
article (mwart)
\emph default
,
\emph on
report (mwrep)
\emph default
and
\emph on
book
\emph default
\emph on
(mwbk)
\emph default
correspond to the LaTeX document classes
\family typewriter
mwart.cls
\family default
,
\family typewriter
mwrep.cls
\family default
and
\family typewriter
mwbk.cls
\family default
, resp.
They are replacements for the standard document classes
\family typewriter
article.cls
\family default
,
\family typewriter
report.cls
\family default
and
\family typewriter
book.cls
\family default
, resp., and fit better to Polish typography conventions in a number of points.
\end_layout
\begin_layout Standard
Basic differences:
\end_layout
\begin_layout Itemize
Unnumbered titles (with star, e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\family sans
Section*
\family default
) are added into table of contents,
\end_layout
\begin_layout Itemize
Additional page styles:
\end_layout
\begin_deeper
\begin_layout Description
uheadings header with separated lines,
\end_layout
\begin_layout Description
myheadings custom header, contents headers via commands:
\family typewriter
\backslash
markright
\family default
and
\family typewriter
\backslash
markboth
\family default
,
\end_layout
\begin_layout Description
myuheadings custom header with separated lines,
\end_layout
\begin_layout Description
outer page number is placed on outer side of page
\end_layout
\end_deeper
\begin_layout Itemize
Options
\end_layout
\begin_deeper
\begin_layout Description
rmheadings serif titles — default,
\end_layout
\begin_layout Description
sfheadings sansserif titles,
\end_layout
\begin_layout Description
authortitle on title page first placed is author next title — default,
\end_layout
\begin_layout Description
titleauthor on title page first placed is title next author,
\end_layout
\begin_layout Description
withmarginpar reserve place on page for margins.
\end_layout
\end_deeper
\begin_layout Section
Paper
\end_layout
\begin_layout Standard
The document class
\family sans
paper
\family default
provides an alternative to the standard
\family sans
article
\family default
class.
It provides similar functionality, but you might prefer this layout with
sans serif sections, headings, and more.
\end_layout
\begin_layout Section
RevTeX4
\end_layout
\begin_layout Standard
by
\noun on
Amir Karger
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\noindent
The
\family sans
Revtex
\begin_inset space ~
\end_inset
4
\family default
textclass works with the American Physical Sociey's RevTeX 4.0 (the
\begin_inset Formula $\beta$
\end_inset
release of May, 1999) class.
\end_layout
\begin_layout Standard
LyX has a
\family sans
Revtex
\family default
textclass, which works with RevTeX 3.1.
However, v3.1 is basically obsolete, as it works with LaTeX 2.09.
That means that it doesn't interact very well with LyX, which requires
LaTeX2e, although it has been kludged to work.
Since RevTeX 4.0 has been designed to work much more cleanly with LaTeX2e,
LyX with the
\family sans
RevTeX
\begin_inset space ~
\end_inset
4
\family default
textclass should also be pretty easy to use.
\end_layout
\begin_layout Standard
These documents are supposed to be used in
\emph on
addition
\emph default
to the RevTeX 4.0 documents, so we don't describe any of the special RevTeX
macros, and assume you'll know what to put in the preamble if necessary.
\end_layout
\begin_layout Subsection
Installation
\end_layout
\begin_layout Standard
All you need to do is install RevTeX 4, as described in the package's README
file.
The package can be found at The RevTeX 4 Web Site
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://publish.aps.org/revtex4/
\end_layout
\end_inset
.
Install it somewhere that LaTeX can see it.
Test it by trying to LaTeX a short RevTeX 4 document in some random directory
(i.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
not the directory where you installed the class file.) Then, if you reconfigure
LyX, it will find the class file and let you use the RevTeX4 textclass.
\end_layout
\begin_layout Standard
Probably the easiest way to get started is either to import a RevTeX 4 document
using
\family typewriter
tex2lyx
\family default
, or to use the
\family sans
Revtex
\begin_inset space ~
\end_inset
4
\family default
template, found in the templates directory.
\end_layout
\begin_layout Subsection
Preamble Matter
\end_layout
\begin_layout Standard
Optional arguments to
\family typewriter
\backslash
documentclass
\family default
, like
\begin_inset Quotes eld
\end_inset
preprint
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
aps
\begin_inset Quotes erd
\end_inset
, go in the
\family sans
E
\bar under
x
\bar default
tra
\begin_inset space ~
\end_inset
Options
\family default
field in the
\family sans
Document
\begin_inset space ~
\end_inset
Layout
\family default
dialog, as usual.
Remember that in RevTeX, at least one optional argument is required!
\end_layout
\begin_layout Standard
Other preamble matter, like
\family typewriter
\backslash
draft
\family default
etc.
\begin_inset space ~
\end_inset
goes in the
\family sans
LaTeX
\begin_inset space ~
\end_inset
Preamble
\family default
dialog, also as usual.
\end_layout
\begin_layout Subsection
Layouts
\end_layout
\begin_layout Standard
The layouts basically correspond to the commands in RevTeX4.0.
For example, the Email layout corresponds to
\family typewriter
\backslash
email{}
\family default
.
Note that (at least as of RevTeX 4.0 Beta), the
\family sans
Address
\family default
and
\family sans
Affiliation
\family default
layouts are exactly equivalent, so you shouldn't need to use both.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
In case you're curious, both were included so that
\family typewriter
tex2lyx
\family default
would be able to translate both
\family typewriter
\backslash
address
\family default
and
\family typewriter
\backslash
affiliation
\family default
.
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Important Notes
\end_layout
\begin_layout Standard
There are a couple of important unique aspects of RevTeX 4 which might cause
bugs that will be even more confusing in LyX.
\end_layout
\begin_layout Standard
In RevTeX, the
\family typewriter
\backslash
thanks
\family default
command goes
\emph on
outside
\emph default
the
\family typewriter
\backslash
author
\family default
command.
The LyX equivalent is that there is a separate Thanks layout.
Do
\emph on
not
\emph default
write footnotes in the
\family sans
Author
\family default
layout, or weird things may happen.
See the RevTeX 4 documentation for more details.
\end_layout
\begin_layout Standard
Also, the
\family sans
Author
\begin_inset space ~
\end_inset
Email
\family default
,
\family sans
Author
\begin_inset space ~
\end_inset
URL
\family default
, and
\family sans
Thanks
\family default
layouts must be placed
\emph on
in between
\emph default
the
\family sans
Author
\family default
layout and the corresponding
\family sans
Address
\family default
(or equivalent
\family sans
Affiliation
\family default
) layout.
If you put the
\family sans
Thanks
\family default
after the
\family sans
Address
\family default
, the LaTeX won't compile.
\end_layout
\begin_layout Subsection
Drawbacks
\end_layout
\begin_layout Standard
The main problem with this layout is that you can't use the optional arguments
to layouts like Email and Title.
(The problem is not unique to this layout; you can't use optional arguments
to the Section layouts either.) This means that after you export that file
to LaTeX (which you'll need to do eventually to send it in to APS), you'll
need to edit the LaTeX file with a text editor to add the optional arguments
to set, e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
the running title for the page headers.
Lacking these layouts makes the
\family typewriter
\backslash
altaffiliation
\family default
(and the equivalent
\family typewriter
\backslash
altaddress
\family default
) useless, so the corresponding layouts don't exist, and will have to be
added by hand.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\emph on
Note from JMarc:
\emph default
actually, LyX 1.3.0 supports some forms of optional arguments, but this layout
has not been updated yet to take advantage of it.
\end_layout
\end_inset
\end_layout
\begin_layout Section
Springer Journals (
\family sans
svjour
\family default
)
\end_layout
\begin_layout Standard
by
\noun on
Martin Vermeer
\end_layout
\begin_layout Subsection
Description
\end_layout
\begin_layout Standard
These are the layout files for some of the journal formats used by Springer
Verlag and listed on
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.springer.de/author/tex/help-journals.html
\end_layout
\end_inset
, where you should also go to fetch the class files (yes, these are LaTeX2e
now!).
It is a modular system: the things common to all journals are implemented
in
\family typewriter
svjour.inc
\family default
, which journal-specific layout files (such as, e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\family typewriter
svjog.layout
\family default
for Journal of Geodesy) can include.
\end_layout
\begin_layout Standard
This means that implementing support for any other Springer journal on this
list is as simple as writing your own
\family typewriter
sv
\family default
<myjournal>
\family typewriter
.layout
\family default
file following the outline given in
\family typewriter
svjog.layout
\family default
.
\end_layout
\begin_layout Standard
It is reasonably well tested only for the Journal of Geodesy.
\family typewriter
svjour
\family default
and
\family typewriter
svjog
\family default
come with the standard LyX distribution.
Install the relevant class file (downloaded from Springer) in a proper
directory, reconfigure LaTeX (in the teTeX case by running
\family typewriter
texhash
\family default
, as root if necessary — doesn't LyX take care of this?), reconfigure LyX
and it should work.
\end_layout
\begin_layout Subsection
New styles
\end_layout
\begin_layout Standard
A large number of theorem-like styles —
\family sans
Claim, Conjecture,
\family default
\family sans
\SpecialChar \ldots{}
Theorem
\family default
.
\end_layout
\begin_layout Standard
\family sans
Headnote, Dedication, Subtitle, Running_LaTeX_Title, Author_Running, Institute,
Mail, Offprints, Keywords, Acknowledgements, Acknowledgement
\family default
.
See the Springer class file documentation for details.
\end_layout
\begin_layout Subsection
Supported journals
\end_layout
\begin_layout Itemize
\emph on
Journal of Geodesy
\emph default
:
\family typewriter
svjog.layout
\family default
— Martin Vermeer
\end_layout
\begin_layout Itemize
\emph on
Probability Theory and Related Fields
\emph default
:
\family typewriter
svprobth.layout
\family default
— Jean-Marc Lasgouttes
\end_layout
\begin_layout Standard
Add your own, it isn't so hard!
\end_layout
\begin_layout Subsection
Credits
\end_layout
\begin_layout Standard
These files are partly based on the older
\family typewriter
ejour2.layout
\family default
, which was again based on a tinkered-with version of an old LaTeX 2.09 style
file from Springer.
All this, and the
\family typewriter
ejour2
\family default
layout, are now defunct.
Jean-Marc Lasgouttes helped out big in making me find my way around the
LyX layout file mechanism.
\end_layout
\begin_layout Subsection
Bugs
\end_layout
\begin_layout Standard
Probably.
But probably less than in the old hacked-LaTeX
\family typewriter
ejour2
\family default
.
\end_layout
\begin_layout Standard
Limitations e.
\begin_inset space \thinspace{}
\end_inset
g.: does not display the number for theorem-like layouts, just #.
\end_layout
\begin_layout Section
Slides [aka
\noun on
SliTeX
\noun default
]
\begin_inset CommandInset label
LatexCommand label
name "sec:slitex"
\end_inset
\end_layout
\begin_layout Standard
by
\noun on
John Weiss
\noun default
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
This section describes how to use LyX to make slides for overhead projectors.
There are two document classes that can do this: the default slides class
and the
\family sans
FoilTeX
\family default
slides class.
This section documents the former.
\end_layout
\begin_layout Standard
I'm going to say this again, nice and clear, so that there's no misunderstanding
:
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\align center
\size large
This section documents the class
\begin_inset Quotes eld
\end_inset
\family sans
slides (default)
\family default
\begin_inset Quotes erd
\end_inset
\emph on
only.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
If you're looking for the documentation for
\begin_inset Quotes eld
\end_inset
\family sans
slides (FoilTeX)
\family default
\begin_inset Quotes erd
\end_inset
, check out section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:foiltex"
\end_inset
.
The
\family sans
foils
\family default
class [
\begin_inset Quotes eld
\end_inset
\family sans
slides (FoilTeX)
\family default
\begin_inset Quotes erd
\end_inset
] is actually somewhat better than the default
\family sans
slides
\family default
class,
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\SpecialChar \ldots{}
or so I've been told repeatedly by its advocates.
Having never used it, I have no idea if this claim is true or not.
\end_layout
\end_inset
which this section documents.
\end_layout
\begin_layout Standard
This class is the LaTeX2e improvement of the old
\noun on
SliTeX
\noun default
package.
Every LaTeX2e distribution includes this class [which I'll just refer to
as
\begin_inset Quotes eld
\end_inset
\family sans
slides
\family default
\begin_inset Quotes erd
\end_inset
from now on], so you're bound to have it.
As I noted earlier, there are other classes, such as
\family sans
foils
\family default
, which also produce slides for overhead projectors and do a better job
at it.
However, there are some things which
\family sans
slides
\family default
can do which the others can't, such as generate overlays.
Read on to learn more!
\end_layout
\begin_layout Subsection
Getting Started
\begin_inset CommandInset label
LatexCommand label
name "sec:slidesetup"
\end_inset
\end_layout
\begin_layout Standard
Obviously, to use this document class, you need to select
\begin_inset Quotes eld
\end_inset
\family sans
slides (default)
\family default
\begin_inset Quotes erd
\end_inset
from the class list in the
\family sans
Document\SpecialChar \menuseparator
Settings
\family default
dialog.
There are some other special things you should know about this class:
\end_layout
\begin_layout Itemize
Don't bother changing the options
\family sans
Sides and Columns
\family default
.
They're not supported by the
\family sans
slides
\family default
class, anyways.
\end_layout
\begin_layout Itemize
The option
\family sans
Page
\begin_inset space ~
\end_inset
style
\family default
behaves a bit differently for this class.
The possible choices and what they do are as follows:
\end_layout
\begin_deeper
\begin_layout Description
\family sans
plain
\family default
The final output contains page numbers in the lower right corner.
\end_layout
\begin_layout Description
\family sans
headings
\family default
Like
\family sans
plain
\family default
, but also prints out any time markers you've put in.
This is the default.
\end_layout
\begin_layout Description
\family sans
empty
\family default
The final output contains no page numbers, time markers, or alignment markers.
\end_layout
\end_deeper
\begin_layout Itemize
The
\family sans
slides
\family default
class has an extra option:
\family typewriter
clock
\family default
.
To use it, put
\begin_inset Quotes eld
\end_inset
\family typewriter
clock
\family default
\begin_inset Quotes erd
\end_inset
in the extra class options.
\end_layout
\begin_deeper
\begin_layout Standard
Using this options allows you to add time markers to
\family sans
Note
\family default
s.
See section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:slideNote"
\end_inset
for more details.
\end_layout
\end_deeper
\begin_layout Standard
You can also use the template file
\begin_inset Quotes eld
\end_inset
\family typewriter
slides.lyx
\family default
\begin_inset Quotes erd
\end_inset
to automatically set up a document to use the
\family sans
slides
\family default
class [using
\family sans
File\SpecialChar \menuseparator
New
\begin_inset space ~
\end_inset
from
\begin_inset space ~
\end_inset
Template
\family default
to open your new document].
The template file also contains some examples of the special paragraph
environments used by this class.
I'll describe those next.
\end_layout
\begin_layout Subsection
Paragraph Environments
\end_layout
\begin_layout Subsubsection
Supported Environments
\end_layout
\begin_layout Standard
The first thing you'll notice when you start up a new
\family sans
slides
\family default
document is the font size and type: it's the equivalent of the size
\begin_inset Quotes eld
\end_inset
\family sans
Largest
\family default
\begin_inset Quotes erd
\end_inset
in the
\family sans
Sans
\begin_inset space ~
\end_inset
Serif
\family default
font.
This is also what's used in the output.
Think of this as a
\begin_inset Quotes eld
\end_inset
visual cue
\begin_inset Quotes erd
\end_inset
to remind you that this is a slide.
Your final slides will use a larger font; ergo, you'll have less space.
Of course, the larger default screen font isn't WYSIWYG, only a reminder.
\end_layout
\begin_layout Standard
The next thing that becomes obvious is the changes to the paragraph environment
pull-down box [at the far-left end of the toolbar].
Most of the paragraph environments you're used to seeing are missing.
There are also five new ones.
That's because the
\family sans
slides
\family default
class itself only supports certain paragraph environments:
\end_layout
\begin_layout Itemize
\family sans
Standard
\end_layout
\begin_layout Itemize
\family sans
Itemize
\end_layout
\begin_layout Itemize
\family sans
Enumerate
\end_layout
\begin_layout Itemize
\family sans
Description
\end_layout
\begin_layout Itemize
\family sans
List
\end_layout
\begin_layout Itemize
\family sans
Quotation
\end_layout
\begin_layout Itemize
\family sans
Quote
\end_layout
\begin_layout Itemize
\family sans
Verse
\end_layout
\begin_layout Itemize
\family sans
Caption
\end_layout
\begin_layout Itemize
\family sans
LyX-Code
\end_layout
\begin_layout Itemize
\family sans
Comment
\end_layout
\begin_layout Standard
All of the other standard environments, including the section-heading environmen
ts, aren't used in the
\family sans
slides
\family default
class.
\end_layout
\begin_layout Standard
On the other hand, you'll notice the following new environments:
\end_layout
\begin_layout Itemize
\family sans
Slide
\end_layout
\begin_layout Itemize
\family sans
Overlay
\end_layout
\begin_layout Itemize
\family sans
Note
\end_layout
\begin_layout Itemize
\family sans
InvisibleText
\end_layout
\begin_layout Itemize
\family sans
VisibleText
\end_layout
\begin_layout Standard
These five are kind of quirky, due to a
\begin_inset Quotes eld
\end_inset
feature
\begin_inset Quotes erd
\end_inset
in LyX.
You see, LyX doesn't permit you to nest any other paragraph environment
into an empty environment.
Now, that's fine and dandy, but it means that you wouldn't be able to start
a slide with anything except plain text.
To deal with this, I've performed a little
\begin_inset Quotes eld
\end_inset
LaTeX magic.
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Subsubsection
Quirks of the New Environments
\begin_inset CommandInset label
LatexCommand label
name "sec:slideQuirk"
\end_inset
\end_layout
\begin_layout Standard
All five of the new paragraph environments are somewhat quirky due to inherent
limitiations in the current version of LyX.
As I just mentioned, LyX forbids environments that begin with another environme
nt.
To get around this, the
\family sans
Slide
\family default
environment isn't a paragraph environment as described in the
\emph on
User's Guide
\emph default
.
\end_layout
\begin_layout Standard
You should consider
\family sans
Slide
\family default
,
\family sans
Overlay
\family default
, and
\family sans
Note
\family default
to be
\begin_inset Quotes eld
\end_inset
pseudo-environments.
\begin_inset Quotes erd
\end_inset
They look like a section heading or a
\begin_inset Quotes eld
\end_inset
\family sans
Caption
\family default
,
\begin_inset Quotes erd
\end_inset
but really begin a [and, if necessary, end the previous] paragraph environment.
Likewise, treat
\family sans
InvisibleText
\family default
and
\family sans
VisibleText
\family default
as
\begin_inset Quotes eld
\end_inset
pseudo-commands.
\begin_inset Quotes erd
\end_inset
These two perform some action.
\end_layout
\begin_layout Standard
A common feature of all five environments,
\family sans
Slide
\family default
,
\family sans
Overlay
\family default
,
\family sans
Note
\family default
,
\family sans
InvisibleText
\family default
and
\family sans
VisibleText
\family default
, is a rather long-ish label.
The text following this label — ordinarily the contents of the paragraph
environment — is utterly irrelevant for
\family sans
Slide
\family default
,
\family sans
Overlay
\family default
,
\family sans
Note
\family default
,
\family sans
InvisibleText
\family default
and
\family sans
VisibleText
\family default
.
LyX completely ignores it.
In fact, you can leave these five environments completely empty.
\end_layout
\begin_layout Standard
While you don't
\emph on
have
\emph default
to put any text after the rather long-ish label, you might want to.
This could be a short description of the contents of the
\family sans
Slide
\family default
, for example.
In that case, enter your descriptive comment and hit
\family sans
Return
\family default
as you normally would.
\end_layout
\begin_layout Standard
If, on the other hand, you don't want to enter any descriptive text, you'll
hit another LyX quirk.
LyX, like nature, abhors a vacuum, and will not let you start a new paragraph
environment until you put something in the old one.
So, do this:
\end_layout
\begin_layout Itemize
Start entering the text that will
\emph on
follow
\emph default
the new
\family sans
Slide
\family default
,
\family sans
Overlay
\family default
,
\family sans
Note
\family default
,
\family sans
InvisibleText
\family default
or
\family sans
VisibleText
\family default
.
\end_layout
\begin_layout Itemize
Now move to the beginning of that paragraph.
\end_layout
\begin_layout Itemize
Next, hit
\family sans
Return
\family default
.
\end_layout
\begin_layout Itemize
Finally, change this new, empty paragraph to a
\family sans
Slide
\family default
,
\family sans
Overlay
\family default
,
\family sans
Note
\family default
,
\family sans
InvisibleText
\family default
or
\family sans
VisibleText
\family default
.
\end_layout
\begin_layout Standard
Some future version of LyX will, hopefully, resolve this quirkiness\SpecialChar \ldots{}
\end_layout
\begin_layout Subsection
Making a Presentation with
\family sans
Slide
\family default
,
\family sans
Overlay
\family default
and
\family sans
Note
\end_layout
\begin_layout Subsubsection
Using the
\family sans
Slide
\family default
Environment
\end_layout
\begin_layout Standard
If you're expecting this section to teach you how to actually make a presentatio
n, you'll be sorely disappointed.
Naturally, I'll describe all of the ways the
\family sans
slides
\family default
class can assist you in preparing the materials for a presentation.
Filling in the contents, however, is up to you.
[Then again, that
\emph on
is
\emph default
the LyX philosophy.]
\end_layout
\begin_layout Standard
Choosing the
\family sans
Slide
\family default
environment [in the manner described in section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:slideQuirk"
\end_inset
] tells LyX to begin a new slide [duh].
The label for this environment/
\begin_inset Quotes erd
\end_inset
pseudo-command
\begin_inset Quotes erd
\end_inset
is an
\begin_inset Quotes eld
\end_inset
ASCII line,
\begin_inset Quotes erd
\end_inset
in cool blue, followed by the label,
\begin_inset Quotes eld
\end_inset
NewSlide:
\begin_inset Quotes erd
\end_inset
.
Any text or paragraph environments that follow this one go on the new slide.
It's that simple.
\end_layout
\begin_layout Standard
Slides are probably the only time you'll need to forcibly end pages in LyX
(this can be specified in the
\family sans
Paragraph Layout
\family default
dialog).
In fact, you'll want to, once you finish entering the contents of one slide.
If you've entered more text than can physically fit on a slide, the extra
overflows onto a new slide.
I don't recommend doing this, however, since the overflow slide won't have
any page number on it.
Furthermore, it may interfere with any
\family sans
Overlay
\family default
you've made to accompany the oversized
\family sans
Slide
\family default
.
\end_layout
\begin_layout Standard
The
\family sans
Overlay
\family default
and
\family sans
Note
\family default
environments work the same way as the
\family sans
Slide
\family default
environment.
They both create an
\begin_inset Quotes eld
\end_inset
ASCII line
\begin_inset Quotes erd
\end_inset
followed by a label [
\begin_inset Quotes eld
\end_inset
NewOverlay:
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
NewNote:
\begin_inset Quotes erd
\end_inset
, respectively].
The color is a stunning magenta instead of blue, and the
\begin_inset Quotes eld
\end_inset
ASCII line
\begin_inset Quotes erd
\end_inset
will look different, in style and in length.
The label fonts of all three also differ from one another.
\end_layout
\begin_layout Standard
As with a
\family sans
Slide
\family default
, if the contents of a
\family sans
Note
\family default
or
\family sans
Overlay
\family default
exceed the physical size of a slide or sheet of paper, the extra will overflow
onto a new sheet.
Again, you should avoid this.
It defeats the whole purpose of
\family sans
Note
\family default
s and
\family sans
Overlay
\family default
s.
\end_layout
\begin_layout Subsubsection
Using
\family sans
Overlay
\family default
with
\family sans
Slide
\end_layout
\begin_layout Standard
The idea behind an
\family sans
Overlay
\family default
is a slide that sits atop another slide.
Perhaps you wish to discuss a figure on the main
\family sans
Slide
\family default
before displaying the text associated with it.
One way to accomplish this is tape a flap of dark paper over the part of
the
\family sans
Slide
\family default
you want to display later.
This method fails, however, if you wish to overlap one graph with another,
for example.
You would then have to fumble while speaking to align the two separate,
overlapping
\family sans
Slide
\family default
s to align the two graphs.
The use of an
\family sans
Overlay
\family default
environment in both cases makes life much easier.
\end_layout
\begin_layout Standard
Each
\family sans
Overlay
\family default
receives the page number of its
\begin_inset Quotes eld
\end_inset
parent
\begin_inset Quotes erd
\end_inset
\family sans
Slide
\family default
, appended by
\begin_inset Quotes eld
\end_inset
\family typewriter
-a
\family default
\begin_inset Quotes erd
\end_inset
.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Presumably, mutliple
\family sans
Overlay
\family default
s would have
\begin_inset Quotes eld
\end_inset
\family typewriter
-a
\family default
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
\family typewriter
-b
\family default
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
\family typewriter
-c
\family default
\begin_inset Quotes erd
\end_inset
, etc.
\begin_inset space ~
\end_inset
appended to the page number of the parent
\family sans
Slide
\family default
.
\end_layout
\end_inset
Clearly, you want the contents of both the
\family sans
Slide
\family default
and the
\family sans
Overlay
\family default
to each fit on a single physical slide! You should probably consider an
\family sans
Overlay
\family default
as
\begin_inset Quotes eld
\end_inset
part of
\begin_inset Quotes erd
\end_inset
a
\family sans
Slide
\family default
.
Indeed, the LyX
\family sans
slides
\family default
class provides a visual cue for this: the label at the start of an
\family sans
Overlay
\family default
is shorter than that at the start of a
\family sans
Slide
\family default
.
Lastly, when you generate printable output, you'll find alignment markers
in all four corners of both the
\family sans
Overlay
\family default
page and its parent
\family sans
Slide
\family default
.
These will assist you in lining up the two physical slides.
\end_layout
\begin_layout Standard
The major problem in overlaying two slides is aligning the contents of the
two transparencies.
How much space should you leave for that graph on the second slide? Worse
still, what if you want a graph and a sentence on second slide, but there
is text on the main transparency that goes in between them? You could try
and insert vertical space of the right size.
The better way is to use
\family sans
InvisibleText
\family default
and
\family sans
VisibleText
\family default
.
\end_layout
\begin_layout Standard
As their names imply,
\family sans
InvisibleText
\family default
and
\family sans
VisibleText
\family default
are two command-like paragraph environments that make all subsequent text
invisible and visible, respectively.
Note from section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:slideQuirk"
\end_inset
that you don't place anything
\emph on
into
\emph default
these two environments, however.
When you create an
\family sans
InvisibleText
\family default
, it inserts a centered, sky-blue label into the page reading
\begin_inset Quotes eld
\end_inset
<Invisible Text Follows>
\begin_inset Quotes erd
\end_inset
.
For paragraphs following this label, the parts of the
\family sans
Slide
\family default
[or
\family sans
Overlay
\family default
; it doesn't matter which] where they would be contain instead blank space.
\end_layout
\begin_layout Standard
For
\family sans
VisibleText
\family default
, the corresponding centered label is
\begin_inset Quotes eld
\end_inset
<Visible Text Follows>
\begin_inset Quotes erd
\end_inset
in blazing green.
Paragraphs following this label behave normally.
Note that the beginning of a new
\family sans
Slide
\family default
,
\family sans
Overlay
\family default
, or
\family sans
Note
\family default
automatically shuts off an
\family sans
InvisibleText
\family default
.
It's therefore not necessary to use
\family sans
VisibleText
\family default
at the end of a
\family sans
Slide
\family default
.
\end_layout
\begin_layout Standard
By now, it should be obvious how to create overlay transparencies using
the proper combination of
\family sans
InvisibleText
\family default
and
\family sans
VisibleText
\family default
on a
\family sans
Slide
\family default
and
\family sans
Overlay
\family default
:
\end_layout
\begin_layout Enumerate
Create a
\family sans
Slide
\family default
, including everything that will appear on it, whether on the main slide
or on the
\family sans
Overlay
\family default
.
\end_layout
\begin_layout Enumerate
Before each figure or paragraph that will appear only on the
\family sans
Overlay
\family default
, insert an
\family sans
InvisibleText
\family default
environment.
If necessary, insert a
\family sans
VisibleText
\family default
environment after the
\family sans
Overlay
\family default
-only text.
\end_layout
\begin_layout Enumerate
Start an
\family sans
Overlay
\family default
immediately following the
\family sans
Slide
\family default
.
\end_layout
\begin_layout Enumerate
Copy the contents of this
\family sans
Slide
\family default
into the
\family sans
Overlay
\family default
.
\end_layout
\begin_layout Enumerate
Within the
\family sans
Overlay
\family default
, change all of the
\family sans
InvisibleText
\family default
lines to
\family sans
VisibleText
\family default
and vice-versa.
\end_layout
\begin_layout Standard
That's it.
You've just made an
\family sans
Overlay
\family default
.
\end_layout
\begin_layout Standard
There's one problem with the way I've designed the LyX
\family sans
slides
\family default
class: you can't make text in the middle of a paragraph invisible, nor
make text in the middle of an invisible paragraph visible again.
To accomplish this feat, you'll need to use some inlined LaTeX codes.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The commands of interest are:
\end_layout
\begin_layout Itemize
\family typewriter
{
\backslash
invisible \SpecialChar \ldots{}
}
\end_layout
\begin_layout Itemize
\family typewriter
{
\backslash
visible \SpecialChar \ldots{}
}
\end_layout
\begin_layout Plain Layout
\SpecialChar \ldots{}
and need to be marked as TeX.
The text whose
\begin_inset Quotes eld
\end_inset
visibility
\begin_inset Quotes erd
\end_inset
you wish to change goes in between the brackets [and after the
\family typewriter
\backslash
invisible
\family default
or
\family typewriter
\backslash
visible
\family default
command].
If you don't know how to mark text as TeX, see the appropriate section
of the
\emph on
User's Guide
\emph default
.
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
Using
\family sans
Note
\family default
with
\family sans
Slide
\family default
\begin_inset CommandInset label
LatexCommand label
name "sec:slideNote"
\end_inset
\end_layout
\begin_layout Standard
Like an
\family sans
Overlay
\family default
, a
\family sans
Note
\family default
is associated with a
\begin_inset Quotes eld
\end_inset
parent
\begin_inset Quotes erd
\end_inset
\family sans
Slide
\family default
.
Here, too, the LyX
\family sans
slides
\family default
class provides visual cues.
The label for a
\family sans
Note
\family default
is shorter than that of a
\family sans
Slide
\family default
[yet longer than that of an
\family sans
Overlay
\family default
] and, like the label of an
\family sans
Overlay
\family default
is shockingly magenta.
Additionally, the printed
\family sans
Note
\family default
has the page number of its
\begin_inset Quotes eld
\end_inset
parent
\begin_inset Quotes erd
\end_inset
\family sans
Slide
\family default
, appended by
\begin_inset Quotes eld
\end_inset
\family typewriter
-
\family default
1
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
\family typewriter
-
\family default
2
\begin_inset Quotes erd
\end_inset
,
\begin_inset Quotes eld
\end_inset
\family typewriter
-
\family default
3
\begin_inset Quotes erd
\end_inset
, etc.
You can have multiple
\family sans
Note
\family default
s associated with a single
\family sans
Slide
\family default
, and, as with
\family sans
Slide
\family default
and
\family sans
Overlay
\family default
, you'll probably want to break up long
\family sans
Note
\family default
s so that they fit on a single sheet of paper.
\end_layout
\begin_layout Standard
The purpose of a
\family sans
Note
\family default
is obvious: it contains anything additional you might want to say about
a
\family sans
Slide
\family default
.
It could also be used as a sheet of reminders for a particular
\family sans
Slide
\family default
.
In the case of the latter, you might want to make use of time markers.
Currently, the LyX
\family sans
slides
\family default
class has no
\begin_inset Quotes eld
\end_inset
native
\begin_inset Quotes erd
\end_inset
support for time markers, a
\noun on
SliTeX
\noun default
feature.
So, you'll have to resort to using the LaTeX codes.
\end_layout
\begin_layout Standard
To use time markers, you'll need to specify the extra class option
\begin_inset Quotes eld
\end_inset
\family typewriter
clock
\family default
\begin_inset Quotes erd
\end_inset
[see section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:slidesetup"
\end_inset
].
This option turns on timing marks, which will appear in the lower-left-hand
corner of every
\family sans
Note
\family default
you generate.
To set what appears in the time marker, you use the LaTeX commands
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
settime{}
\family default
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
addtime{}
\family default
\begin_inset Quotes erd
\end_inset
.
The arguments of both commands are time measured in seconds.
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
settime{}
\family default
\begin_inset Quotes erd
\end_inset
sets the time marker to a given time.
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
addtime{}
\family default
\begin_inset Quotes erd
\end_inset
increments the time marker by the specified amount.
Using time markers and
\family sans
Note
\family default
s in this fashion, you can remind yourself how much time to spend on a particula
r
\family sans
Slide
\family default
.
\end_layout
\begin_layout Standard
There's one last feature to describe.
Clearly, you'd like to print out all of your
\family sans
Slide
\family default
s and
\family sans
Overlay
\family default
s on transparencies while printing all of your
\family sans
Note
\family default
s on plain paper.
However, a
\family sans
Note
\family default
\emph on
must
\emph default
follow the
\family sans
Slide
\family default
with which it is associated.
What's a person to do?
\end_layout
\begin_layout Standard
Luckily, there are two LaTeX commands that allow you to select what to print
out.
Both must be placed into the preamble of your document.
The command
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
onlyslides{
\backslash
slides}
\family default
\begin_inset Quotes erd
\end_inset
will cause the output to contain only the
\family sans
Slide
\family default
s and
\family sans
Overlay
\family default
s.
Correspondingly, the command
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
onlynotes{
\backslash
notes}
\family default
\begin_inset Quotes erd
\end_inset
prevents the output of anything but
\family sans
Note
\family default
s.
I'd advise placing both commands in the preamble and initially comment
both out.
You can then preview your entire presentation as you write.
When you're done writing, you can then uncomment one of the two to select
what you want to print.
I like to uncomment
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
onlyslides{
\backslash
slides}
\family default
\begin_inset Quotes erd
\end_inset
, print to a file with
\begin_inset Quotes eld
\end_inset
\family typewriter
-slides
\family default
\begin_inset Quotes erd
\end_inset
in its name, comment it back out, then uncomment
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
onlynotes{
\backslash
notes}
\family default
\begin_inset Quotes erd
\end_inset
and print to a
\begin_inset Quotes eld
\end_inset
\family typewriter
*-notes.ps
\family default
\begin_inset Quotes erd
\end_inset
file.
I can then send either file to a printer, loading transparencies or plain
paper as appropriate.
\end_layout
\begin_layout Standard
You can also provide other arguments to the
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
onlyslides{}
\family default
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
onlynotes{}
\family default
\begin_inset Quotes erd
\end_inset
commands.
See a good LaTeX book for details.
\end_layout
\begin_layout Subsection
The
\family sans
slides
\family default
Class Template File
\end_layout
\begin_layout Standard
I have also provided a template file,
\begin_inset Quotes eld
\end_inset
\family typewriter
slides.lyx
\family default
\begin_inset Quotes erd
\end_inset
, with the
\family sans
slides
\family default
class.
To use it, begin your new presentation with
\family sans
\bar under
F
\bar default
ile\SpecialChar \menuseparator
New
\begin_inset space ~
\end_inset
from
\begin_inset space ~
\end_inset
\bar under
T
\bar default
emplate
\family default
.
Your new LyX presentation file will contain an example
\family sans
Slide
\family default
\family sans
Overlay
\family default
\family sans
Note
\family default
triplet.
The
\family sans
Slide
\family default
and
\family sans
Overlay
\family default
additionally contain an example of the use of
\family sans
InvisibleText
\family default
and
\family sans
VisibleText
\family default
.
Lastly, the preamble will contain:
\end_layout
\begin_layout LyX-Code
% Uncomment to print out only slides and overlays
\end_layout
\begin_layout LyX-Code
%
\end_layout
\begin_layout LyX-Code
%
\backslash
onlyslides{
\backslash
slides}
\begin_inset Newline newline
\end_inset
\end_layout
\begin_layout LyX-Code
% Uncomment to print out only notes
\end_layout
\begin_layout LyX-Code
%
\end_layout
\begin_layout LyX-Code
%
\backslash
onlynotes{
\backslash
notes}
\end_layout
\begin_layout Standard
One final thing: I created this class to support the LaTeX2e
\begin_inset Quotes eld
\end_inset
\noun on
SliTeX
\noun default
emulation
\begin_inset Quotes erd
\end_inset
class, one of the built-in LaTeX2e classes.
Neither I nor the rest of the LyX Team endorse or oppose the use of this
built-in slide class.
It's here if you want it or need it.
There exist other LaTeX2e classes for creating presentations, such as the
\family sans
Foils
\family default
class [see section
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:foiltex"
\end_inset
] or the
\begin_inset Quotes eld
\end_inset
\family typewriter
seminar
\family default
\begin_inset Quotes erd
\end_inset
package [present on some TeX distributions].
The latter is not yet supported under LyX.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Perhaps you can take on the task\SpecialChar \ldots{}
\end_layout
\end_inset
I know nothing about these other classes.
Try them out to see what sort of alternative they provide.
\end_layout
\begin_layout Chapter
LyX Features needing Extra Software
\end_layout
\begin_layout Section
Checking TeX
\end_layout
\begin_layout Standard
by
\noun on
Asger Alstrup
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
If you have the
\family typewriter
chktex
\family default
program installed
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\family typewriter
chktex
\family default
is not yet available when you are using the LaTeX distribution MiKTeX.
\end_layout
\end_inset
, you'll find in the
\family sans
Tools
\family default
menu the entry:
\family sans
Check
\begin_inset space ~
\end_inset
TeX
\family default
.
You can get
\family typewriter
chktex
\family default
it from CTAN,
\begin_inset CommandInset href
LatexCommand href
target "http://www.ctan.org/tex-archive/help/Catalogue/entries/chktex.html"
\end_inset
.
\end_layout
\begin_layout Standard
The
\family sans
ChkTeX
\family default
package is a program that was written by
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Jens T.
\begin_inset space ~
\end_inset
Berger Thielemann
\end_layout
\end_inset
in frustration because some constructs in LaTeX are sometimes non-intuitive,
and easy to forget.
The program runs over your LaTeX file, checks the integrity of the file,
and flags some common errors.
In other technical words, it is
\family typewriter
lint
\family default
for LaTeX.
\end_layout
\begin_layout Standard
Well, what is a syntax checker doing in LyX which is supposed to produce
correct LaTeX anyways? The answer is simple: Just as
\family typewriter
Lint
\family default
not only checks the
\emph on
syntax
\emph default
of C programs, but also does
\emph on
semantic
\emph default
checks for type-errors,
\family sans
ChkTeX
\family default
catches some common
\emph on
typographic
\emph default
errors, in addition to the syntactical ones.
Specifically,
\family sans
ChkTeX
\family default
is capable of detecting several common errors, such as
\end_layout
\begin_layout Itemize
Ellipsis detection:
\begin_inset Newline newline
\end_inset
Use \SpecialChar \ldots{}
instead of ...
\end_layout
\begin_layout Itemize
No space in front of/after parenthesis:
\begin_inset Newline newline
\end_inset
( wrong spacing )
\end_layout
\begin_layout Itemize
Enforcement of normal space after common abbreviations:
\begin_inset Newline newline
\end_inset
e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
is too wide spacing.
\end_layout
\begin_layout Itemize
Enforcement of end-of-sentence space when the last sentence ends with a
capital letter:
\begin_inset Newline newline
\end_inset
This is a TEST.
And this is wrong spacing.
\end_layout
\begin_layout Itemize
Space in front of labels and similar commands:
\begin_inset Newline newline
\end_inset
The label should stick right up to the text to avoid falling to a wrong
page.
\begin_inset CommandInset label
LatexCommand label
name "sec:chktex"
\end_inset
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
This footnote is in danger of falling off to a wrong page
\end_layout
\end_inset
The label is separated too much.
\end_layout
\begin_layout Itemize
Space in front of references, instead of hard spaces:
\begin_inset Newline newline
\end_inset
In you are in bad luck, the text will break right between the referenced
text and reference number, and that's a pity.
See section
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:chktex"
\end_inset
.
\end_layout
\begin_layout Itemize
Use of
\begin_inset Quotes eld
\end_inset
x
\begin_inset Quotes erd
\end_inset
instead of
\begin_inset Formula $\times$
\end_inset
between numbers:
\begin_inset Newline newline
\end_inset
2x2 looks cheap compared to
\begin_inset Formula $2\times2$
\end_inset
.
\end_layout
\begin_layout Standard
and more \SpecialChar \ldots{}
It is an invaluable tool when you are
\begin_inset Quotes eld
\end_inset
finishing up
\begin_inset Quotes erd
\end_inset
your document before printing, and you should run it right after the obligatory
spelling check, and before you go fine tuning the typesetting.
\end_layout
\begin_layout Subsection
How to use it
\end_layout
\begin_layout Standard
If you have the program installed, usage is as simple as choosing
\family sans
Tools\SpecialChar \menuseparator
Check
\begin_inset space ~
\end_inset
TeX
\family default
.
This will make LyX generate a LaTeX file of your document, start
\family sans
ChkTeX
\family default
to check it, and then make LyX insert
\begin_inset Quotes eld
\end_inset
error boxes
\begin_inset Quotes erd
\end_inset
with the warnings from
\family sans
ChkTeX
\family default
, if there were any.
The warnings will be placed close to the point of the mistake, and you
can quickly find them by using the
\family sans
Navigate\SpecialChar \menuseparator
Error
\family default
menu item, or the shortcut key
\family sans
C-g
\family default
from the default
\family typewriter
cua
\family default
bind file.
Open the error boxes by clicking on them with the mouse, or use the shortcut
key
\family sans
C-i
\family default
from
\family typewriter
cua
\family default
bindings, or the corresponding
\family sans
C-o
\family default
for the alternate
\family typewriter
emacs
\family default
bind file.
Read the warning and correct the mistake, if it is a mistake.
If you have trouble understanding what the warning is about, you can safely
ignore it.
Remember that there is a hidden layer between the document on screen and
the technical details in invoking
\family sans
ChkTeX
\family default
, and this gap can make some warnings seem arcane or just right down plain
silly.
\end_layout
\begin_layout Standard
This document is an excellent testing bed for the feature, and it should
provide quite a few warnings for you to fiddle with.
Since computers are only so smart, expect most of the warnings to be false
alarms, though.
\end_layout
\begin_layout Subsection
How to fine tune it
\end_layout
\begin_layout Standard
Sometimes, you'll find that
\family sans
ChkTeX
\family default
makes more noise than suits your mood.
Then you can choose not to use it, wait until your mood changes, or try
to customize
\family sans
ChkTeX
\family default
to get better along with you.
\end_layout
\begin_layout Standard
Although
\family sans
ChkTeX
\family default
\emph on
is
\emph default
very configurable and extensible, you shouldn't expect to solve all problems
with
\family sans
ChkTeX
\family default
in LyX this way.
Since LyX has to generate a somewhat special LaTeX file to be able to match
the line numbers from the
\family sans
ChkTeX
\family default
output
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
You can inspect the specific output from
\family sans
chktex
\family default
by using
\family sans
Edit\SpecialChar \menuseparator
View
\begin_inset space ~
\end_inset
LaTeX
\begin_inset space ~
\end_inset
Log
\family default
right after a
\family sans
chktex
\family default
run.
\end_layout
\end_inset
to the internal document structure, some of the warnings will not seen
to appear correctly.
There are two things you can do about this:
\end_layout
\begin_layout Itemize
Fine tune the
\family sans
ChkTeX
\family default
invocation command line in
\family sans
Preferences
\family default
(tabs
\family sans
Outputs
\family default
,
\family sans
Misc
\family default
), or the global
\family sans
ChkTeX
\family default
installation configuration file (usually with the file
\family typewriter
chktexrc
\family default
).
See below to learn what warnings can be enabled and disabled on the command
line.
\end_layout
\begin_layout Itemize
Export your document as a raw LaTeX file using
\family sans
File\SpecialChar \menuseparator
Export\SpecialChar \menuseparator
LaTeX
\family default
and run
\family typewriter
chktex
\family default
manually on that.
Invoked in this way, it can be a hassle to find the corresponding place
in the document inside LyX, but with a little patience, you should be able
to do it.
\end_layout
\begin_layout Standard
Here follows the warning messages that can be enabled and disabled in
\family sans
Preferences
\family default
.
Use
\family typewriter
-n#
\family default
to disable a warning, and
\family typewriter
-w#
\family default
to enable a warning.
The emphasized entries are disabled by default, because the default is
"
\family typewriter
chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38
\family default
".
\end_layout
\begin_layout Standard
Notice that you should only use the options that enable and disable warnings,
because LyX relies on some of the other command line parameters to be set
in a specific way to have a chance to communicate with
\family typewriter
chktex
\family default
.
\end_layout
\begin_layout Enumerate
\size small
\emph on
Command terminated with space.
\end_layout
\begin_layout Enumerate
\size small
Non-breaking space (
\begin_inset Quotes eld
\end_inset
\family typewriter
~
\family default
\begin_inset Quotes erd
\end_inset
) should have been used.
\end_layout
\begin_layout Enumerate
\size small
\emph on
You should enclose the previous parenthesis with
\begin_inset Quotes eld
\end_inset
\family typewriter
{}
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Italic correction (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
/
\family default
\begin_inset Quotes erd
\end_inset
) found in non-italic buffer.
\end_layout
\begin_layout Enumerate
\size small
Italic correction (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
/
\family default
\begin_inset Quotes erd
\end_inset
) found more than once.
\end_layout
\begin_layout Enumerate
\size small
\emph on
No italic correction (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
/
\family default
\begin_inset Quotes erd
\end_inset
) found.
\end_layout
\begin_layout Enumerate
\size small
Accent command
\begin_inset Quotes eld
\end_inset
\family typewriter
cmd
\family default
\begin_inset Quotes erd
\end_inset
needs use of
\begin_inset Quotes eld
\end_inset
\family typewriter
cmd
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Wrong length of dash may have been used.
\end_layout
\begin_layout Enumerate
\size small
\emph on
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
expected, found
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Solo
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
found.
\end_layout
\begin_layout Enumerate
\size small
You should use
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
to achieve an ellipsis.
\end_layout
\begin_layout Enumerate
\size small
Inter-word spacing (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
\family default
\begin_inset Quotes eld
\end_inset
) should perhaps be used.
\end_layout
\begin_layout Enumerate
\size small
Inter-sentence spacing (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
@
\family default
\begin_inset Quotes erd
\end_inset
) should perhaps be used.
\end_layout
\begin_layout Enumerate
\size small
Could not find argument for command.
\end_layout
\begin_layout Enumerate
\size small
No match found for
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Math mode still on at end of LaTeX file.
\end_layout
\begin_layout Enumerate
\size small
Number of
\begin_inset Quotes eld
\end_inset
\family typewriter
char
\family default
\begin_inset Quotes erd
\end_inset
doesn't match the number of
\begin_inset Quotes eld
\end_inset
\family typewriter
char
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
You should use either
\family typewriter
\begin_inset Quotes eld
\end_inset
\family default
or
\family typewriter
\begin_inset Quotes erd
\end_inset
\family default
as an alternative to
\begin_inset Quotes eld
\end_inset
\family typewriter
"
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
You should use "
\family typewriter
'
\family default
" (ASCII 39) instead of "
\family typewriter
´
\family default
" (ASCII 180).
\end_layout
\begin_layout Enumerate
\size small
User-specified pattern found.
\end_layout
\begin_layout Enumerate
\size small
This command might not be intended.
\end_layout
\begin_layout Enumerate
\size small
\emph on
Comment displayed.
\end_layout
\begin_layout Enumerate
\size small
Either
\family typewriter
''
\backslash
,'
\family default
or
\family typewriter
'
\backslash
,''
\family default
will look better.
\end_layout
\begin_layout Enumerate
\size small
Delete this space to maintain correct page references.
\end_layout
\begin_layout Enumerate
\size small
\emph on
You might wish to put this between a pair of
\begin_inset Quotes eld
\end_inset
\family typewriter
{}
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
You ought to remove spaces in front of punctuation.
\end_layout
\begin_layout Enumerate
\size small
Could not execute LaTeX command.
\end_layout
\begin_layout Enumerate
\size small
Don't use
\family typewriter
\backslash
/
\family default
in front of small punctuation.
\end_layout
\begin_layout Enumerate
\family typewriter
\size small
$
\backslash
times$
\family default
may look prettier here.
\end_layout
\begin_layout Enumerate
\size small
\emph on
Multiple spaces detected in output.
\end_layout
\begin_layout Enumerate
\size small
This text may be ignored.
\end_layout
\begin_layout Enumerate
\size small
Use
\family typewriter
\begin_inset Quotes eld
\end_inset
\family default
to begin quotation, not
\family typewriter
'
\family default
.
\end_layout
\begin_layout Enumerate
\size small
Use
\family typewriter
'
\family default
to end quotation, not
\family typewriter
\begin_inset Quotes eld
\end_inset
\family default
.
\end_layout
\begin_layout Enumerate
\size small
Don't mix quotes.
\end_layout
\begin_layout Enumerate
\size small
You should perhaps use
\begin_inset Quotes eld
\end_inset
\family typewriter
cmd
\family default
\begin_inset Quotes erd
\end_inset
instead.
\end_layout
\begin_layout Enumerate
\size small
You should put a space in front of/after parenthesis.
\end_layout
\begin_layout Enumerate
\size small
You should avoid spaces in front of/after parenthesis.
\end_layout
\begin_layout Enumerate
\size small
\emph on
You should not use punctuation in front of/after quotes.
\end_layout
\begin_layout Enumerate
\size small
Double space found.
\end_layout
\begin_layout Enumerate
\size small
You should put punctuation outside inner/inside display math mode.
\end_layout
\begin_layout Enumerate
\size small
You ought to not use primitive TeX in LaTeX code.
\end_layout
\begin_layout Enumerate
\size small
You should remove spaces in front of
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Enumerate
\size small
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
is normally not followed by
\begin_inset Quotes eld
\end_inset
\family typewriter
%c
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Standard
In later versions of LyX, we hope to provide a more complete interface to
this tool (and it's smaller cousin
\family typewriter
lacheck
\family default
) to exploit the full power of it.
But it's not exactly useless as it is now: go try it on one of your existing
documents of a certain length and be surprised.
\end_layout
\begin_layout Section
Version Control in LyX
\end_layout
\begin_layout Standard
by
\noun on
Lars Gullik Bjønnes
\noun default
and
\noun on
Pavel Sanda
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
A friend of mine wanted to try LyX for a group project.
When he didn't find support for version control or file locking, he dropped
it.
This angered me a bit, so I thought that I should at least make support
for RCS (with the possibility of CVS and/or SCCS as a future improvement.)
This has been done.
LyX now supports some of the most basic RCS/CVS/SVN commands.
If you need something a bit more sophisticated you will have to do that
manually in a terminal.
\end_layout
\begin_layout Standard
Also note that CVS support is not as good as subversion support so we advice
using SVN instead.
Good place to start with Subversion is SVN Book
\begin_inset Foot
status open
\begin_layout Plain Layout
\begin_inset CommandInset href
LatexCommand href
target "http://svnbook.red-bean.com/"
\end_inset
\end_layout
\end_inset
.
In case of RCS you should read
\begin_inset Quotes eld
\end_inset
rcsintro
\begin_inset Quotes erd
\end_inset
(a man file, read it with
\family typewriter
man rcsintro
\family default
).
This file describes all the basic features of RCS.
You should especially notice the comment about a RCS directory, and the
notion of a master RCS file (the file ending in
\family typewriter
,v
\family default
).
\end_layout
\begin_layout Standard
Before you begin to use the version control features in LyX, you should
be familiar with RCS/CVS/SVN usage.
The implementation in LyX assumes a recent version of the GNU RCS or CVS/SVN
package—no guarantees are made for older versions.
Most of the log messages are not currently displayed after operations —
you can check them in Messages pane if unsure.
\end_layout
\begin_layout Standard
For introducing your own external commands consult vc-command in the manual
of LyX functions.
\end_layout
\begin_layout Subsection
RCS commands in LyX
\end_layout
\begin_layout Standard
The following sections describe the RCS commands supported by LyX.
You can find them in the
\family sans
File\SpecialChar \menuseparator
Version
\begin_inset space ~
\end_inset
Control
\family default
submenu.
LyX was tested against RCS 5.7.
\end_layout
\begin_layout Subsubsection
\family sans
Register
\end_layout
\begin_layout Standard
If your document is not under revision control, this is the only item shown
in the menu.
And if it is under revision control, the
\family sans
Register
\family default
item is not visible.
\end_layout
\begin_layout Standard
This command registers your document with RCS (unless you are under the
directory managed by CVS)\SpecialChar \@.
You are asked interactively to supply an initial
description of the document.
The document is now set in Read-Only mode and you have to
\family sans
Check
\begin_inset space ~
\end_inset
Out
\begin_inset space ~
\end_inset
For
\begin_inset space ~
\end_inset
Edit
\family default
, before making any changes to it.
A document under revision control has a
\begin_inset Quotes eld
\end_inset
[RCS:<version> <locker>]
\begin_inset Quotes erd
\end_inset
item tagged to the filename in the minibuffer.
\end_layout
\begin_layout Standard
RCS command that is run:
\family typewriter
ci -q -u -i -t-"<initial description>" <file-name>
\end_layout
\begin_layout Standard
Read
\family typewriter
man ci
\family default
to understand the switches.
\end_layout
\begin_layout Subsubsection
\family sans
Check In Changes
\end_layout
\begin_layout Standard
When you are finished editing a file, you check in your changes.
When you do this, you are asked for a description of the changes.
This is stored in the history log.
The version number is bumped, your changes are applied to the master RCS
file, the document is unlocked and set to Read-Only mode.
\end_layout
\begin_layout Standard
RCS command:
\family typewriter
ci -q -u -m"<description>" <file-name>
\end_layout
\begin_layout Subsubsection
\family sans
Check Out For Edit
\end_layout
\begin_layout Standard
By doing this you lock the document so that only you can edit it.
This will also make the document Read-Write only for you.
You will usually continue editing for a while and when you are finished
you check in your changes.
The status line is changed to reflect that you have locked the file.
\end_layout
\begin_layout Standard
RCS command:
\family typewriter
co -q -l <file-name>
\end_layout
\begin_layout Subsubsection
\family sans
Revert To Repository Version
\end_layout
\begin_layout Standard
This will discard all changes made to the document since the last check
in.
You get a warning before changes are discarded.
\end_layout
\begin_layout Standard
RCS command:
\family typewriter
co -f -u<version> <file-name>
\end_layout
\begin_layout Subsubsection
\family sans
Undo Last Checkin
\end_layout
\begin_layout Standard
This makes as if the last check in never happened.
No changes are made to the document loaded into LyX, but the last version
is removed from the master RCS file.
\end_layout
\begin_layout Standard
RCS command:
\family typewriter
rcs -o<version> <file-name>
\end_layout
\begin_layout Subsubsection
\family sans
Show History
\end_layout
\begin_layout Standard
This shows the complete history of the RCS document.
The output of
\family typewriter
rlog <file-name>
\family default
is shown in a browser.
See
\family typewriter
man rlog
\family default
for more info.
\end_layout
\begin_layout Subsubsection
Revision info
\end_layout
\begin_layout Standard
LyX supports RCS version number, author name, date and time of last commit.
All those are extracted from
\family typewriter
rlog -r <file-name>
\family default
.
For other details see
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:VCS-Revision-Information"
\end_inset
for details.
\end_layout
\begin_layout Subsection
CVS commands in LyX
\end_layout
\begin_layout Standard
A subset of CVS operations is supported by LyX.
You can find the commands in the
\family sans
File\SpecialChar \menuseparator
Version
\begin_inset space ~
\end_inset
Control
\family default
submenu.
The version control system SVN is more powerful, so please use it instead
of CVS if possible.
\end_layout
\begin_layout Subsubsection
\family sans
General CVS usage
\end_layout
\begin_layout Standard
If you start from scratch with CVS you have to create your repository and
checkout the working copy with external tools.
If you're using a client-server setup you may need to login before doing
the first repository checkout.
\end_layout
\begin_layout Standard
If your documents are under revision control and others are using the same
repository problems arise when different changes to the same document at
the same location happen.
Standard CVS repositories doesn't operate with a file locking mechanism.
This may be surprising, but conflicts only occur if people disagree on
the proper content of the same part of a document.
So, if co-workers are used to communicate regularly, these conflicts occur
rarely.
If they don't communicate they have a fundamental problem anyway.
Nevertheless some people like to work with so called
\begin_inset Quotes eld
\end_inset
reserved checkouts
\begin_inset Quotes erd
\end_inset
.
If they do so the working copy of all files is readonly when checked out
first and the user starts editing after using a special command to make
the working copy writable.
When the changes are checked in the working copy returns to readonly state.
With LyX one has to edit the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.cvsrc
\end_layout
\end_inset
file and add the line
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -r
\end_layout
\end_inset
to work with reserved checkouts.
The benefit is the possibility to see who is using a writable copy of some
document.
It's not guaranteed only one user makes a copy writable.
\end_layout
\begin_layout Standard
LyX tries to guess if you're using reserved or non-reserved checkouts.
If your working copy is readonly or it is writable and an additional copy
of your document exists in the CVS/Base sub-directory a reserved otherwise
a non-reserved checkout is assumed.
When a reserved checkout is detected you have to use
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Check Out
\end_layout
\end_inset
to make your working copy writable if it's readonly.
After doing so the
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Check In
\end_layout
\end_inset
operation is possible and that makes your working copy readonly again after
transferring your changes to the repository.
\end_layout
\begin_layout Standard
More information about CVS can be found here
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.nongnu.org/cvs
\end_layout
\end_inset
and here
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://ximbiot.com/cvs
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Read
\family typewriter
man cvs
\family default
to understand the sub-commands and the switches mentioned below.
\end_layout
\begin_layout Subsubsection
\family sans
Register
\end_layout
\begin_layout Standard
If your document is not under revision control, this is the only item shown
in the menu.
And if it is under revision control, the
\family sans
\bar under
R
\bar default
egister
\family default
item is not visible.
\end_layout
\begin_layout Standard
This command registers in CVS your document
\begin_inset Flex Strong
status collapsed
\begin_layout Plain Layout
\emph on
only
\end_layout
\end_inset
in case you have already the documents directory under CVS control (in
particular
\family typewriter
CVS/Entries
\family default
file exists).
This means you have to create or checkout the archive by yourself using
external tools.
(In case you forget that step LyX registers the document with RCS.)
\end_layout
\begin_layout Standard
Then you are asked interactively to supply an initial description of the
document.
Don't forget that registered file is not yet checked in.
\end_layout
\begin_layout Standard
CVS command that is run:
\family typewriter
cvs -q add -m"<entered message>" "<file-name>"
\end_layout
\begin_layout Standard
The term
\family typewriter
"<file-name>"
\family default
above and for all other CVS commands is an abbreviation for
\begin_inset Quotes eld
\end_inset
change the current working directory to file location and use the file name
without path component as argument
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Subsubsection
\family sans
Check In Changes
\end_layout
\begin_layout Standard
When you are finished editing a file, you commit your changes.
When you do this and you had changed the document, you are asked for a
description of the changes.
After that changes are written to the repository.
In case you didn't change the document and a reserved checkout is detected
the reservation made on
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Check Out
\end_layout
\end_inset
is undone.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
CVS
\begin_inset space ~
\end_inset
command:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs
\family typewriter
-q commit -m"<description>" "<file-name>"
\end_layout
\end_inset
or
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -q unedit
\family typewriter
"<file-name>"
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Check Out Changes
\end_layout
\begin_layout Standard
When you are sharing a repository with others, you may have to incorporate
their changes into your working copy.
\end_layout
\begin_layout Standard
CVS command:
\family typewriter
cvs -q update "<file-name>"
\end_layout
\begin_layout Standard
If a readonly checkout is detected the working copy is made writable and
reserved.
\end_layout
\begin_layout Standard
CVS command:
\family typewriter
cvs -q edit "<file-name>"
\end_layout
\begin_layout Subsubsection
\family sans
Revert To Repository Version
\end_layout
\begin_layout Standard
This will discard all changes made to the document since the last check
in.
You get a warning before changes are discarded.
Firstly the file is deleted, secondly CVS update command is run.
\end_layout
\begin_layout Standard
CVS command:
\family typewriter
cvs -q update "<file-name>"
\end_layout
\begin_layout Standard
If a reserved checkout is detected and the working copy has no changes only
the reservation is undone.
\end_layout
\begin_layout Standard
CVS command:
\family typewriter
cvs -q unedit "<file-name>"
\end_layout
\begin_layout Subsubsection
Update of the local directory checkout from repository
\end_layout
\begin_layout Standard
Once your documents gets more complex, containing sub-documents and pictures,
including external
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
files and so on using version control becomes more complicated.
LyX supports updating the whole tree in which resides the document.
This become especially useful once you cooperate with people which neither
have detailed knowledge about CVS usage nor they have ambition to commit
additional material to the repository.
You have to organize the files structure so that all external files are
in the same directory or subdirectories of the document.
It's good practice anyway to store multipart documents in an extra directory.
\end_layout
\begin_layout Standard
The
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Update local directory from repository
\end_layout
\end_inset
command updates the whole directory.
If local changes are detected user is warned before update starts.
In case of merge conflicts both versions of the conflicting document parts
are placed in the final document.
You have to review and correct the result of the merge.
You'll find the conflicts enclosed in pairs of
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
<<<<<<<
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
>>>>>>>
\end_layout
\end_inset
separated by
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
=======
\end_layout
\end_inset
.
The first part is your version as before the update operation with the
document name prepended.
The second one is the repository version with the version number after
the sequence of
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
>
\end_layout
\end_inset
signs.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
CVS
\begin_inset space ~
\end_inset
commands:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cd $path; cvs diff
\family typewriter
"."
\end_layout
\end_inset
(Ask if changes are detected.)
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cd $path; cvs -q update
\family typewriter
"."
\end_layout
\end_inset
\end_layout
\begin_layout Standard
where
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$path
\end_layout
\end_inset
stands for the path to the document.
\end_layout
\begin_layout Subsubsection
\family sans
Show History
\end_layout
\begin_layout Standard
This shows the complete history of the CVS document.
The output of
\family typewriter
cvs log "<file-name>"
\family default
is shown in a browser.
\end_layout
\begin_layout Subsection
SVN commands in LyX
\end_layout
\begin_layout Standard
SVN is now partially supported by LyX.
You can find the commands in the
\family sans
File\SpecialChar \menuseparator
Version
\begin_inset space ~
\end_inset
Control
\family default
submenu.
Please note that if you use password protected access to repository via
ssh, you will be asked in terminal window.
LyX was tested against SVN 1.5 and 1.6
\begin_inset Foot
status open
\begin_layout Plain Layout
Most of the commands will work with 1.4 too, see
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:SVN-Repo-Update"
\end_inset
.
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Register
\end_layout
\begin_layout Standard
If your document is not under revision control, this is the only item shown
in the menu.
And if it is under revision control, the
\family sans
\bar under
R
\bar default
egister
\family default
item is not visible.
\end_layout
\begin_layout Standard
This command registers in SVN your document ONLY in case you have already
the documents directory under SVN control (in particular
\family typewriter
.svn/entries
\family default
file exists).
This means you have to checkout the archive by yourself.
\end_layout
\begin_layout Standard
Then you are asked interactively to supply an initial description of the
document.
Don't forget that registered file is not yet commited.
\end_layout
\begin_layout Standard
SVN command that is run:
\family typewriter
svn add -q
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Standard
Read
\family typewriter
man svn
\family default
to understand the switches.
\end_layout
\begin_layout Subsubsection
\family sans
Check In Changes
\end_layout
\begin_layout Standard
When you are finished editing a file, you commit your changes.
When you do this, you are asked for a description of the changes.
After that changes are commited.
\end_layout
\begin_layout Standard
SVN command:
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
In case locking is not enabled.
See Section
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:SVN-File-Locking"
\end_inset
.
\end_layout
\end_inset
\family typewriter
svn commit -q -m"<description>" <file-name>
\end_layout
\begin_layout Subsubsection
\family sans
Check Out For Edit
\end_layout
\begin_layout Standard
Updates the changes of this file from the repository.
Be sure you understand SVN merging and conflicts resolving before using
this function, because all conflicts has to be resolved manually by you!
\end_layout
\begin_layout Standard
SVN command:
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Ditto.
\end_layout
\end_inset
\family typewriter
svn update --non-interactive
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Revert To Repository Version
\end_layout
\begin_layout Standard
This will discard all changes made to the document since the last check
in.
You get a warning before changes are discarded.
\end_layout
\begin_layout Standard
SVN command:
\family typewriter
svn revert -q
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Subsubsection
\begin_inset CommandInset label
LatexCommand label
name "sub:SVN-Repo-Update"
\end_inset
Update of the local directory checkout from repository
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Note that this command will work only with subversion
\begin_inset Formula $\geqq1.5$
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
All the commands above have one shortcomming - they deal with the current
document only.
Once your document contains pictures, includes external
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
files and so on administration becomes more complicated.
LyX now supports updating the whole tree in which resides the document
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
One need to organize the files structure so that all external files are
in the same directory or subdirectories of the document.
\end_layout
\end_inset
.
This become especially useful once you cooperate with people which neither
know about subversion management nor they have ambition to commit additional
material to the repository.
\end_layout
\begin_layout Standard
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Update local directory from repository
\end_layout
\end_inset
command updates the whole directory and in case of merge conflicts local
version of the files are left, so no unintended data loss occurs.
If local changes are detected user is warned before update starts.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
SVN
\begin_inset space ~
\end_inset
commands:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn diff $path
\end_layout
\end_inset
(Ask if changes are detected.)
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn update --accept mine-full $path
\end_layout
\end_inset
\end_layout
\begin_layout Standard
where
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$path
\end_layout
\end_inset
stands for the path to the document.
\end_layout
\begin_layout Subsubsection
\family sans
Show History
\end_layout
\begin_layout Standard
This shows the complete history of the SVN document.
The output of
\family typewriter
svn log
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\family default
is shown in a browser.
\end_layout
\begin_layout Subsubsection
File Locking
\begin_inset CommandInset label
LatexCommand label
name "subsec:SVN-File-Locking"
\end_inset
\end_layout
\begin_layout Standard
The file exchange through various revision control systems brings the problem
of merge conflicts in case two different users try to edit the same (parts
of) document.
When such a conflict happens it needs manual resolving and one reasonable
alternative is to provide some kind of locking mechanism, which guarantees
that only one user is allowed to edit file at the given time.
\end_layout
\begin_layout Standard
SVN has two such mechanisms to provide mutual exclusivity for file access
- locks and automatic setting of write permissions (see sec.
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Automatical-Locking-Property"
\end_inset
) based on
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn:needs-lock
\end_layout
\end_inset
file svn property
\begin_inset Foot
status open
\begin_layout Plain Layout
http://svnbook.red-bean.com/en/1.2/svn.advanced.locking.html
\end_layout
\end_inset
.
If this property is detected for a given document LyX starts to use SVN
locks for document editing automatically and the whole check-in/out mechanism
switches to the same regimen as for RCS.
This in particular means there are two different modes of file use in LyX:
\end_layout
\begin_layout Itemize
Unlocked state.
The loaded file is in the read-only mode.
For editing on needs to check-out.
\emph on
Check-out
\emph default
consists of updating from the repository and gaining write lock.
If the lock is not possible to obtain, we remain in unlocked state.
\end_layout
\begin_layout Itemize
Locked state.
The loaded file is in the 'normal' edit mode.
No other user is allowed to edit the file.
\emph on
Check-in
\emph default
consists of commiting changes and releasing write-lock.
If no changes have been made to the document, no commit will be produced
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Don't be puzzled by the fact that you will be asked for commit message anyway.
\end_layout
\end_inset
and only the write-lock will be released.
\end_layout
\begin_layout Standard
SVN commands:
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Check-in:
\family typewriter
svn commit -q -m"<description>" "<file-name>"
\begin_inset Newline newline
\end_inset
svn unlock "<file-name>"
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Check-out:
\family typewriter
svn update "<file-name>"
\begin_inset Newline newline
\end_inset
svn lock "<file-name>"
\end_layout
\begin_layout Subsubsection
\family typewriter
\begin_inset CommandInset label
LatexCommand label
name "subsec:Automatical-Locking-Property"
\end_inset
\family default
Automatic Locking Property
\end_layout
\begin_layout Standard
The above mentioned automatic setting of write permissions of the .lyx file
can be set through
\family sans
\bar under
F
\bar default
ile\SpecialChar \menuseparator
\bar under
V
\bar default
ersion
\begin_inset space ~
\end_inset
Control\SpecialChar \menuseparator
\bar under
T
\bar default
oggle locking property
\family default
.
This command is active only when the file is not locked on the svn server
(i.e.
you need to check-out before proceeding).
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
SVN
\begin_inset space ~
\end_inset
commands:
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Set:
\family typewriter
svn propset svn:needs-lock ON "<file-name>"
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Unset:
\family typewriter
svn propdel svn:needs-lock "<file-name>"
\end_layout
\begin_layout Subsubsection
\begin_inset CommandInset label
LatexCommand label
name "sub:VCS-Revision-Information"
\end_inset
Revision Information in Documents
\end_layout
\begin_layout Standard
There are more possibilities how to activate revision information in our
document.
\end_layout
\begin_layout Itemize
LyX supports directly:
\end_layout
\begin_deeper
\begin_layout Itemize
tree revision information (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-tree-revision
\end_layout
\end_inset
).
The result is the output of the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svnversion
\end_layout
\end_inset
command, the following table gives you an idea, how to read the results.
\end_layout
\begin_layout Standard
\align center
\begin_inset Tabular
<lyxtabular version="3" rows="6" columns="2">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0">
<column alignment="center" valignment="top" width="0">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Output
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Meaning
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
4123:4168
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
mixed revision working copy
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
4168M
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
modified working copy
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
4123S
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
switched working copy
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
4123P
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
partial working copy, from a sparse checkout
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
4123:4168MS
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
mixed revision, modified, switched working copy
\end_layout
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\end_layout
\begin_layout Itemize
file revision information.
The result comes from parsing the output of
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn
\begin_inset space ~
\end_inset
info
\begin_inset space ~
\end_inset
--xml
\begin_inset space ~
\end_inset
file.lyx
\end_layout
\end_inset
.
Supported flags are:
\end_layout
\begin_deeper
\begin_layout Itemize
version number of the last commit (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-revision
\end_layout
\end_inset
)
\end_layout
\begin_layout Itemize
author of the last commit (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-author
\end_layout
\end_inset
)
\end_layout
\begin_layout Itemize
date of the last commit (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-date
\end_layout
\end_inset
)
\end_layout
\begin_layout Itemize
time of the last commit (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-time
\end_layout
\end_inset
)
\end_layout
\end_deeper
\begin_layout Standard
You can obtain this info via InsetInfo (e.g.
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
info-insert buffer vcs-date
\end_layout
\end_inset
).
The information will be available only when you have the file stored under
svn managment (i.e.
the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.svn
\end_layout
\end_inset
directory is available with your document).
\end_layout
\end_deeper
\begin_layout Itemize
Another---a hacking one---possibility is to use svn keywords
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
http://svnbook.red-bean.com/en/1.4/svn.advanced.props.special.keywords.html
\end_layout
\end_inset
.
In short -- you set file keywords property (e.g.
\family sans
svn propset svn:keywords 'Rev' file.lyx
\family default
) and then paste keyword TeX code
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
This is an easy way how to ensure that LyX won't break the line in the middle
of keyword tag.
\end_layout
\end_inset
tag in your document (e.g.
\begin_inset ERT
status open
\begin_layout Plain Layout
$Rev$
\end_layout
\end_inset
).
This way svn client will automatically substitute revision number (e.g.
\begin_inset ERT
status open
\begin_layout Plain Layout
$Rev: 59 $
\end_layout
\end_inset
) after each update and commit.
There are more problems with this approach.
Firstly, the '$' character is used in TeX world for math equations, so
any occurence of math formula
\begin_inset Formula $Rev$
\end_inset
become
\begin_inset Formula $Rev:59$
\end_inset
in your LyX document.
Similarly for other keywords like Id, Date, Author, etc.
Secondly svn output is dependent on your locales, so its very easy that
svn would produce some problematic strings once Date is used.
Thirdly you get the whole 'Rev: 59' string in your document instead of
the plain number.
Until subversion implements user's custom keywords it will be hard to use
this approach reliably or let LyX to support it directly.
\end_layout
\begin_layout Subsection
SVN and Windows Environment
\end_layout
\begin_layout Quote
My inclination is to say that if the user cannot figure out the command
line operations on their own fairly quickly, they would be well advised
to use TortoiseSVN.
---P.
A.
Rubin
\end_layout
\begin_layout Subsubsection
Preparation
\end_layout
\begin_layout Standard
In addition to installing LyX, and having access to a Subversion repository,
the user will need to install the Subversion client program.
A Windows installer for the client program is available from
\begin_inset CommandInset href
LatexCommand href
name "CollabNet"
target "http://www.collab.net/nonav/downloads/subversion/"
\end_inset
.
The user may also want to install
\begin_inset CommandInset href
LatexCommand href
name "TortoiseSVN"
target "http://tortoisesvn.tigris.org/"
\end_inset
, which integrates Subversion operations into the context (rightclick) menu
of Windows Explorer.
Operations done outside LyX will typically be more convenient using the
Explorer context menu.
Note that TortoiseSVN is not a replacement for the client program, which
is what LyX itself will use.
\end_layout
\begin_layout Subsubsection
Bringing a document under Subversion control
\end_layout
\begin_layout Standard
Before a LyX document can be brought under version control in Subversion,
its parent directory needs to be under version control.
If the document is being added to a project already in the repository,
this is accomplished by checking the project out to the directory where
the new document will be placed.
If the project itself is not yet under version control (for instance, if
this document starts a new project), the directory must be imported into
the repository.
This is done outside LyX.
Both import and checkout are easily accomplished from the Explorer context
menu using TortoiseSVN, or alternatively can be done using the command
line client at a DOS prompt.
The procedure for importing the project using TortoiseSVN is described
below, assuming an existing repository and a new project being started
in
\family typewriter
C:
\backslash
new project
\family default
.
For information on using the Subversion client program, run
\family typewriter
svn --help
\family default
in a DOS shell.
\end_layout
\begin_layout Enumerate
Locate
\family typewriter
C:
\backslash
new project
\family default
in Windows Explorer, right click it, and select
\family typewriter
TortoiseSVN > Repo-browser
\family default
.
If necessary, adjust the URL for the repository, then click OK.
\end_layout
\begin_layout Enumerate
Right click the level of the repository under which you want to place the
new project folder (typically the top level) and click
\family typewriter
Create folder\SpecialChar \ldots{}
\family default
Supply a name for the project folder and click OK.
Add a message for the log file if desired, then click OK again.
The new project folder should appear in the repository.
Finally, click OK again to exit the repository browser.
\end_layout
\begin_layout Enumerate
Once again right click
\family typewriter
C:
\backslash
new project
\family default
, this time selecting SVN Checkout\SpecialChar \ldots{}
Select the URL of the project folder
you just created in the repository, and set the checkout directory to
\family typewriter
C:
\backslash
new project.
\family default
Click OK.
You will be warned about a non-empty folder; click OK to proceed.
You should now have a
\family typewriter
.svn
\family default
directory under
\family typewriter
C:
\backslash
new project.
\end_layout
\begin_layout Enumerate
Create or open your document in LyX and click
\family sans
\bar under
F
\bar default
ile\SpecialChar \menuseparator
\bar under
V
\bar default
ersion
\begin_inset space ~
\end_inset
Control\SpecialChar \menuseparator
\bar under
R
\bar default
egister.
\family default
Add a log message and click OK to commit the document to version control.
\end_layout
\begin_layout Standard
From this point onward, you should have full functionality in the
\family sans
\bar under
F
\bar default
ile\SpecialChar \menuseparator
\bar under
V
\bar default
ersion
\begin_inset space ~
\end_inset
Control
\family default
menu.
You also have the option of checking the document in and out, viewing its
history, etc.
using the TortoiseSVN context menu in Windows Explorer or the Subversion
client program from a command prompt.
\end_layout
\begin_layout Subsubsection
SSH tunnel used with SVN under Windows
\end_layout
\begin_layout Standard
Compared with Linux setting up svn client to communicate over ssh under
Windows is a rather troublesome task.
We will at least offer some hints how to setup the client side but prior
knowledge about ssh and the Windows command line is needed, also be prepared
for a great deal of frustration\SpecialChar \ldots{}
\end_layout
\begin_layout Enumerate
Get a svn client for windows, as described in the previous sections.
When it is a fresh install run some svn command (e.g.
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn --version
\end_layout
\end_inset
) to create config files, which you will need to change later on.
\end_layout
\begin_layout Enumerate
Choose a ssh client for Windows.
There are several possibilities, we will use the one from Putty tools
\begin_inset Foot
status open
\begin_layout Plain Layout
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
\end_layout
\end_inset
\end_layout
\end_inset
.
You will need to set the connection up so that the client doesn't ask for
any password from you.
To keep things easy we will use only keys without any additional password
protection etc.
\end_layout
\begin_deeper
\begin_layout Enumerate
Generate keys by
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
puttygen
\end_layout
\end_inset
.
Save your private .ppk key file and put the public one on the server side.
If the SVN server runs on Linux, note that the format of the public key
is not compatible with Linux openssh and you will need to direcly copy-paste
the key from the “
\emph on
Public key for pasting into OpenSSH authorized_keys file
\emph default
:” edit field into the server's
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
~/.ssh/authorized_keys
\end_layout
\end_inset
/
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
authorized_keys2
\end_layout
\end_inset
file.
\end_layout
\begin_layout Enumerate
Get the Putty's
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
plink
\end_layout
\end_inset
.
In the SVN config file
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Exact path depends on Windows version, usually somewhere around
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
c:
\backslash
Documents and Settings
\backslash
user
\backslash
Application Data
\backslash
Subversion
\backslash
config
\end_layout
\end_inset
/
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
AppData
\backslash
Roaming
\backslash
Subversion
\end_layout
\end_inset
.
\end_layout
\end_inset
, section [tunnels], setup ssh command, e.g.
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
ssh=c:/path/plink.exe -i c:/path/private_key.ppk
\end_layout
\end_inset
.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
It will usually take a lot of time to get exact command right and it depends
on many things.
For example do not have some remote server saved as a default session in
Putty etc.
If things fail, try to connect via plink without SVN first.
\end_layout
\end_inset
\end_layout
\end_deeper
\begin_layout Enumerate
Checkout the SVN archive, e.g.
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn co svn+ssh://user@server/repository_path
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsubsection
End-of-Line Conversions
\end_layout
\begin_layout Standard
When the collaborators are mixing Linux and Windows environments, LyX will
use different line endings inside the .lyx files.
This is not a problem as far as LyX functionality is concerned, but the
commit diffs will be huge and merge-conflicts prone.
Fortunately SVN itself knows
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://svnbook.red-bean.com/en/1.4/svn.advanced.props.file-portability.html
\end_layout
\end_inset
\end_layout
\end_inset
how to deal with CR/LF problems when switching .lyx files to the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
native
\end_layout
\end_inset
mode.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
For the lazy guys:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn propset svn:eol-style native FILE_NAME
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Further tuning
\end_layout
\begin_layout Standard
With the recent addition of the vc-command function LyX power users are
allowed to create their own commands for revision control.
\end_layout
\begin_layout Standard
As an example you can see how two TortoiseSVN commands could be integrated
directly:
\end_layout
\begin_layout Description
Commit:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vc-command DR "." "TortoiseProc /command:commit /path:$$p"
\end_layout
\end_inset
\end_layout
\begin_layout Description
Revert:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vc-command DR "." "TortoiseProc /command:revert /path:$$p"
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Version control and Document comparison
\end_layout
\begin_layout Standard
One of the typical uses of version control is to inspect the changes between
revisions, usually by creating
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
diff
\end_layout
\end_inset
dumps.
While this is useful for plain text files, it is much less useful in the
case of LyX files, which have more complicated structure.
Hence we provide binding to the Document comparison feature.
They are two ways of calling this feature - either by direct call of
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
VC_COMPARE
\end_layout
\end_inset
LyX function (for details see LyX functions manual) or by icon/menu item
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Compare with older revision...
\end_layout
\end_inset
.
One can either compare two chosen revisions of the document or he can simply
compare the current version of edited text with older revisions (where
'
\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
0
\end_layout
\end_inset
' revisions back means comparison of the edited file with last commited
revision).
\end_layout
\begin_layout Standard
This feature is supported for SVN and RCS though due to the more complicated
versioning scheme of RCS there is a constraint -- when addressing the revisions
in dialog, numbers always point to the last number in RCS revision number,
i.e.
'35' in '1.2.35'.
\end_layout
\begin_layout Section
Literate Programming
\end_layout
\begin_layout Standard
Updated by
\noun on
Kayvan Sylvan
\noun default
(kayvan@sylvan.com)
\noun on
,
\noun default
original documentation written by
\noun on
Edmar Wienskoski Jr.
\noun default
(edmar-w-jr@technologist.com)
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
The main purpose of this documentation is to show you how to use LyX for
literate programming, where it is assumed that you are familiar with this
programming technique, and know what
\begin_inset Quotes eld
\end_inset
tangling
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
weaving
\begin_inset Quotes erd
\end_inset
means.
If that is not the case, please follow the web links provided in the following
sections.
There is a lot of good documentation out there covering old development
history to the latest tools tips.
\end_layout
\begin_layout Standard
It is also assumed that you are familiar with LyX itself to a point that
you are comfortable changing your LyX preferences, and X resources file.
If that is not the case please refer to other LyX documentation to cover
your specific needs.
\end_layout
\begin_layout Subsection
Literate Programming
\end_layout
\begin_layout Standard
From the Literate Programming FAQ:
\end_layout
\begin_layout Quotation
Literate programming is the combination of documentation and source together
in a fashion suited for reading by human beings.
In fact, literate programs should be enjoyable reading, even inviting!
(Sorry Bob, I couldn't resist!) In general, literate programs combine source
and documentation in a single file.
Literate programming tools then parse the file to produce either readable
documentation or compilable source.
The WEB style of literate programming was created by D.
\begin_inset space \thinspace{}
\end_inset
E.
Knuth during the development of his TeX typesetting software.
\end_layout
\begin_layout Standard
Another excerpt says:
\end_layout
\begin_layout Quotation
\emph on
How is literate programming different from verbose commenting?
\end_layout
\begin_layout Quotation
There are three distinguishing characteristics.
In order of importance, they are:
\end_layout
\begin_deeper
\begin_layout Itemize
flexible order of elaboration
\end_layout
\begin_layout Itemize
automatic support for browsing
\end_layout
\begin_layout Itemize
typeset documentation, especially diagrams and mathematics
\end_layout
\end_deeper
\begin_layout Standard
Now that I sparked your curiosity, take a look in the references.
\end_layout
\begin_layout Subsubsection
References
\end_layout
\begin_layout Standard
The complete Literate Programming FAQ can be found at:
\end_layout
\begin_layout Quote
Literate Programming FAQ
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.literateprogramming.com/lpfaq.pdf
\end_layout
\end_inset
\end_layout
\begin_layout Standard
The FAQ lists 23 (twenty three!) different literate programming tools.
Where some are specialized or
\begin_inset Quotes eld
\end_inset
tailored
\begin_inset Quotes erd
\end_inset
for particular programming languages, while other have general scope.
I selected
\noun on
Noweb
\noun default
for my own use for several reasons:
\end_layout
\begin_layout Itemize
It can generate the documentation either in LaTeX or HTML.
\end_layout
\begin_layout Itemize
It has a open architecture, i.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
it is easy to plug in new filters and to perform special processing that
you may need.
\end_layout
\begin_layout Itemize
There is a good selection of filters available already (the HTML is one
of them).
\end_layout
\begin_layout Itemize
It is free.
\end_layout
\begin_layout Standard
The Noweb web page can be found at:
\end_layout
\begin_layout Quote
Noweb home page
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.cs.virginia.edu/~nr/noweb/
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Starting from there you can reach many other interesting links and even
some literate program examples.
\end_layout
\begin_layout Subsection
LyX and Literate Programming
\end_layout
\begin_layout Standard
The LyX support for Literate Programming is provided by using the generic
LyX converters mechanism.
This support is provided in a
\begin_inset Quotes eld
\end_inset
Noweb independent
\begin_inset Quotes erd
\end_inset
way, i.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
you will be able to use this new LyX feature with some other literate programmin
g tool of your choice by just changing your LyX preferences.
\end_layout
\begin_layout Subsubsection
Generating documents and code (weaving and tangling)
\end_layout
\begin_layout Paragraph
Selecting the document class
\end_layout
\begin_layout Standard
If you have installed Noweb and LyX successfully, whenever you open a new
document or try to change the document class of an existing one, you will
find that there are three new document classes available:
\end_layout
\begin_layout Itemize
Article (Noweb)
\end_layout
\begin_layout Itemize
Book (Noweb)
\end_layout
\begin_layout Itemize
Report (Noweb)
\end_layout
\begin_layout Standard
You must select one of them to create your literate documents from.
\end_layout
\begin_layout Standard
Note that literate documents are not limited to these three classes.
New classes can be generated from other styles like letter or in combination
with other class variations like Article (AMS).
If you have special needs that cannot be covered by one of the existing
classes, let the LyX developers list (lyx-devel@lists.lyx.org) know and we
will arrange to insert a new entry, or teach you how to do it.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
It is very simple, it involves the creation of a file with four lines, and
re-running of the auto configuration.
\end_layout
\end_inset
Moreover, if you use a literate tool other than Noweb you may need to create
a new set of document classes for it.
\end_layout
\begin_layout Paragraph
Typing code in
\end_layout
\begin_layout Standard
LyX enables you to write code with a layout named
\noun on
Scrap
\noun default
.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The equivalent Noweb term is
\begin_inset Quotes eld
\end_inset
Chunk
\begin_inset Quotes erd
\end_inset
.
For historical reasons, I got used to the term
\begin_inset Quotes eld
\end_inset
scrap
\begin_inset Quotes erd
\end_inset
introduced by other literate tool named Nuweb, which I used for many years
before rendering myself to Noweb.
\end_layout
\end_inset
Noweb delimits scraps like this:
\end_layout
\begin_layout LyX-Code
<<My scrap>>=
\end_layout
\begin_layout LyX-Code
code
\end_layout
\begin_layout LyX-Code
more code
\end_layout
\begin_layout LyX-Code
even more code
\end_layout
\begin_layout LyX-Code
@
\end_layout
\begin_layout Standard
The problem is that whatever is written in between the << and the
\family typewriter
@
\family default
must be taken literally, i.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
LyX should be prevented from making any special interpretation of what has
been written.
This is handled by a special layout named Scrap, that works like a normal
paragraph but has a free spacing capability.
\end_layout
\begin_layout Standard
The down side of the Scrap paragraph layout is that consecutive paragraphs
of code will be spaced with one empty line in the source code and also
in the printed documentation.
The work around is to enter each line of code within a single Scrap, with
a newline (ctrl-return).
The example above will look like this:
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
If you have a printed version of this document you will not see any difference
between the previous example and this one.
\end_layout
\end_inset
\end_layout
\begin_layout LyX-Code
<<My scrap>>=
\begin_inset Newline newline
\end_inset
code
\begin_inset Newline newline
\end_inset
more code
\begin_inset Newline newline
\end_inset
even more code
\begin_inset Newline newline
\end_inset
@
\end_layout
\begin_layout Standard
This layout works fine.
The only real inconvenience is that you have to type ctrl-return instead
of a plain return.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
It is in my list of
\begin_inset Quotes eld
\end_inset
improvements
\begin_inset Quotes erd
\end_inset
to fix that.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
As a special note, you can also use the
\begin_inset Quotes eld
\end_inset
%def
\begin_inset Quotes erd
\end_inset
construct of Noweb in your scraps to add items to Noweb's identifier cross-refe
rence:
\end_layout
\begin_layout LyX-Code
<<My scrap>>=
\begin_inset Newline newline
\end_inset
def some_function(args):
\begin_inset Newline newline
\end_inset
"This is the doc string for this function."
\begin_inset Newline newline
\end_inset
print "My args: ", args
\end_layout
\begin_layout LyX-Code
@ %def some_function
\end_layout
\begin_layout Standard
For an example of this usage and the resulting cross-reference output, look
at the Literate python program in
\emph on
LIBDIR/examples/listerrors.lyx
\emph default
which should make this all clear.
\end_layout
\begin_layout Paragraph
Generating the documentation
\end_layout
\begin_layout Standard
At this point you already have a new document file with a proper document
class, and with some code and text on it.
How do I print it? The answer is simple, you select
\family sans
View\SpecialChar \menuseparator
DVI,
\family default
etc.
Just like you would do for a plain document.
No special procedure is required.
\end_layout
\begin_layout Standard
To help orientate you, I will now explain what happens inside LyX:
\end_layout
\begin_layout Enumerate
When the
\family sans
Update\SpecialChar \menuseparator
DVI
\family default
menu option is chosen, a LaTeX file is generated.
\end_layout
\begin_deeper
\begin_layout Standard
If the document is of any literate class the generated file will be named
with an extension name defined by the
\begin_inset Quotes eld
\end_inset
literate
\begin_inset Quotes erd
\end_inset
format (defined in the Preferences panel), otherwise the file will have
the usual
\family typewriter
.tex
\family default
extension.
\end_layout
\end_deeper
\begin_layout Enumerate
Note that the only difference so far is in the name of the file, no special
processing is required by LyX.
Given that you formatted the code using the Scrap layout that, by itself,
takes care of the business.
\end_layout
\begin_layout Enumerate
If the document is of any literate class LyX will then use the internal
LyX to Noweb converter, followed by the Noweb to LaTeX converter
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The converters are defined in the
\family sans
Tools\SpecialChar \menuseparator
Preferences
\family default
panel, under the
\begin_inset Quotes eld
\end_inset
Conversion
\begin_inset Quotes erd
\end_inset
tab.
See section
\emph on
Converters
\emph default
of the
\emph on
Customization
\emph default
manual for general information about converters.
\end_layout
\end_inset
to generate the LaTeX file.
\end_layout
\begin_deeper
\begin_layout Standard
Otherwise it will just skip this step.
\end_layout
\end_deeper
\begin_layout Enumerate
Finally, LaTeX is invoked and the regular post processing continues as in
a plain document.
\end_layout
\begin_layout Standard
Independence from a particular
\begin_inset Quotes eld
\end_inset
literate tool
\begin_inset Quotes erd
\end_inset
is easily achieved by changing the commands that are run by the various
converters.
\end_layout
\begin_layout Paragraph
Generating the code
\end_layout
\begin_layout Standard
When the build menu option is chosen or the corresponding button in the
toolbar is pressed, a LaTeX file is generated just like step 1 above.
Next, LyX invokes the
\family typewriter
Noweb->Program
\family default
converter.
This converter needs to be defined by the user and is not installed by
default, though the Program format is.
This converter (like any other converter) will have two parts:
\end_layout
\begin_layout Enumerate
The converter program itself.
This program performs the conversion from the one format to the other (in
this case, from the Noweb format to the Program pseudo-format).
\end_layout
\begin_layout Enumerate
The error log parser.
This is a program whose sole purpose is to rewrite error messages in a
format that LyX understands.
This makes it possible for LyX to place error boxes in the right places
in the file buffer.
\end_layout
\begin_layout Standard
The first part, the
\begin_inset Quotes eld
\end_inset
Converter
\begin_inset Quotes erd
\end_inset
setting, should be set to
\begin_inset Quotes eld
\end_inset
\family typewriter
build-script $$i
\family default
\begin_inset Quotes erd
\end_inset
.
This basically means that LyX will call
\begin_inset Quotes eld
\end_inset
build-script
\begin_inset Quotes erd
\end_inset
(a program or script) with the name of the Noweb file (normally a file
in the LyX temp directory).
\end_layout
\begin_layout Standard
This is an implementation of
\begin_inset Quotes eld
\end_inset
build-script
\begin_inset Quotes erd
\end_inset
that you can place in a directory on your path:
\end_layout
\begin_layout LyX-Code
#!/bin/sh
\end_layout
\begin_layout LyX-Code
#
\end_layout
\begin_layout LyX-Code
notangle -Rbuild-script $1 | env NOWEB_SOURCE=$1 sh
\end_layout
\begin_layout Standard
The next part of the converter setting is the
\begin_inset Quotes eld
\end_inset
Flags
\begin_inset Quotes erd
\end_inset
which is to be set to
\begin_inset Quotes eld
\end_inset
\family typewriter
parselog=listerrors
\family default
\begin_inset Quotes erd
\end_inset
.
This will run any errors that are generated by the
\begin_inset Quotes eld
\end_inset
build-script
\begin_inset Quotes erd
\end_inset
process through the
\begin_inset Quotes eld
\end_inset
listerrors
\begin_inset Quotes erd
\end_inset
program.
\end_layout
\begin_layout Standard
The converter code looks in
\emph on
MYLYXDIR/scripts
\emph default
first, then in
\emph on
LIBDIR/scripts
\emph default
then on the path for the
\begin_inset Quotes eld
\end_inset
listerrors
\begin_inset Quotes erd
\end_inset
program.
\end_layout
\begin_layout Standard
The build will normally take place in LyX's temporary directory, so the
files produced by the conversion will be in that directory.
LyX will copy out what it regards as the `main' file, but the
\family typewriter
Noweb->Program
\family default
conversion may produce several files, and so most of these would then be
deleted when LyX was closed.
The present solution is to use a `copier',
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
See section
\emph on
Copiers
\emph default
of the
\emph on
Customization
\emph default
manual for information on these.
\end_layout
\end_inset
in this case, the
\family typewriter
ext_copy.py
\family default
script in its default mode, so that the entire contents of the temporary
directory is copied.
More will get copied than is needed, to be sure, but nothing will be lost.
If, however, you know what extensions the generated files will have, this
can be improved by using the
\family typewriter
-e
\family default
option to
\family typewriter
ext_copy
\family default
.
This option takes a comma-separated list of extensions to copy.
So, for example, if the conversion will generate only files with the extensions
\family typewriter
.c
\family default
and
\family typewriter
.h
\family default
, then the correct definition would be:
\end_layout
\begin_layout LyX-Code
python -tt $$s/scripts/ext_copy.py -e c,h $$i $$o
\end_layout
\begin_layout Standard
The result will be that only files with these two extensions will be copied
out.
\end_layout
\begin_layout Paragraph
Build instructions in the document
\end_layout
\begin_layout Standard
The last piece of the integration between LyX and noweb is the
\begin_inset Quotes eld
\end_inset
build-script
\begin_inset Quotes erd
\end_inset
scrap.
Generally, the instructions for building your program should be embedded
in a scrap of its own.
The noweb-specific
\begin_inset Quotes eld
\end_inset
build-script
\begin_inset Quotes erd
\end_inset
above uses the notangle command to look for this scrap (called
\begin_inset Quotes eld
\end_inset
build-script
\begin_inset Quotes erd
\end_inset
) and runs its contents through
\begin_inset Quotes eld
\end_inset
sh
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Standard
Typically, such a scrap would look something like this:
\end_layout
\begin_layout LyX-Code
<<build-script>>=
\begin_inset Newline newline
\end_inset
#!/bin/sh
\begin_inset Newline newline
\end_inset
\begin_inset Newline newline
\end_inset
if [ -z "${NOWEB_SOURCE}" ]
\begin_inset Newline newline
\end_inset
then
\begin_inset Newline newline
\end_inset
NOWEB_SOURCE=myfile.nw
\begin_inset Newline newline
\end_inset
fi
\begin_inset Newline newline
\end_inset
[...
code to extract files ...]
\begin_inset Newline newline
\end_inset
[...
code to compile files ...]
\begin_inset Newline newline
\end_inset
@
\end_layout
\begin_layout Standard
Look in
\emph on
LIBDIR/examples/listerrors.lyx
\emph default
or in
\emph on
LIBDIR/examples/Literate.lyx
\emph default
which implement two versions of the
\begin_inset Quotes eld
\end_inset
listerrors
\begin_inset Quotes erd
\end_inset
program for some illustrations of how all of these pieces go together or
in
\emph on
LIBDIR/examples/noweb2lyx.lyx.
\emph default
Interestingly, these three files show off the language-indepence of the
LyX literate programming support since they are written in Python, C and
Perl respectively.
\end_layout
\begin_layout Subsubsection
Configuring LyX
\end_layout
\begin_layout Standard
All the Literate Programming support is configured by the
\family sans
Tools\SpecialChar \menuseparator
Preferences
\family default
panel in the
\begin_inset Quotes eld
\end_inset
Conversion
\begin_inset Quotes erd
\end_inset
tab.
The important parts are:
\end_layout
\begin_layout Description
the
\begin_inset space ~
\end_inset
\begin_inset Quotes eld
\end_inset
literate
\begin_inset Quotes erd
\end_inset
\begin_inset space ~
\end_inset
format Set up via the Formats tab, this is where the Noweb-specific pieces
are set up.
The
\family sans
GUI Name
\family default
is set to
\family typewriter
NoWeb
\family default
, the file extension is set to
\family typewriter
.nw
\family default
.
This tells LyX to create a file with a
\family typewriter
.nw
\family default
extension in the first step of the conversion process.
\end_layout
\begin_layout Description
the
\begin_inset space ~
\end_inset
\family sans
Program
\family default
\begin_inset space ~
\end_inset
format This is an empty format whose sole purpose is to be the endpoint
of a conversion (which then allows us to set up a converter for it).
\end_layout
\begin_layout Description
\family sans
NoWeb
\family default
->
\family sans
LaTeX
\family default
This converter performs the
\begin_inset Quotes eld
\end_inset
weaving
\begin_inset Quotes erd
\end_inset
of the literate document.
For Noweb, it is set to
\begin_inset Quotes eld
\end_inset
\family typewriter
noweave -delay -index $$i > $$o
\family default
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Description
\family sans
NoWeb
\family default
->
\family sans
Program
\family default
This performs the
\begin_inset Quotes eld
\end_inset
tangling step
\begin_inset Quotes erd
\end_inset
.
As stated above, the Converter is set to
\begin_inset Quotes eld
\end_inset
\family typewriter
build-script $$i
\family default
\begin_inset Quotes erd
\end_inset
, with Flags set to
\begin_inset Quotes eld
\end_inset
\family typewriter
originaldir,parselog=listerrors
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Subsubsection
Debug extensions
\end_layout
\begin_layout Standard
There is also a new function implemented in the LyX server, the
\begin_inset Quotes eld
\end_inset
server-goto-file-row" function, to be used with ddd/gdb or other debugger.
\end_layout
\begin_layout Standard
When debugging code with ddd/gdb, it is possible to invoke a text editor
at the current execution position with a single key stroke.
The default ddd configuration for that is shift-ctrl-V.
It happens that you can define the editor command line invocation in ddd
by accessing the
\family sans
Edit\SpecialChar \menuseparator
Preferences\SpecialChar \menuseparator
Helpers
\family default
dialog and changing the "Edit Sources" entry.
\end_layout
\begin_layout Standard
I take advantage of the new created LyX server function and this ddd feature,
and set
\begin_inset Quotes eld
\end_inset
Edit Sources
\begin_inset Quotes erd
\end_inset
to:
\end_layout
\begin_layout LyX-Code
echo "LYXCMD:monitor:server-goto-file-row:@FILE@ @LINE@" >~/.lyxpipe.in
\end_layout
\begin_layout Standard
With this, whenever you are using ddd and find a point in the program that
you want to edit, you just press shift-ctrl-V (in the ddd window), and
ddd you forward this information to LyX through the LyX server and then
the LyX window will show the same file with the cursor at the same position
ddd was pointing to.
No more guessing or long scrolling to locate a point in the program back
from debugging !
\end_layout
\begin_layout Standard
Note however that you must enable the LyX server to get this feature working
(it is disabled by default).
You can enable it in
\family sans
Preferences
\family default
(tabs
\family sans
Inputs
\family default
,
\family sans
Paths
\family default
) by entering in the
\family sans
LyXserver pipe
\family default
a path like
\begin_inset Quotes eld
\end_inset
\family typewriter
/home/<your-home-directory>/.lyx/lyxpipe
\family default
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Standard
Read the LyX server documentation in the
\emph on
Customization Manual
\emph default
for further information.
\end_layout
\begin_layout Subsubsection
Toolbar extensions
\end_layout
\begin_layout Standard
There are six new buttons that can be added to your LyX toolbar.
Five of these buttons are short cuts to layout styles:
\family sans
Standard
\family default
,
\family sans
Section
\family default
,
\family sans
LaTeX
\family default
,
\family sans
LyX-Code
\family default
, and
\family sans
Scrap
\family default
.
The last one is a short cut to the
\begin_inset Quotes eld
\end_inset
Build Program
\begin_inset Quotes erd
\end_inset
File menu entry.
\end_layout
\begin_layout Standard
LyX has a range of buttons that are available for tool bar customization.
In my toolbar I like to combine the six short cuts above with two more:
One for
\family sans
View
\family default
\SpecialChar \menuseparator
\family sans
Update
\family default
\SpecialChar \menuseparator
\family sans
DVI
\family default
and the other for
\family sans
View\SpecialChar \menuseparator
DVI
\family default
File menu entries.
Here is how it looks like:
\end_layout
\begin_layout LyX-Code
Toolbar
\end_layout
\begin_layout LyX-Code
Layouts
\end_layout
\begin_layout LyX-Code
Icon "layout Standard"
\end_layout
\begin_layout LyX-Code
Icon "layout Section"
\end_layout
\begin_layout LyX-Code
Icon "layout LaTeX"
\end_layout
\begin_layout LyX-Code
Icon "layout LyX-Code"
\end_layout
\begin_layout LyX-Code
Icon "layout Scrap"
\end_layout
\begin_layout LyX-Code
Separator
\end_layout
\begin_layout LyX-Code
Icon "buffer-view"
\end_layout
\begin_layout LyX-Code
Icon "buffer-typeset"
\end_layout
\begin_layout LyX-Code
Icon "build-program"
\end_layout
\begin_layout LyX-Code
Separator
\end_layout
\begin_layout LyX-Code
.
\end_layout
\begin_layout LyX-Code
.
\end_layout
\begin_layout LyX-Code
.
\end_layout
\begin_layout LyX-Code
End
\end_layout
\begin_layout Subsubsection
Colors customization
\end_layout
\begin_layout Standard
There are a number of colors in LyX that can be customized in
\family sans
Preferences
\family default
.
One of the things that bothers people is the LaTeX font color.
The default color is red, since the scraps uses LaTeX font, and there is
a lot of scraps in literate documents, you may get tired of seeing everything
in red.
You can change it by going to the tabs
\family sans
Look&Feel
\family default
,
\family sans
Colors.
\end_layout
\begin_layout Standard
The next thing is the visible presence of the newline character in the screen.
You can choose the color of this particular character and make it blend
in the background.
I recommend you choosing a color that is close to the background but not
equal, that way you still can see it is there, but it is not bothering
you anymore.
\end_layout
\begin_layout Chapter
Special features
\end_layout
\begin_layout Standard
You can do everything with LyX that you can do with LaTeX.
However, LyX cannot support every LaTeX feature directly.
But you can always use TeX Code.
This chapter shows you some more special things you might want to use.
For other special things you can do with figures, tables, floats, boxes
and notes, have a look at the
\emph on
EmbeddedObjects
\emph default
manual.
\end_layout
\begin_layout Section
Multiple Text Columns
\end_layout
\begin_layout Standard
This feature is independent of the option
\family sans
Two-column document
\family default
in the document settings under
\family sans
Text Layout
\family default
.
If you want to have 2
\begin_inset space ~
\end_inset
columns for the whole document, it is recommended to use the
\family sans
Two-column document
\family default
option.
For all other cases use this feature.
\end_layout
\begin_layout Standard
To use multiple text columns in your document, you have to load the module
\family sans
Multiple Columns
\family default
(menu
\family sans
Document\SpecialChar \menuseparator
Settings\SpecialChar \menuseparator
Modules
\family default
) and must have the LaTeX-package
\series bold
multicol
\series default
\begin_inset Index idx
status collapsed
\begin_layout Plain Layout
LaTeX-packages ! multicol
\end_layout
\end_inset
installed.
\end_layout
\begin_layout Standard
Footnotes within multiple columns will be placed at the bottom of the page
and not under each column.
Within the different columns you can use everything, with the limitation
that for floats you need to use the float option
\family sans
Span columns
\family default
.
\end_layout
\begin_layout Subsection
Basics
\end_layout
\begin_layout Standard
If you want to have 2 columns in your text, use the style
\family sans
Begin Multiple Columns
\family default
where the columns should start.
The content of the style is the number of the columns, so in this case
use a
\begin_inset Quotes eld
\end_inset
2
\begin_inset Quotes erd
\end_inset
.
At the point where the columns should end use the style
\family sans
End Multiple Columns
\family default
and keep it empty.
\end_layout
\begin_layout Standard
Here is an example:
\end_layout
\begin_layout Begin Multiple Columns
2
\end_layout
\begin_layout Standard
\noindent
\series bold
\size small
The Adventure of the Empty House
\series default
\begin_inset Newline newline
\end_inset
by
\noun on
Sir Arthur Conan Doyle
\end_layout
\begin_layout Standard
\size small
It was in the spring of the year 1894 that all London was interested, and
the fashionable world dismayed, by the murder of the Honourable Ronald
Adair under most unusual and inexplicable circumstances.
The public has already learned those particulars of the crime which came
out in the police investigation, but a good deal was suppressed upon that
occasion, since the case for the prosecution was so overwhelmingly strong
that it was not necessary to bring forward all the facts.
Only now, at the end of nearly ten years, am I allowed to supply those
missing links which make up the whole of that remarkable chain.
The crime was of interest in itself, but that interest was as nothing to
me compared to the inconceivable sequel, which afforded me the greatest
shock and surprise of any event in my adventurous life.
Even now, after this long interval, I find myself thrilling as I think
of it, and feeling once more that sudden flood of joy, amazement, and increduli
ty which utterly submerged my mind.
Let me say to that public, which has shown some interest in those glimpses
which I have occasionally given them of the thoughts and actions of a very
remarkable man, that they are not to blame me if I have not shared my knowledge
with them, for I should have considered it my first duty to do so, had
I not been barred by a positive prohibition from his own lips, which was
only withdrawn upon the third of last month.
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Standard
Here is an example with 3
\begin_inset space ~
\end_inset
columns:
\end_layout
\begin_layout Begin Multiple Columns
3
\end_layout
\begin_layout Standard
\size footnotesize
It can be imagined that my close intimacy with Sherlock Holmes had interested
me deeply in crime, and that after his disappearance I never failed to
read with care the various problems which came before the public.
And I even attempted, more than once, for my own private satisfaction,
to employ his methods in their solution, though with indifferent success.
There was none, however, which appealed to me like this tragedy of Ronald
Adair.
As I read the evidence at the inquest, which led up to a verdict of willful
murder against some person or persons unknown, I realized more clearly
than I had ever done the loss which the community had sustained by the
death of Sherlock Holmes.
There were points about this strange business which would, I was sure,
have specially appealed to him, and the efforts of the police would have
been supplemented, or more probably anticipated, by the trained observation
and the alert mind of the first criminal agent in Europe.
All day, as I drove upon my round, I turned over the case in my mind and
found no explanation which appeared to me to be adequate.
At the risk of telling a twice-told tale, I will recapitulate the facts
as they were known to the public at the conclusion of the inquest.
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Standard
You can have up to 10
\begin_inset space ~
\end_inset
columns if you want to, but that might not be very pleasant for the readers
of your document.
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Subsection
Columns inside Columns
\end_layout
\begin_layout Standard
You can also have columns inside columns:
\end_layout
\begin_layout Begin Multiple Columns
2
\end_layout
\begin_layout Standard
\size footnotesize
The Honourable Ronald Adair was the second son of the Earl of Maynooth,
at that time governor of one of the Australian colonies.
Adair's mother had returned from Australia to undergo the operation for
cataract, and she, her son Ronald, and her daughter Hilda were living together
at 427 Park Lane.
\end_layout
\begin_layout Begin Multiple Columns
2
\end_layout
\begin_layout Standard
\size footnotesize
The youth moved in the best societyhad, so far as was known, no enemies
and no particular vices.
He had been engaged to Miss Edith Woodley, of Carstairs, but the engagement
had been broken off by mutual consent some months before, and there was
no sign that it had left any very profound feeling behind it.
For the rest {sic} the man's life moved in a narrow and conventional circle,
for his habits were quiet and his nature unemotional.
Yet it was upon this easy-going young aristocrat that death came, in most
strange and unexpected form, between the hours of ten and eleven-twenty
on the night of March 30, 1894.
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Standard
\size footnotesize
Ronald Adair was fond of cardsplaying continually, but never for such stakes
as would hurt him.
He was a member of the Baldwin, the Cavendish, and the Bagatelle card clubs.
It was shown that, after dinner on the day of his death, he had played
a rubber of whist at the latter club.
He had also played there in the afternoon.
\size default
\size footnotesize
The evidence of those who had played with him Mr.
Murray, Sir John Hardy, and Colonel Moranshowed that the game was whist,
and that there was a fairly equal fall of the cards.
Adair might have lost five pounds, but not more.
His fortune was a considerable one, and such a loss could not in any way
affect him.
He had played nearly every day at one club or other, but he was a cautious
player, and usually rose a winner.
It came out in evidence that, in partnership with Colonel Moran, he had
actually won as much as four hundred and twenty pounds in a sitting, some
weeks before, from Godfrey Milner and Lord Balmoral.
So much for his recent history as it came out at the inquest.
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Subsection
Advanced Examples
\end_layout
\begin_layout Standard
The examples in this section show some more special features of multiple
columns.
\end_layout
\begin_layout Standard
For more features of multiple columns, have a look at the documentation
of the LaTeX-package
\series bold
multicol
\series default
\begin_inset Index idx
status collapsed
\begin_layout Plain Layout
LaTeX-packages ! multicol
\end_layout
\end_inset
,
\begin_inset CommandInset citation
LatexCommand cite
key "multicol"
\end_inset
.
\end_layout
\begin_layout Subsubsection
Preface
\end_layout
\begin_layout Standard
To add a preface text for multiple columns, add the command
\end_layout
\begin_layout Standard
\series bold
}[
\end_layout
\begin_layout Standard
as TeX Code behind the number of columns in the
\family sans
Begin Multiple Columns
\family default
style.
behind the command write the text.
At the end of the style use the command
\end_layout
\begin_layout Standard
\series bold
]{
\end_layout
\begin_layout Standard
as TeX Code.
An example with some preface text:
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Begin Multiple Columns
2
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
}[
\end_layout
\end_inset
And the story continues and continues and continues and continues\SpecialChar \ldots{}
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
]{
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\size small
On the evening of the crime, he returned from the club exactly at ten.
His mother and sister were out spending the evening with a relation.
The servant deposed that she heard him enter the front room on the second
floor, generally used as his sitting-room.
She had lit a fire there, and as it smoked she had opened the window.
No sound was heard from the room until eleven-twenty, the hour of the return
of Lady Maynooth and her daughter.
Desiring to say good-night, she attempted to enter her son's room.
The door was locked on the inside, and no answer could be got to their
cries and knocking.
Help was obtained, and the door forced.
The unfortunate young man was found lying near the table.
His head had been horribly mutilated by an expanding revolver bullet, but
no weapon of any sort was to be found in the room.
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Standard
You can also use a section heading as the preface if you use a section command
as TeX Code behind the first TeX Code.
For example the command
\end_layout
\begin_layout Standard
\series bold
\backslash
subsection{subsection title}
\end_layout
\begin_layout Standard
creates a subsection.
In this example the preface is a subsubsection:
\end_layout
\begin_layout Begin Multiple Columns
2
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
}[
\end_layout
\end_inset
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
subsubsection{
\end_layout
\end_inset
This is a subsubsection heading as a preface
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
}
\end_layout
\end_inset
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
]{
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\size small
A minute examination of the circumstances served only to make the case more
complex.
In the first place, no reason could be given why the young man should have
fastened the door upon the inside.
There was the possibility that the murderer had done this, and had afterwards
escaped by the window.
The drop was at least twenty feet, however, and a bed of crocuses in full
bloom lay beneath.
Neither the flowers nor the earth showed any sign of having been disturbed,
nor were there any marks upon the narrow strip of grass which separated
the house from the road.
Apparently, therefore, it was the young man himself who had fastened the
door.
But how did he come by his death? No one could have climbed up to the window
without leaving traces.
Suppose a man had fired through the window, he would indeed be a remarkable
shot who could with a revolver inflict so deadly a wound.
Again, Park Lane is a frequented thoroughfare; there is a cab stand within
a hundred yards of the house.
No one had heard a shot.
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Standard
If there is less vertical space left on the page at the beginning of the
multiple columns than needed for 6
\begin_inset space ~
\end_inset
text lines, a page break will be inserted before the multiple columns.
Depending on the number of lines of the preface text, you might want to
change this value.
It is determined by inserting the command
\end_layout
\begin_layout Standard
\series bold
][number
\backslash
baselineskip
\end_layout
\begin_layout Standard
as TeX Code behind the preface definition but before the final
\series bold
]{
\series default
command.
\emph on
number
\emph default
is hereby the number of text lines.
In this example the space is set to 7
\begin_inset space ~
\end_inset
text lines:
\end_layout
\begin_layout Begin Multiple Columns
2
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
}[
\end_layout
\end_inset
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
subsubsection{
\end_layout
\end_inset
This is the sectioning command
\begin_inset Newline newline
\end_inset
as a preface and
\begin_inset Newline newline
\end_inset
with multiple text lines
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
}
\end_layout
\end_inset
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
][7
\backslash
baselineskip
\end_layout
\end_inset
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
]{
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\size small
On the evening of the crime, he returned from the club exactly at ten.
His mother and sister were out spending the evening with a relation.
The servant deposed that she heard him enter the front room on the second
floor, generally used as his sitting-room.
She had lit a fire there, and as it smoked she had opened the window.
No sound was heard from the room until eleven-twenty, the hour of the return
of Lady Maynooth and her daughter.
Desiring to say good-night, she attempted to enter her son's room.
The door was locked on the inside, and no answer could be got to their
cries and knocking.
Help was obtained, and the door forced.
The unfortunate young man was found lying near the table.
His head had been horribly mutilated by an expanding revolver bullet, but
no weapon of any sort was to be found in the room.
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Subsubsection
Surrounding Space
\end_layout
\begin_layout Standard
The amount of space before and after multiple columns can be changed by
changing the length
\series bold
\backslash
multicolsep
\series default
.
For example the command
\end_layout
\begin_layout Standard
\series bold
\backslash
setlength{
\backslash
multicolsep}{3cm}
\end_layout
\begin_layout Standard
in TeX Code changes its value to 3
\begin_inset space \thinspace{}
\end_inset
cm.
The change must be made before the multiple columns' start.
The predefined value is 13
\begin_inset space \thinspace{}
\end_inset
pt.
\end_layout
\begin_layout Standard
For this example
\series bold
\backslash
multicolsep
\series default
was set to 2.5
\begin_inset space \thinspace{}
\end_inset
cm:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
setlength{
\backslash
multicolsep}{2.5cm}
\end_layout
\end_inset
\end_layout
\begin_layout Begin Multiple Columns
2
\end_layout
\begin_layout Standard
\size small
All day I turned these facts over in my mind, endeavouring to hit upon some
theory which could reconcile them all, and to find that line of least resistanc
e which my poor friend had declared to be the starting-point of every investigat
ion.
I confess that I made little progress.
In the evening I strolled across the Park, and found myself about six o'clock
at the Oxford Street end of Park Lane.
A group of loafers upon the pavements, all staring up at a particular window,
directed me to the house which I had come to see.
A tall, thin man with coloured glasses, whom I strongly suspected of being
a plain-clothes detective, was pointing out some theory of his own, while
the others crowded round to listen to what he said.
I got as near him as I could, but his observations seemed to me to be absurd,
so I withdrew again in some disgust.
As I did so I struck against an elderly, deformed man, who had been behind
me, and I knocked down several books which he was carrying.
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Standard
\begin_inset Note Greyedout
status open
\begin_layout Plain Layout
\series bold
Note:
\series default
The values you set with
\series bold
\backslash
setlength
\series default
will be used for all following multiple columns until to change them again.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
setlength{
\backslash
multicolsep}{13pt}
\end_layout
\end_inset
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
go back to the default
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
Column Separation
\end_layout
\begin_layout Standard
The width of the columns is automatically calculated, but you can modify
the space between the columns.
This is done by changing the length
\series bold
\backslash
columnsep
\series default
.
Its predefined value is 10
\begin_inset space \thinspace{}
\end_inset
pt.
Here is an example where
\series bold
\backslash
columnsep
\series default
is set to 3
\begin_inset space \thinspace{}
\end_inset
cm:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnsep}{3cm}
\end_layout
\end_inset
\end_layout
\begin_layout Begin Multiple Columns
2
\end_layout
\begin_layout Standard
\size small
My observations of No.
\begin_inset space \space{}
\end_inset
427 Park Lane did little to clear up the problem in which I was interested.
The house was separated from the street by a low wall and railing, the
whole not more than five feet high.
It was perfectly easy, therefore, for anyone to get into the garden, but
the window was entirely inaccessible, since there was no water pipe or
anything which could help the most active man to climb it.
More puzzled than ever, I retraced my steps to Kensington.
I had not been in my study five minutes when the maid entered to say that
a person desired to see me.
To my astonishment it was none other than my strange old book collector,
his sharp, wizened face peering out from a frame of white hair, and his
precious volumes, a dozen of them at least, wedged under his right arm.
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnsep}{10pt}
\end_layout
\end_inset
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
go back to the default
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
Vertical Lines
\end_layout
\begin_layout Standard
Between the columns a rule with a width of the length
\series bold
\backslash
columnseprule
\series default
is placed.
If this rule width is set to 0
\begin_inset space \thinspace{}
\end_inset
pt (this is the default), the rule is suppressed.
In the following example, the line separating the columns is 2
\begin_inset space \thinspace{}
\end_inset
pt wide.
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnseprule}{2pt}
\end_layout
\end_inset
\end_layout
\begin_layout Begin Multiple Columns
2
\end_layout
\begin_layout Standard
\size small
\begin_inset Quotes eld
\end_inset
You're surprised to see me, sir,
\begin_inset Quotes erd
\end_inset
said he, in a strange, croaking voice.
\end_layout
\begin_layout Standard
\size small
I acknowledged that I was.
\end_layout
\begin_layout Standard
\size small
\begin_inset Quotes eld
\end_inset
Well, I've a conscience, sir, and when I chanced to see you go into this
house, as I came hobbling after you, I thought to myself, I'll just step
in and see that kind gentleman, and tell him that if I was a bit gruff
in my manner there was not any harm meant, and that I am much obliged to
him for picking up my books.
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Standard
\size small
\begin_inset Quotes eld
\end_inset
You make too much of a trifle,
\begin_inset Quotes erd
\end_inset
said I.
\begin_inset Quotes eld
\end_inset
May I ask how you knew who I was?
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Standard
\size small
\begin_inset Quotes eld
\end_inset
Well, sir, if it isn't too great a liberty, I am a neighbour of yours, for
you'll find my little bookshop at the corner of Church Street, and very
happy to see you, I am sure.
Maybe you collect yourself, sir.
Here's
\noun on
British
\begin_inset space ~
\end_inset
Birds
\noun default
, and
\noun on
Catullus
\noun default
, and
\noun on
The Holy War
\noun default
--a bargain, every one of them.
With five volumes you could just fill that gap on that second shelf.
It looks untidy, does it not, sir?
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout End Multiple Columns
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnseprule}{0pt}
\end_layout
\end_inset
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
go back to the default
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Section
Non-standard Paragraph Shapes
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
begin{sloppypar}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
newdimen
\backslash
varunit
\end_layout
\begin_layout Plain Layout
\backslash
setlength{
\backslash
varunit}{4.5in}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\noindent
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
parshape 19 0.45
\backslash
varunit 0.332
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.40
\backslash
varunit 0.300
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.35
\backslash
varunit 0.293
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.30
\backslash
varunit 0.300
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.25
\backslash
varunit 0.317
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.20
\backslash
varunit 0.342
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.15
\backslash
varunit 0.373
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.10
\backslash
varunit 0.410
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.05
\backslash
varunit 0.453
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.00
\backslash
varunit 0.500
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.05
\backslash
varunit 0.453
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.10
\backslash
varunit 0.410
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.15
\backslash
varunit 0.373
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.20
\backslash
varunit 0.342
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.25
\backslash
varunit 0.317
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.30
\backslash
varunit 0.300
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.35
\backslash
varunit 0.293
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.40
\backslash
varunit 0.300
\backslash
varunit
\end_layout
\begin_layout Plain Layout
0.45
\backslash
varunit 0.332
\backslash
varunit
\end_layout
\begin_layout Plain Layout
\end_layout
\end_inset
There are times when the tyranny of rectangular paragraphs must be overthrown.
In such situations, a call to the delightful plain TeX command
\family typewriter
\backslash
parshape
\family default
is called for.
As you can see, completely arbitrary shapes can be laid out with a suitable
set of line length definitions.
While this parshape may look a bit silly and useless, one could conceive
of situations such as finely tuned dropped capitals, word wrapping around
non-rectangular graphics, etc.
which will benefit from such handcrafting.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
The syntax is
\family typewriter
\backslash
parshape numlines #1indent #1length #2indent #2length \SpecialChar \ldots{}
#nindent #nlength
\family default
, where
\family typewriter
numlines
\family default
is the number of lines of text which define the paragraph.
If there turn out to be fewer lines, the shape is truncated; if there are
more, the excess lines have the same dimensions as the last line of the
definition.
The
\family typewriter
#nindent
\family default
and
\family typewriter
#nlength
\family default
entries specify the indentation of the line from the left margin, and the
length of the line as measured from that point.
The shape applies only to the current paragraph; everything is reset to
normal for the next paragraph.
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
end{sloppypar}
\end_layout
\end_inset
\end_layout
\begin_layout Bibliography
\begin_inset CommandInset bibitem
LatexCommand bibitem
key "multicol"
\end_inset
Documentation of the LaTeX-package
\begin_inset CommandInset href
LatexCommand href
name "multicol"
target "http://mirror.ctan.org/macros/latex/required/tools/multicol.pdf"
\end_inset
\begin_inset Index idx
status collapsed
\begin_layout Plain Layout
LaTeX-packages ! multicol
\end_layout
\end_inset
\end_layout
\end_body
\end_document