lyx_mirror/lib/doc/Additional.lyx
2017-10-23 16:34:53 -04:00

26414 lines
453 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.2 created this file. For more info see http://www.lyx.org/
\lyxformat 508
\begin_document
\begin_header
\save_transient_properties true
\origin /systemlyxdir/doc/
\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
% 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}}
% 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
shapepar
\end_modules
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman "lmodern" "default"
\font_sans "lmss" "default"
\font_typewriter "lmtt" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\graphics default
\default_output_format pdf2
\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 a4paper
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\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 \SpecialChar LyX
Features
\end_layout
\begin_layout Subtitle
Version 2.2.x
\end_layout
\begin_layout Author
by the \SpecialChar 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 \SpecialChar LyX
Documentati
on 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 endofsentence
\emph default
The reason for separating the two documents 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 \SpecialChar LyX
Team has worked to make \SpecialChar LyX
extensible through various configuration
files and external packages.
That means that if you want to support the Fizzwizzle \SpecialChar LaTeX
package, you can
create a layout file (or module) for it without having to alter \SpecialChar 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 \SpecialChar LyX
's support for HTML.
And lastly, there's a chapter of \SpecialChar LaTeX
tools and tips, things you can use to
spruce up your documents by directly using the powerful features of \SpecialChar LaTeX
.
After all, \SpecialChar LyX
\emph on
is
\emph default
only WYSIWYM and will only ever interface to some, not all, \SpecialChar 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 \SpecialChar LyX
before attempting to read this one.
\end_layout
\begin_layout Standard
Since many of the topics in this manual depend heavily on \SpecialChar LyX
's interaction
with \SpecialChar LaTeX
, this first chapter covers the inner workings of \SpecialChar LyX
and how to direct
\SpecialChar LyX
to generate exactly the \SpecialChar LaTeX
code you want.
It is obviously for more seasoned \SpecialChar LyX
users.
\end_layout
\begin_layout Chapter
\SpecialChar LyX
and \SpecialChar LaTeX
\end_layout
\begin_layout Section
How \SpecialChar LyX
Uses \SpecialChar LaTeX
\end_layout
\begin_layout Standard
This chapter is for both \SpecialChar TeX
-nicians and the \SpecialChar LaTeX
-curious.
In it, we'll explain how \SpecialChar LyX
and \SpecialChar LaTeX
work together to produce printable output.
This is the only place in any of the manuals where we assume you know something
about \SpecialChar LaTeX
.
\end_layout
\begin_layout Standard
At one time, \SpecialChar LyX
was called a
\begin_inset Quotes eld
\end_inset
WYSIWYM frontend to \SpecialChar LaTeX
,
\begin_inset Quotes erd
\end_inset
but that's no longer true.
There are frontends to \SpecialChar LaTeX
out there.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Some familar ones are \SpecialChar TeX
maker and kile, on Linux, and \SpecialChar TeX
shop, OSX.
There are also the \SpecialChar LaTeX
modes for vi and emacs, of course.
\end_layout
\end_inset
These are basically text editors with the ability to run \SpecialChar LaTeX
and mark any
errors in the file you're editing.
Although \SpecialChar LyX
\emph on
is
\emph default
an editor, and it
\emph on
does
\emph default
run \SpecialChar LaTeX
, and it also indicates errors in the file, it also does much, much
more.
For one thing, you don't need to know \SpecialChar LaTeX
to use \SpecialChar LyX
effectively.
And \SpecialChar LyX
has added its own extensions to \SpecialChar LaTeX
.
Try the following sometime: select
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Export\SpecialChar menuseparator
LaTeX
\end_layout
\end_inset
from the
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
File
\end_layout
\end_inset
menu (or
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
View\SpecialChar menuseparator
Source
\begin_inset space ~
\end_inset
Pane
\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 \SpecialChar 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 \SpecialChar LaTeX
.
They are:
\end_layout
\begin_layout Itemize
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
View
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
Update
\end_layout
\end_inset
\end_layout
\begin_layout Standard
They will only invoke \SpecialChar LaTeX
if the file has changed since the last time \SpecialChar LaTeX
was
run.
\end_layout
\begin_layout Standard
When \SpecialChar LyX
runs \SpecialChar LaTeX
on the file you're editing, it performs these steps:
\end_layout
\begin_layout Enumerate
Convert the document to \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
using
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
View\SpecialChar menuseparator
DVI
\end_layout
\end_inset
, \SpecialChar LyX
then runs a DVI viewer to display the DVI-file.
If you have used
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
View\SpecialChar menuseparator
PostScript
\end_layout
\end_inset
, \SpecialChar 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
\SpecialChar LyX
does similar things when viewing, or exporting, other formats.
\end_layout
\begin_layout Section
Translating \SpecialChar LaTeX
files into \SpecialChar LyX
\end_layout
\begin_layout Standard
You can import a \SpecialChar LaTeX
file into \SpecialChar LyX
by using the
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
File\SpecialChar menuseparator
Import\SpecialChar menuseparator
LaTeX
\end_layout
\end_inset
command in \SpecialChar 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
.
\SpecialChar 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 \SpecialChar LaTeX
, but not everything.
It will put things it doesn't understand into \SpecialChar 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 \SpecialChar TeX
code and hand-edit it until it looks right.
\end_layout
\begin_layout Standard
If you don't know what \SpecialChar 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 \SpecialChar TeX
Code into \SpecialChar LyX
Documents
\end_layout
\begin_layout Standard
Anything you can do in \SpecialChar LaTeX
you can do in \SpecialChar LyX
, for a very simple reason: You can
always insert \SpecialChar TeX
code into any \SpecialChar LyX
document.
\SpecialChar LyX
cannot, and will never be able to, display every possible \SpecialChar LaTeX
construct.
If ever you need to insert \SpecialChar LaTeX
commands into your \SpecialChar LyX
document, you can use the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\SpecialChar TeX
Code
\end_layout
\end_inset
box, which you can insert into your document with
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Insert\SpecialChar menuseparator
\family sans
TeX
\family default
Code
\end_layout
\end_inset
or the keyboard shortcut
\begin_inset Info
type "shortcut"
arg "ert-insert"
\end_inset
.
\end_layout
\begin_layout Standard
Here's an example of inserting \SpecialChar LaTeX
commands in a \SpecialChar 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 of 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
\SpecialChar TeX
Code
\end_layout
\end_inset
box containing this text is directly after this paragraph.
Those of you reading the manual in \SpecialChar LyX
will only see the \SpecialChar TeX
code inset.
Those reading a printed version of the manuals will see the actual results:
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\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 of 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
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
In addition to using \SpecialChar TeX
code, you can also create a separate file containing
some complex \SpecialChar LaTeX
structure and then use
\begin_inset Flex Noun
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 \SpecialChar LaTeX
errors.
\end_layout
\begin_layout Standard
There are a few last points to emphasize:
\end_layout
\begin_layout Itemize
\SpecialChar LyX
\emph on
does not
\emph default
check if your \SpecialChar LaTeX
code is correct.
\end_layout
\begin_layout Itemize
Beware of reinventing the wheel.
\end_layout
\begin_layout Standard
On that last point, \SpecialChar LyX
does have quite a few features tucked into it, and
more are coming.
Be sure to check the manuals to make sure that \SpecialChar LyX
doesn't have such-and-such
feature before you decide you have to do it by hand.
Moreover, there are numerous \SpecialChar 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 \SpecialChar 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
\SpecialChar LyX
and the \SpecialChar LaTeX
Preamble
\end_layout
\begin_layout Subsection
About the \SpecialChar LaTeX
Preamble
\end_layout
\begin_layout Standard
If you already know \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
preamble of a \SpecialChar LyX
document.
\end_layout
\begin_layout Standard
The \SpecialChar 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
\SpecialChar LyX
already does this for you.
If you're a seasoned \SpecialChar 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 \SpecialChar LyX
interface to it.
\end_layout
\begin_layout Itemize
Declare the usage of packages.
\begin_inset Newline newline
\end_inset
\SpecialChar LaTeX
packages provide special commands, which are only available within a document
when the package has been declared in the preamble.
In addition to providing special commands, the inclusion of a package can
change the document.
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 \SpecialChar LaTeX
counters and variables that
\emph on
must
\emph default
be set globally from within the preamble in order to have the desired effect.
(There are variables that you can set and reset inside the document, too.)
Margins are a good example of something that 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 \SpecialChar 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 \SpecialChar LaTeX
code in your document, which
normally should not be the case.
\end_layout
\begin_layout Standard
\SpecialChar 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 \SpecialChar LaTeX
files generated by \SpecialChar LyX
portable.
\end_layout
\begin_layout Subsection
Changing the Preamble
\end_layout
\begin_layout Standard
The commands which \SpecialChar LyX
adds to the preamble of a \SpecialChar LaTeX
file are fixed; you can't
change them without patching \SpecialChar LyX
itself.
You can, however, add your own stuff to the preamble by selecting
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
\SpecialChar LaTeX
\begin_inset space ~
\end_inset
Preamble
\end_layout
\end_inset
in the
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
Settings
\end_layout
\end_inset
dialog.
\SpecialChar LyX
adds anything in the
\begin_inset Flex Noun
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 \SpecialChar 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
.
\SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
\SpecialChar LyX
and \SpecialChar LaTeX
Errors
\end_layout
\begin_layout Standard
When \SpecialChar LyX
calls \SpecialChar LaTeX
, it tells \SpecialChar LaTeX
to blithely ignore any errors and keep going.
It then uses the logfile from the \SpecialChar LaTeX
run to do a post-mortem.
After analyzing the logfile, \SpecialChar LyX
displays a dialog listing the errors.
Clicking on any one of them will take you to the position in your \SpecialChar 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 \SpecialChar LyX
doesn't always go to the right
line.
There are also cases where \SpecialChar 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 Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
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 \SpecialChar 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 \SpecialChar LaTeX
code itself.
You'll get messages like this if you added or changed cross-references
or bibliography entries, in which case, \SpecialChar 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 \SpecialChar LaTeX
couldn't find.
The rest of the message will often say something about a replacement font
that \SpecialChar 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
\SpecialChar 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.
\SpecialChar 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 Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
Settings
\end_layout
\end_inset
, and then \SpecialChar 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.
\SpecialChar 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 \SpecialChar LyX
tried to load is missing.
Use
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Help\SpecialChar menuseparator
\SpecialChar LaTeX
Configuration
\end_layout
\end_inset
to get a list of packages that \SpecialChar LyX
knows about.
This file is updated whenever you reconfigure \SpecialChar LyX
(using
\begin_inset Flex Noun
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 \SpecialChar 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 \SpecialChar LaTeX
messages.
Others are downright cryptic.
These are usually \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
code to the
document, the first suspect is your \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
cannot find a place to break a
line? By default, \SpecialChar 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.
\end_layout
\begin_layout Enumerate
Did you go overboard with the nesting? \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
\SpecialChar ldots
.
\end_layout
\begin_layout Chapter
Supplemental Tools
\end_layout
\begin_layout Section
Customizing Bibliographies with Bib\SpecialChar TeX
\end_layout
\begin_layout Standard
The most basic information about how to use Bib\SpecialChar TeX
with \SpecialChar LyX
is contained in the
section
\emph on
Bibliography databases (Bib\SpecialChar TeX
)
\emph default
of the
\emph on
User's Guide
\emph default
.
The following subsections explain special bibliography features supported
by \SpecialChar LyX
.
\end_layout
\begin_layout Subsection
Alternative Citation Styles
\end_layout
\begin_layout Standard
Standard Bib\SpecialChar TeX
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
).
\SpecialChar 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
, then 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 \SpecialChar LyX
is basically the same.
Go to
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
Settings
\end_layout
\end_inset
and select under
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Bibliography
\end_layout
\end_inset
the option
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Natbib
\end_layout
\end_inset
or
\begin_inset Flex Noun
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, Bib\SpecialChar TeX
itself does not allow you to do this.
But with the help of some \SpecialChar LaTeX
packages, Bib\SpecialChar TeX
can be extended to fit your needs.
\end_layout
\begin_layout Standard
\SpecialChar 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 Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
Settings
\end_layout
\end_inset
and check under
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Bibliography
\end_layout
\end_inset
the option
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Sectioned bibliography
\end_layout
\end_inset
.
Now you can insert multiple Bib\SpecialChar TeX
bibliographies, one for each section of
your bibliography.
Returning to our example: Insert the Bib\SpecialChar TeX
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 choose 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 to 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 Bib\SpecialChar TeX
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
\SpecialChar LyX
(see the previous section), provides an easy way to solve this task, if
you are willing to use some
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
\SpecialChar 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 Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
Settings
\end_layout
\end_inset
and under
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Bibliography
\end_layout
\end_inset
check
\begin_inset Flex Noun
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 Bib\SpecialChar TeX
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 \SpecialChar TeX
code).
The bibliography will contain all references that 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
files; however, these files must not have their own
preamble (i.
\begin_inset space \thinspace{}
\end_inset
e.
\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
\SpecialChar LyX
allows you to include files quite easily with
\begin_inset Flex Noun
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 \SpecialChar LaTeX
perts, but the practical difference is that
files that are
\begin_inset Quotes eld
\end_inset
included
\begin_inset Quotes erd
\end_inset
are typeset beginning on a new page, while files that 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 \SpecialChar LaTeX
file before typesetting,
while the included files are converted to \SpecialChar LaTeX
files that 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
e.
\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 \SpecialChar LyX
's normal treatment of spaces.
However, setting the
\begin_inset Flex Noun
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"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
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 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"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
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 \SpecialChar 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, \SpecialChar LaTeX
won't use it and the references
will look like this: [?], instead of like this: [1].
One solution is to use the \SpecialChar 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 \SpecialChar 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
\SpecialChar 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 \SpecialChar 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.
\SpecialChar 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
\SpecialChar LyX
's configuration process will set the script up to export a `\SpecialChar 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
\SpecialChar LyX
\SpecialChar menuseparator
\SpecialChar 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 \SpecialChar LaTeX
code you need to insert in your \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
\SpecialChar 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 Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
Settings
\end_layout
\end_inset
menu item and then select the
\begin_inset Flex Noun
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
\SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
package.
\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 \SpecialChar 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
\SpecialChar LyX
doesn't stop you using bullets from packages you don't have.
If you get errors from \SpecialChar 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
\SpecialChar 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 \SpecialChar 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 \SpecialChar TeX
code.
The bullet selection dialog can help though because it provides you with
the \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 Noun
status collapsed
\begin_layout Plain Layout
\SpecialChar 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
\SpecialChar LyX
and the World Wide Web
\end_layout
\begin_layout Standard
\SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
to produce the \SpecialChar LaTeX
; and there is a converter that works directly
on \SpecialChar LyX
files,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
e\SpecialChar LyX
er
\end_layout
\end_inset
.
All of these have different advantages and disadvantages.
\end_layout
\begin_layout Standard
The \SpecialChar LaTeX
-based converters have the advantage that, in principle, they know everythin
g about the exported document that \SpecialChar LaTeX
does.
Such converters do not care, for example, if a certain block of code was
produced by \SpecialChar 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 Bib\SpecialChar TeX
.
On the other hand, \SpecialChar LaTeX
is a very hard language to parse—it is sometimes said
that only \SpecialChar TeX
itself understands \SpecialChar TeX
—and \SpecialChar 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 \SpecialChar 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
e\SpecialChar LyX
er
\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
e\SpecialChar LyX
er
\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
e\SpecialChar LyX
er
\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
e\SpecialChar LyX
er
\end_layout
\end_inset
unsuitable for many of the documents \SpecialChar LyX
users produce.
In principle, of course, these problems could be solved, but the \SpecialChar LyX
developers
have decided to follow a different path and have made \SpecialChar LyX
itself capable of
writing XHTML, just as it is capable of writing \SpecialChar 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 \SpecialChar LyX
source tree or
\begin_inset CommandInset href
LatexCommand href
name "accessed online"
target "http://www.lyx.org/trac/browser/lyxgit/development/HTML/HTML.notes?rev=master"
\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 \SpecialChar LyX
, know everything \SpecialChar 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 \SpecialChar LyX
, they are
immune to changes in \SpecialChar 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 \SpecialChar 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 \SpecialChar 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, \SpecialChar 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 \SpecialChar LyX
, then (by default) they will be sans-seri
f 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 \SpecialChar LyX
's own pre-defined styles: in each case,
everything \SpecialChar 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 \SpecialChar 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
\SpecialChar 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 \SpecialChar 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
\SpecialChar 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
, \SpecialChar 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
\SpecialChar 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 Noun
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 \SpecialChar LyX
for some reason fails to create an image for a formula (e.g., if a required
\SpecialChar LaTeX
package is not installed), then it will fall back to outputing the raw
\SpecialChar LaTeX
.
\end_layout
\begin_layout Itemize
\SpecialChar LaTeX
\begin_inset Newline newline
\end_inset
Finally, \SpecialChar LyX
will happily output math as \SpecialChar 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 \SpecialChar LaTeX
embedded in HTML documents.
\SpecialChar LyX
wraps the \SpecialChar 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 Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
Settings\SpecialChar menuseparator
Output
\end_layout
\end_inset
.
By default, \SpecialChar LyX
outputs MathML.
This is a document-wide setting, therefore.
\end_layout
\begin_layout Standard
Eventually, \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
's on-screen
labels, so the labels will look in the output much as they do in \SpecialChar LyX
, though
better.
If you are using numerical citations, then \SpecialChar 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 \SpecialChar LyX
will add lowercase letters
to the years, just as Bib\SpecialChar TeX
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.
3068.
\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.
20130.
\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 \SpecialChar LyX
will print the same bibliography
over and over.
\end_layout
\begin_layout Section
Indexes
\end_layout
\begin_layout Standard
\SpecialChar 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 \SpecialChar LyX
itself does not really handle these.
It just lets you enter what you would have to enter in raw \SpecialChar 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): \SpecialChar 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 \SpecialChar 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: \SpecialChar 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, \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
Server
\end_layout
\begin_layout Section
Introduction
\end_layout
\begin_layout Standard
The `\SpecialChar LyX
server' allows other programs to talk to \SpecialChar LyX
, invoke \SpecialChar LyX
commands, and retrieve
information about the \SpecialChar LyX
internal state.
This is only intended for advanced users, but they should find it useful.
It is by writing to the \SpecialChar 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 \SpecialChar LyX
.
\end_layout
\begin_layout Section
Starting the \SpecialChar LyX
Server
\end_layout
\begin_layout Standard
The \SpecialChar 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 Noun
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 (where any working path instead of lyxpipe can be used, for
example
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"
\backslash
\backslash
.
\backslash
pipe
\backslash
my
\backslash
lyx
\backslash
pipe"
\end_layout
\end_inset
would also work).
You
\emph on
must
\emph default
configure this manually in order for the server to start.
\end_layout
\begin_layout Standard
\SpecialChar 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, \SpecialChar LyX
will assume that another \SpecialChar 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 \SpecialChar LyX
closes, then \SpecialChar LyX
will try to delete it.
If this fails for some reason, you will need to delete the pipes manually
and then restart \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
server.
Do this by starting \SpecialChar 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.cpp
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Another useful tool is the command-line based client found 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 Subsection
AppleScript (Mac OS X)
\end_layout
\begin_layout Standard
Since \SpecialChar LyX
2.1, \SpecialChar LyX
supports basic interactions with AppleScript for normal communicatio
n through the command run.
This command takes a direct argument (the
\series bold
function
\series default
to perform) and an optional argument.
It either returns the output of the function or triggers an error with
the error message and code.
\end_layout
\begin_layout Standard
Example:
\end_layout
\begin_layout LyX-Code
tell application "\SpecialChar LyX
"
\end_layout
\begin_layout LyX-Code
try
\end_layout
\begin_layout LyX-Code
-- Stores the current file name into f
\end_layout
\begin_layout LyX-Code
set f to (run "server-get-filename" with argument "")
\end_layout
\begin_layout LyX-Code
on error the error_message number the error_number
\end_layout
\begin_layout LyX-Code
display dialog "Error: " & the error_number & ".
" ¬
\end_layout
\begin_layout LyX-Code
& the error_message buttons {"OK"} default button 1
\end_layout
\begin_layout LyX-Code
end try
\end_layout
\begin_layout LyX-Code
end tell
\end_layout
\begin_layout Section
Notification
\end_layout
\begin_layout Standard
\SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
calls and
\SpecialChar LyX
requests to issue a command or a series of commands to \SpecialChar LyX
.
\end_layout
\begin_layout Section
The simple \SpecialChar LyX
Server Protocol
\end_layout
\begin_layout Standard
\SpecialChar 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, \SpecialChar 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 \SpecialChar LyX
will inform clients that \SpecialChar 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,
Qpdfview on Unix, 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 \SpecialChar 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 \SpecialChar LyX
.
This is done via the \SpecialChar LyX
server either by using the named pipe (
\emph on
lyxpipe
\emph default
), or the UNIX domain socket (
\emph on
lyxsocket
\emph default
) that \SpecialChar 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 \SpecialChar LyX
).
In some cases, you need a helper script that mediates between the viewer
and \SpecialChar LyX
, in others, the viewer can communicate with \SpecialChar 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 "subsec:rev-search"
\end_inset
\end_layout
\begin_layout Standard
In most cases \SpecialChar LyX
will do the work for you by enabling the option
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Synchronize with Output
\end_layout
\end_inset
in the menu
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Document\SpecialChar menuseparator
Settings\SpecialChar menuseparator
Output
\end_layout
\end_inset
.
In such a case \SpecialChar LyX
will automatically insert the necessary Sync\SpecialChar TeX
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 Noun
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 also 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 "subsec: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
\SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
since quite some time (any somewhat recent \SpecialChar LaTeX
distribution
should include it), and it works reliably.
To enable it, change the
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
La
\family sans
TeX
\family default
(plain)->DVI
\end_layout
\end_inset
or
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
La
\family sans
TeX
\family default
(plain)->DraftDVI
\end_layout
\end_inset
converter in
\begin_inset Flex Noun
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 \SpecialChar 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 \SpecialChar 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 Sync\SpecialChar TeX
(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
Sync\SpecialChar TeX
\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 \SpecialChar TeX
Live 2008 or a recent Mik\SpecialChar TeX
distribution in order to use
it.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
For some reason, Mik\SpecialChar TeX
does not understand/obey the command \SpecialChar LyX
inserts into
the preamble when you check the "Enable Forward/Reverse Search" button
in the toolbar and does not generate the necessary info.
\end_layout
\begin_layout Plain Layout
The generation of the required info can be forced by changing the converter
"\SpecialChar LaTeX
(pdflatex) -> PDF (pdflatex)" in Preferences->File handling->Converters
from the default "pdflatex $$i" to "pdflatex -synctex=1 $$i" (i.e., by adding
the -synctex=1 switch).
\end_layout
\end_inset
Also note that only a few PDF viewers (Okular and Qpdfview on Unix, Skim
on the Mac, SumatraPDF on Windows) already provide Sync\SpecialChar TeX
support.
\end_layout
\begin_layout Standard
To enable Sync\SpecialChar TeX
for DVI output, change the
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
La
\family sans
TeX
\family default
(plain) -> DVI
\end_layout
\end_inset
or
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
La
\family sans
TeX
\family default
(plain) -> DraftDVI
\end_layout
\end_inset
converter in
\begin_inset Flex Noun
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 Noun
status collapsed
\begin_layout Plain Layout
La
\family sans
TeX
\family default
(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 Sync\SpecialChar TeX
.
\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 "subsec: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 \SpecialChar 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 \SpecialChar LyX
, simply change the DVI viewer in
\begin_inset Flex Noun
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 TMP < "${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 LyXServer pipe path specified in
\begin_inset Flex Noun
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/LyX.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 \SpecialChar 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 Noun
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 Noun
status collapsed
\begin_layout Plain Layout
Skim\SpecialChar menuseparator
Preferences\SpecialChar menuseparator
Sync
\end_layout
\end_inset
choose
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
custom
\end_layout
\end_inset
preset and enter command
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
/Applications/\SpecialChar LyX
.app/Contents/MacOS/lyxeditor
\end_layout
\end_inset
.
\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 Noun
status collapsed
\begin_layout Plain Layout
Settings\SpecialChar menuseparator
Configure Okular\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*
Qpdfview (Unix)
\end_layout
\begin_layout Standard
Qpdfview supports Sync\SpecialChar TeX
since version 0.3.5.
Go to
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Edit\SpecialChar menuseparator
Settings\SpecialChar menuseparator
Behavior
\end_layout
\end_inset
, click on the input field of the
\begin_inset Quotes eld
\end_inset
Source editor
\begin_inset Quotes erd
\end_inset
item and add the command
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxclient -g %1 %2
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Reverse search is triggered by double-click or, in more recent versions,
by context menu.
\end_layout
\begin_layout Subsubsection*
YAP (Windows)
\end_layout
\begin_layout Standard
Launch yap, choose its
\begin_inset Flex Noun
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
\SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
Server pipe path you specified in \SpecialChar 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 Noun
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 Noun
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
\SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
Server pipe path in the \SpecialChar 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 Noun
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 \SpecialChar LyX
Server pipe path in the \SpecialChar 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
of reverse search.
It allows you to let the viewer jump to a given position from within \SpecialChar LyX
.
If forward search is set up (as described in what follows), you can put
the cursor anywhere in your \SpecialChar LyX
document, and hit
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Navigate\SpecialChar menuseparator
Forward search
\end_layout
\end_inset
(or select
\begin_inset Flex Noun
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 \SpecialChar TeX
sources.
This can be done via the methods described in the section
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:rev-search"
\end_inset
.
\end_layout
\begin_layout Standard
Additionally, you need to configure \SpecialChar LyX
for using your viewers in
\begin_inset Flex Noun
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 (without path)
\end_layout
\begin_layout Itemize
\noindent
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$$f
\end_layout
\end_inset
: name of the (temporary) exported .tex file (including path)
\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
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
You might want to set
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
okular unique
\end_layout
\end_inset
in
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Tools\SpecialChar menuseparator
Preferences\SpecialChar menuseparator
File Handling\SpecialChar menuseparator
File
\begin_inset space ~
\end_inset
Formats
\end_layout
\end_inset
\end_layout
\end_inset
, qpdfview and SumatraPDF
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
SumatraPDF can also use DDE commands through the external program CMCDDE
— downloadable from
\begin_inset CommandInset href
LatexCommand href
target "http://www.istri.fr/spip/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
.
This 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.
\SpecialChar 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 \SpecialChar LyX
can be used to write articles for submission
to the scientific journal
\emph on
Astronomy and Astrophysics
\emph default
(
\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 \SpecialChar 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
\SpecialChar LyX
Dir/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 \SpecialChar 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 \SpecialChar 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
\SpecialChar 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 \SpecialChar LaTeX
commands that
have no counterpart in \SpecialChar 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 \SpecialChar LyX
and marked as
\SpecialChar 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 \SpecialChar LyX
, therefore you have to enter the \SpecialChar LaTeX
command
\family typewriter
\backslash
keywords{}
\family default
by hand and mark it as \SpecialChar 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
\SpecialChar LaTeX
\end_layout
\begin_layout Subsection
Commands not supported by \SpecialChar LyX
\end_layout
\begin_layout Standard
Some commands are not yet supported by the
\family sans
paper (A&A)
\family default
layout for \SpecialChar 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 \SpecialChar LaTeX
code!
\end_layout
\begin_layout Subsection
Figure and Table Floats
\end_layout
\begin_layout Standard
\SpecialChar 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
Span
\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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
.
It is the example paper from the original macro package, translated to
\SpecialChar LyX
.
Use it for inspiration, and compare the original \SpecialChar LaTeX
code with \SpecialChar LyX
way of writing.
\end_layout
\begin_layout Section
AAS\SpecialChar TeX
\end_layout
\begin_layout Standard
by
\noun on
Mike Ressler
\end_layout
\begin_layout Subsection
Introduction
\end_layout
\begin_layout Standard
AAS\SpecialChar TeX
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.
\SpecialChar LyX
has proven to be an excellent tool for generating these documents, especially
given its equation, citation, and figure handling capabilities.
\SpecialChar 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 \SpecialChar LaTeX
2.09 and are fundamentally
incompatible with \SpecialChar LyX
.
The AAS\SpecialChar TeX
package may be downloaded from the AAS\SpecialChar TeX
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
https://aas.org/aastex/aastex-downloads
\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 \SpecialChar LyX
.
\SpecialChar LyX
will not reduce the need to figure out all the AAS\SpecialChar TeX
commands, it will only
reduce the drudgery of typing everything in.
It is your responsibility to ensure that the final exported \SpecialChar 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 AAS\SpecialChar TeX
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 AAS\SpecialChar TeX
commands and environments can be implemented directly in
\SpecialChar 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 \SpecialChar LaTeX
code must be entered directly and marked
as such.
Such commands are referred to as \SpecialChar TeX
code, or Evil Red Text.
I tried to minimize the amount of \SpecialChar TeX
code needed in an AAS\SpecialChar TeX
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 \SpecialChar LaTeX
file (
\family sans
File\SpecialChar menuseparator
Export\SpecialChar menuseparator
\SpecialChar 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 \SpecialChar LaTeX
preamble
(which should appear immediately after the
\begin_inset Quotes eld
\end_inset
User specified \SpecialChar 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 \SpecialChar 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 AAS\SpecialChar TeX
commands: the
AAS\SpecialChar TeX
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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
and AAS\SpecialChar TeX
to cooperate
\end_layout
\begin_layout Standard
It can be a bit tricky to get \SpecialChar LyX
to recognize a new layout and document class.
When all else fails, do this:
\end_layout
\begin_layout Enumerate
Make certain that \SpecialChar LaTeX
can find AAS\SpecialChar TeX
.
Copy sample.tex (and perhaps table.tex) from the AAS\SpecialChar TeX
distribution into a
directory completely unrelated to \SpecialChar LaTeX
or AAS\SpecialChar TeX
and run \SpecialChar LaTeX
on
\family typewriter
sample.tex
\family default
.
\end_layout
\begin_layout Enumerate
Make certain that
\family typewriter
aastex.layout
\family default
appears in \SpecialChar LyX
's
\family typewriter
layouts
\family default
folder
\end_layout
\begin_layout Enumerate
Rerun
\family sans
Tools\SpecialChar menuseparator
Reconfigure
\family default
in \SpecialChar LyX
, then restart \SpecialChar LyX
.
\end_layout
\begin_layout Enumerate
Open a regular new file, not from a template.
Does AAS\SpecialChar TeX
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 AAS\SpecialChar TeX
document about not being able
to find the AAS\SpecialChar TeX
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
\SpecialChar LaTeX
error processing a table
\end_layout
\begin_layout Standard
\SpecialChar LyX
, by default, attempts to center the table caption/title.
This seems to produce a bad interaction in AAS\SpecialChar TeX
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 AAS\SpecialChar TeX
provides its own figure commands (
\family typewriter
\backslash
plotone
\family default
, for example), I much prefer \SpecialChar 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 \SpecialChar TeX
code into a Figure Float box if you desire, but I never have
much luck getting the layout right.
With the standard graphics, \SpecialChar LyX
will insert a
\family typewriter
\backslash
usepackage{graphicx}
\family default
command into the \SpecialChar LaTeX
preamble and handle the figures in the standard \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
; the last 2% was the \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
\SpecialChar 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 \SpecialChar 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 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-\SpecialChar 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 \SpecialChar 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 \SpecialChar 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
http://publications.agu.org/files/2013/08/AGU-LaTeX.zip
\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 \SpecialChar LyX
GUI, though their \SpecialChar 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 Bib\SpecialChar TeX
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 \SpecialChar LyX
template file
\family typewriter
elsarticle.lyx
\family default
.
It contains all infos you need.
\end_layout
\begin_layout Section
Foils [aka
\family sans
Foil\SpecialChar TeX
\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 \SpecialChar LyX
to make slides for overhead projectors.
There are two document classes that can do this: the default slides class
and the
\family sans
Foil\SpecialChar TeX
\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
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
\family sans
FoilTeX
\family default
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
\begin_inset space ~
\end_inset
2.1 of the
\family sans
foils.cls
\family default
\SpecialChar LaTeX
class file which is now an integral part of \SpecialChar LaTeX2e
.
\end_layout
\begin_layout Subsection
Getting Started
\end_layout
\begin_layout Standard
Obviously, to use this document class, you need to select
\family sans
FoilTeX
\family default
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
Foil\SpecialChar TeX
\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
Foil\SpecialChar TeX
\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
Foil\SpecialChar TeX
\family default
is discouraged by the writer of the
\family sans
Foil\SpecialChar TeX
\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
Foil\SpecialChar TeX
\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
Foil\SpecialChar TeX
\family default
as well as a couple added by \SpecialChar LyX
.
The following environments are shared with other classes:
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\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
\SpecialChar 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
\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
Foil\SpecialChar TeX
\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
\SpecialChar 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
Foil\SpecialChar TeX
\family default
also provides a comprehensive box of goodies for presenting them:
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\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
\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 \SpecialChar 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
Foil\SpecialChar TeX
\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
e.
\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 Flex Multiple Columns
status open
\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 Plain Layout
\begin_inset space ~
\end_inset
\end_layout
\end_deeper
\end_inset
\end_layout
\begin_layout Standard
There are also a few commands provided by
\family sans
Foil\SpecialChar TeX
\family default
that aren't directly supported by \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
\begin_inset space ~
\end_inset
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 \SpecialChar LyX
you can't have two of the same type of these environments
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
\SpecialChar 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 \SpecialChar LyX
to produce two separate environments and hence the correct
\SpecialChar LaTeX
output.
An example is provided in the example file included with the \SpecialChar 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
Foil\SpecialChar TeX
\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
Foil\SpecialChar TeX
\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
Foil\SpecialChar TeX
\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
\SpecialChar LaTeX
\family default
environment or as
\family sans
\SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
.
I have used \SpecialChar 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
Template
\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
\SpecialChar 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.
\SpecialChar 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 \SpecialChar 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.
\SpecialChar 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 \SpecialChar LaTeX
command, but nothing
is really printed.
In \SpecialChar 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.
\SpecialChar 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 \SpecialChar LyX
is printed correctly, but its caption
is ignored.
However, you can use some \SpecialChar 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 \SpecialChar TeX
code
\family typewriter
\backslash
tbl{
\emph on
your table caption
\emph default
}{
\family default
(sic); you must also the \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
document as a \SpecialChar LaTeX
file (
\family sans
File\SpecialChar menuseparator
Export\SpecialChar menuseparator
\SpecialChar LaTeX
\family default
)
\begin_inset Foot
status open
\begin_layout Plain Layout
Actually you have the choice between \SpecialChar 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 \SpecialChar LaTeX
preamble.
\end_layout
\begin_layout Standard
The modified
\family typewriter
.tex
\family default
file should be saved and processed through \SpecialChar 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 \SpecialChar TeX
code
\end_layout
\begin_layout Standard
The use of \SpecialChar 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 \SpecialChar TeX
code needed is already in its place; you usually don't need
to delete it.
You may only modify the first \SpecialChar TeX
code to specify the information printed
to the top of odd and even pages (authors' names and short paper's title,
respectively).
This \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
.
This can be used as \SpecialChar 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
\SpecialChar LyX
supports many features of the package but not everything.
However, the \SpecialChar 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 \SpecialChar 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 AAS\SpecialChar TeX
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 \SpecialChar LaTeX
file.
To do this, click on
\family sans
File\SpecialChar menuseparator
Export\SpecialChar menuseparator
\SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
code (the
well-known
\begin_inset Quotes eld
\end_inset
\SpecialChar 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
e.
\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 \SpecialChar LyX
, so you must enter title, subtitle etc.
\begin_inset space ~
\end_inset
between two \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
document classes of the Koma-Script family define a number of additional
commands.
Those part of it which makes sense in \SpecialChar LyX
is implemented in corresponding
paragraph types.
\end_layout
\begin_layout Standard
Detailed descriptions of the \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
specific types
\family sans
\SpecialChar 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
\SpecialChar 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 \SpecialChar LaTeX
commands, which you can put in the \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
side — a completely new interface and is not compatible
with the old class.
Therefore, \SpecialChar 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
e.
\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
Layout\SpecialChar menuseparator
Document\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 \SpecialChar 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 \SpecialChar LyX
, the \SpecialChar 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 \SpecialChar 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
\SpecialChar LaTeX
table of contents, but not in the \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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.
\SpecialChar 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 be supported, due to the limitations of \SpecialChar LyX
's framework.
Of course you can still use all features with the help of some native \SpecialChar LaTeX
commands (\SpecialChar 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 that are natively supported
by \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
).
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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
).
Since a lot of packages and particularly Bib\SpecialChar TeX
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 \SpecialChar 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 \SpecialChar LyX
a bit here again, since the environment
needs two arguments (text and source).
In this case, we have to use curly brackets (in \SpecialChar 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).
\SpecialChar 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 \SpecialChar TeX
code,
because they have to be nested inside regular verse environments, which
is not possible with \SpecialChar 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
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 \SpecialChar 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 \SpecialChar 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
Rev\SpecialChar TeX
4
\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 Rev\SpecialChar TeX
4.0 (the
\begin_inset Formula $\beta$
\end_inset
release of May, 1999) class.
\end_layout
\begin_layout Standard
\SpecialChar LyX
has a
\family sans
Revtex
\family default
textclass, which works with Rev\SpecialChar TeX
3.1.
However, v3.1 is basically obsolete, as it works with \SpecialChar LaTeX
2.09.
That means that it doesn't interact very well with \SpecialChar LyX
, which requires \SpecialChar LaTeX2e
, although
it has been kludged to work.
Since Rev\SpecialChar TeX
4.0 has been designed to work much more cleanly with \SpecialChar LaTeX2e
, \SpecialChar LyX
with the
\family sans
Rev\SpecialChar TeX
\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 Rev\SpecialChar TeX
4.0 documents, so we don't describe any of the special Rev\SpecialChar TeX
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 Rev\SpecialChar TeX
4, as described in the package's README
file.
The package can be found at The Rev\SpecialChar TeX
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 \SpecialChar LaTeX
can see it.
Test it by trying to \SpecialChar LaTeX
a short Rev\SpecialChar TeX
4 document in some random directory (i.
\begin_inset space \thinspace{}
\end_inset
e.
\begin_inset space \space{}
\end_inset
not the directory where you installed the class file.) Then, if you reconfigure
\SpecialChar LyX
, it will find the class file and let you use the Rev\SpecialChar TeX
4 textclass.
\end_layout
\begin_layout Standard
Probably the easiest way to get started is either to import a Rev\SpecialChar TeX
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
Extra
\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 Rev\SpecialChar TeX
, 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
\SpecialChar 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 Rev\SpecialChar TeX
4.0.
For example, the Email layout corresponds to
\family typewriter
\backslash
email{}
\family default
.
Note that (at least as of Rev\SpecialChar TeX
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 Rev\SpecialChar TeX
4 which might cause
bugs that will be even more confusing in \SpecialChar LyX
.
\end_layout
\begin_layout Standard
In Rev\SpecialChar TeX
, the
\family typewriter
\backslash
thanks
\family default
command goes
\emph on
outside
\emph default
the
\family typewriter
\backslash
author
\family default
command.
The \SpecialChar 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 Rev\SpecialChar TeX
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 \SpecialChar 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 \SpecialChar LaTeX
(which you'll need to do eventually to send it in to APS), you'll need
to edit the \SpecialChar 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, \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
distribution.
Install the relevant class file (downloaded from Springer) in a proper
directory, reconfigure \SpecialChar LaTeX
(in the te\SpecialChar TeX
case by running
\family typewriter
texhash
\family default
, as root if necessary — doesn't \SpecialChar LyX
take care of this?), reconfigure \SpecialChar 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_\SpecialChar 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 \SpecialChar 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
\SpecialChar LyX
layout file mechanism.
\end_layout
\begin_layout Subsection
Bugs
\end_layout
\begin_layout Standard
Probably.
But probably less than in the old hacked-\SpecialChar 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
Sli\SpecialChar TeX
\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 \SpecialChar LyX
to make slides for overhead projectors.
There are two document classes that can do this: the default slides class
and the
\family sans
Foil\SpecialChar TeX
\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 (Foil\SpecialChar TeX
)
\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 (Foil\SpecialChar TeX
)
\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 \SpecialChar LaTeX2e
improvement of the old
\noun on
Sli\SpecialChar TeX
\noun default
package.
Every \SpecialChar 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
\SpecialChar 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 \SpecialChar LyX
.
You see, \SpecialChar 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
\SpecialChar 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 \SpecialChar LyX
.
As I just mentioned, \SpecialChar LyX
forbids environments that begin with another environment.
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
.
\SpecialChar 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 \SpecialChar LyX
quirk.
\SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
Sli\SpecialChar TeX
\noun default
feature.
So, you'll have to resort to using the \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
File\SpecialChar menuseparator
New
\begin_inset space ~
\end_inset
from
\begin_inset space ~
\end_inset
Template
\family default
.
Your new \SpecialChar 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 \SpecialChar LaTeX2e
\begin_inset Quotes eld
\end_inset
\noun on
Sli\SpecialChar TeX
\noun default
emulation
\begin_inset Quotes erd
\end_inset
class, one of the built-in \SpecialChar LaTeX2e
classes.
Neither I nor the rest of the \SpecialChar 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 \SpecialChar 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 \SpecialChar TeX
distributions].
The latter is not yet supported under \SpecialChar 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
\SpecialChar LyX
Features needing Extra Software
\end_layout
\begin_layout Section
Checking \SpecialChar 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 \SpecialChar LaTeX
distribution MiK\SpecialChar TeX
.
\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
from CTAN,
\begin_inset Newline newline
\end_inset
\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
Chk\SpecialChar TeX
\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 \SpecialChar LaTeX
are sometimes non-intuitive,
and easy to forget.
The program runs over your \SpecialChar 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 \SpecialChar LaTeX
.
\end_layout
\begin_layout Standard
Well, what is a syntax checker doing in \SpecialChar LyX
which is supposed to produce correct
\SpecialChar 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
Chk\SpecialChar TeX
\family default
catches some common
\emph on
typographic
\emph default
errors, in addition to the syntactical ones.
Specifically,
\family sans
Chk\SpecialChar TeX
\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
If you have 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 \SpecialChar LyX
generate a \SpecialChar LaTeX
file of your document, start
\family sans
Chk\SpecialChar TeX
\family default
to check it, and then make \SpecialChar LyX
insert
\begin_inset Quotes eld
\end_inset
error boxes
\begin_inset Quotes erd
\end_inset
with the warnings from
\family sans
Chk\SpecialChar TeX
\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
Chk\SpecialChar TeX
\family default
, and this gap can make some warnings seem arcane or just 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
Chk\SpecialChar TeX
\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
Chk\SpecialChar TeX
\family default
to get better along with you.
\end_layout
\begin_layout Standard
Although
\family sans
Chk\SpecialChar TeX
\family default
\emph on
is
\emph default
very configurable and extensible, you should not expect to solve all problems
with
\family sans
Chk\SpecialChar TeX
\family default
in \SpecialChar LyX
this way.
Since \SpecialChar LyX
has to generate a somewhat special \SpecialChar LaTeX
file to be able to match the
line numbers from the
\family sans
Chk\SpecialChar TeX
\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
Document\SpecialChar menuseparator
\SpecialChar 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 appear
correctly.
There are two things you can do about this:
\end_layout
\begin_layout Itemize
Fine tune the
\family sans
Chk\SpecialChar TeX
\family default
invocation command line in
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Tools\SpecialChar menuseparator
Preferences\SpecialChar menuseparator
Output\SpecialChar menuseparator
LaTeX\SpecialChar menuseparator
CheckTeX command
\end_layout
\end_inset
, or the global
\family sans
Chk\SpecialChar TeX
\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 \SpecialChar LaTeX
file using
\family sans
File\SpecialChar menuseparator
Export\SpecialChar menuseparator
\SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar TeX
in \SpecialChar 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 \SpecialChar 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 \SpecialChar 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
\SpecialChar LyX
supports some of the most basic RCS/CVS/SVN/GIT 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 advise
using SVN instead.
A good place to start learning Subversion is SVN Book
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\begin_inset CommandInset href
LatexCommand href
target "http://svnbook.red-bean.com/"
\end_inset
\end_layout
\end_inset
.
In the 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 \SpecialChar LyX
, you should be
familiar with RCS/CVS/SVN/GIT usage.
The implementation in \SpecialChar 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 the Messages pane if unsure.
Regular users of version control will appreciate VC toolbar, which can
be enabled via
\family sans
View\SpecialChar menuseparator
Toolbars\SpecialChar menuseparator
Version
\begin_inset space ~
\end_inset
Control
\family default
.
\end_layout
\begin_layout Standard
For introducing your own external commands consult vc-command in the manual
of \SpecialChar LyX
functions.
\end_layout
\begin_layout Standard
It is strongly recommended to store documents in uncompressed format if
using version control (uncheck
\family sans
Document\SpecialChar menuseparator
Compressed
\family default
if it is checked): Uncompressed LyX documents are text files and therefore
for merging two different versions by version control systems.
Compressed LyX documents are binary files, which cannot be merged by version
control systems.
\end_layout
\begin_layout Subsection
RCS commands in \SpecialChar LyX
\end_layout
\begin_layout Standard
The following sections describe the RCS commands supported by \SpecialChar LyX
.
You can find them in the
\family sans
File\SpecialChar menuseparator
Version
\begin_inset space ~
\end_inset
Control
\family default
submenu.
\SpecialChar LyX
was tested against RCS 5.7/5.8.
\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 endofsentence
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
Copy
\end_layout
\begin_layout Standard
This will create a copy of the current document.
Since RCS does not support copy operations natively, the version history
is not preserved, and the copy is added as a new file.
It requires a clean document without any changes since the last checkin.
You are asked for a file name and a description of the copy operation.
After that the copy is created, both locally and in the repository.
If the parent directories of the copied and original document differ, all
relative paths of included files of the copy are adjusted (like in
\family sans
File\SpecialChar menuseparator
Save As
\family default
\SpecialChar ldots
).
Finally, the copy is loaded instead of the original document.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
RCS
\begin_inset space ~
\end_inset
commands:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
Copy
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
to
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
\begin_inset Quotes eld
\end_inset
<new-file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
ci -q -u
\family typewriter
-i
\begin_inset Quotes eld
\end_inset
<new-file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\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 \SpecialChar 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
\SpecialChar 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
.
See
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:VCS-Revision-Information"
\end_inset
for details.
\end_layout
\begin_layout Subsection
CVS commands in \SpecialChar LyX
\end_layout
\begin_layout Standard
A subset of CVS operations is supported by \SpecialChar 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 don'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 \SpecialChar 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
\SpecialChar 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 Noun
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 Noun
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
Register
\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 the 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 \SpecialChar 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 Noun
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
\family sans
Copy
\end_layout
\begin_layout Standard
This will create a copy of the current document.
Since CVS does not support copy operations natively, the version history
is not preserved, and the copy is added as a new file.
It requires a clean document without any changes since the last checkin.
You are asked for a file name and a description of the copy operation.
After that the copy is created, both locally and in the repository.
If the parent directories of the copied and original document differ, all
relative paths of included files of the copy are adjusted (like in
\family sans
File\SpecialChar menuseparator
Save As
\family default
\SpecialChar ldots
).
Finally, the copy is loaded instead of the original document.
\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
Copy
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
to
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
\begin_inset Quotes eld
\end_inset
<new-file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -q add
\family typewriter
\begin_inset Quotes eld
\end_inset
<new-file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Rename
\end_layout
\begin_layout Standard
This will rename the current document.
Since CVS does not support rename operations natively, the version history
is not preserved, the renamed document is added as a new file, and the
original document is deleted.
It requires a clean document without any changes since the last checkin.
You are asked for a file name and a description of the rename operation.
After that the document is renamed, both locally and in the repository.
If the parent directories of the new and old file names differ, all relative
paths of included files are adjusted (like in
\family sans
File\SpecialChar menuseparator
Save As
\family default
\SpecialChar ldots
).
Finally, the document is reloaded using the new name.
\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
Rename
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
to
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
\begin_inset Quotes eld
\end_inset
<new-file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -q add
\family typewriter
\begin_inset Quotes eld
\end_inset
<new-file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -q remove
\family typewriter
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\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.
\SpecialChar 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 Subsubsection
Revision info
\end_layout
\begin_layout Standard
\SpecialChar LyX
supports CVS version number, author name, date and time of last commit.
All those are extracted from
\family typewriter
cvs log -r <file-name>
\family default
.
See
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:VCS-Revision-Information"
\end_inset
for details.
\end_layout
\begin_layout Subsection
SVN commands in \SpecialChar LyX
\end_layout
\begin_layout Standard
SVN is now partially supported by \SpecialChar 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.
\SpecialChar LyX
was tested against SVN 1.5, 1.6, 1.7 and 1.8
\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 "subsec:SVN-Repo-Update"
\end_inset
.
There seems to be currently unresolved permissions problem under SVN 1.8
with reverting changes when file is locked.
\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
Register
\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
\family sans
Copy
\end_layout
\begin_layout Standard
This will create a copy of the current document including the version history.
It requires a clean document without any changes since the last checkin.
You are asked for a file name and a description of the copy operation.
After that the copy is created, both locally and in the repository.
If the parent directories of the copied and original document differ, all
relative paths of included files of the copy are adjusted (like in
\family sans
File\SpecialChar menuseparator
Save As
\family default
\SpecialChar ldots
).
Finally, the copy is loaded instead of the original document.
\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 copy -q
\family typewriter
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\begin_inset Quotes eld
\end_inset
<new-file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn commit
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Rename
\end_layout
\begin_layout Standard
This will rename the current document including the version history.
It requires a clean document without any changes since the last checkin.
You are asked for a file name and a description of the rename operation.
After that the document is renamed, both locally and in the repository.
If the parent directories of the new and old file names differ, all relative
paths of included files are adjusted (like in
\family sans
File\SpecialChar menuseparator
Save As
\family default
\SpecialChar ldots
).
Finally, the document is reloaded using the new name.
\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 move -q
\family typewriter
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\begin_inset Quotes eld
\end_inset
<new-file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn commit
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\begin_inset CommandInset label
LatexCommand label
name "subsec: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.
\SpecialChar 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 \SpecialChar 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 \SpecialChar 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
File\SpecialChar menuseparator
Version
\begin_inset space ~
\end_inset
Control\SpecialChar menuseparator
Toggle 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 "subsec: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
\SpecialChar 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">
<column alignment="center" valignment="top">
<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 \SpecialChar TeX
code
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
This is an easy way how to ensure that \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar 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 \SpecialChar LyX
itself will use.
\end_layout
\begin_layout Subsubsection
Bringing a document under Subversion control
\end_layout
\begin_layout Standard
Before a \SpecialChar 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 \SpecialChar 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 sans
TortoiseSVN\SpecialChar menuseparator
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 sans
Create folder
\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 \SpecialChar LyX
and click
\family sans
File\SpecialChar menuseparator
Version
\begin_inset space ~
\end_inset
Control\SpecialChar menuseparator
Register.
\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
File\SpecialChar menuseparator
Version
\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 an 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 an 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 an ssh client for Windows.
There are several possibilities, we will use the one from Putty tools
\begin_inset Foot
status collapsed
\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.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset Newline newline
\end_inset
\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, \SpecialChar LyX
will
use different line endings inside the .lyx files.
This is not a problem as far as \SpecialChar 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
GIT commands in \SpecialChar LyX
\end_layout
\begin_layout Standard
A minimal subset of GIT commands is now supported by \SpecialChar 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.
\SpecialChar LyX
was tested against GIT 1.7.
\begin_inset Foot
status open
\begin_layout Plain Layout
Windows users please note that you need to ensure that git is on the path.
This can be set from within \SpecialChar LyX
at
\family sans
Tools\SpecialChar menuseparator
Preferences\SpecialChar menuseparator
Paths\SpecialChar menuseparator
PATH prefix
\family default
.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
One big difference of GIT and the other supported version control systems
is the distributed nature of GIT: With traditional version control systems
there is one central server which hosts the repository.
Users commit their changes to the server, and get updates made by other
users from it.
With GIT, users commit to a local repository.
The local repository can be synchronized with one or more remote repositories
using the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
pull
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
push
\end_layout
\end_inset
GIT commands.
\SpecialChar LyX
does not interact in any way with remote GIT repositories.
It works exclusively with the local repository in a very similar way as
with a central CVS or SVN repository.
If you use remote GIT repositories you need to do the
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
pull
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
push
\end_layout
\end_inset
operations with your favourite GIT client.
\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 in GIT your document ONLY in case you have already
the documents directory under GIT control (in particular
\family typewriter
.git/index
\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
GIT command that is run:
\family typewriter
git add
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Standard
Read
\family typewriter
man git
\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
GIT command:
\family typewriter
git commit -q -m"<description>" <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
GIT command:
\family typewriter
git checkout -q
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Rename
\end_layout
\begin_layout Standard
This will rename the current document including the version history.
It requires a clean document without any changes since the last checkin.
You are asked for a file name and a description of the rename operation.
After that the document is renamed, both locally and in the repository.
If the parent directories of the new and old file names differ, all relative
paths of included files are adjusted (like in
\family sans
File\SpecialChar menuseparator
Save As
\family default
\SpecialChar ldots
).
Finally, the document is reloaded using the new name.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
GIT
\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
git mv
\family typewriter
\begin_inset Quotes eld
\end_inset
<file-name>
\begin_inset Quotes erd
\end_inset
\begin_inset Quotes eld
\end_inset
<new-file-name>
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
git commit
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Show History
\end_layout
\begin_layout Standard
This shows the complete history of the GIT document.
The output of
\family typewriter
git 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
Version Info
\end_layout
\begin_layout Standard
\SpecialChar LyX
supports GIT hash number of the last commit to the file, author name, date
and time of last commit.
All those are extracted from
\family typewriter
git log -n 1 --pretty=format:%H%n%an%n%ai
\family default
.
Tree version information is obtained via
\family typewriter
git describe --abbrev --dirty --long
\family default
.
See
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:VCS-Revision-Information"
\end_inset
for other details.
\end_layout
\begin_layout Subsection
Further tuning
\end_layout
\begin_layout Standard
With the recent addition of the vc-command function \SpecialChar 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 \SpecialChar LyX
files, which have more a complicated structure.
Hence we provide binding to the Document comparison feature.
There 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
\SpecialChar LyX
function (for details see \SpecialChar LyX
functions manual) or by icon/menu item
\begin_inset Flex Noun
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 Noun
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'.
We don't currently support GIT addressing of revisions, one can just compare
edited document with its revision X steps backs, where X is addressed as
HEAD~X.
\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 \SpecialChar 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 \SpecialChar LyX
itself to a point that you
are comfortable changing your \SpecialChar LyX
preferences, and X resources file.
If that is not the case please refer to other \SpecialChar 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 \SpecialChar 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 \SpecialChar LaTeX
or HTML.
\end_layout
\begin_layout Itemize
It has a open architecture, i.
\begin_inset space \thinspace{}
\end_inset
e.
\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
\SpecialChar LyX
and Literate Programming with Noweb
\end_layout
\begin_layout Standard
The \SpecialChar LyX
support for Literate Programming is provided by using the generic \SpecialChar 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
e.
\begin_inset space \space{}
\end_inset
you will be able to use this new \SpecialChar LyX
feature with some other literate programming
tool of your choice by just changing your \SpecialChar LyX
preferences.
\end_layout
\begin_layout Subsubsection
Generating documents and code (weaving and tangling)
\end_layout
\begin_layout Paragraph
Using the noweb module
\end_layout
\begin_layout Standard
If you have installed Noweb and \SpecialChar LyX
successfully, whenever you open a new document,
after you have chosen its document class, use the Document->Settings menu
to add the
\begin_inset Quotes eld
\end_inset
noweb
\begin_inset Quotes erd
\end_inset
module.
If Noweb is correctly installed, when you click on the
\begin_inset Quotes eld
\end_inset
Modules
\begin_inset Quotes erd
\end_inset
link, you will see the
\begin_inset Quotes eld
\end_inset
noweb
\begin_inset Quotes erd
\end_inset
module in the available list and you can add it to your document.
\end_layout
\begin_layout Paragraph
Typing code in
\end_layout
\begin_layout Standard
\SpecialChar LyX
enables you to write code with a layout named
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Chunk
\end_layout
\end_inset
.
Noweb delimits chunks like this:
\end_layout
\begin_layout LyX-Code
<<My code>>=
\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
e.
\begin_inset space \space{}
\end_inset
\SpecialChar LyX
should be prevented from making any special interpretation of what has
been written.
This is also handled by
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Chunk
\end_layout
\end_inset
, that works like a normal paragraph but has a free spacing capability.
\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 chunks to add items to Noweb's identifier cross-refe
rence:
\end_layout
\begin_layout LyX-Code
<<My chunk>>=
\end_layout
\begin_layout LyX-Code
def some_function(args):
\end_layout
\begin_layout LyX-Code
"This is the doc string for this function."
\end_layout
\begin_layout LyX-Code
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 \SpecialChar LyX
:
\end_layout
\begin_layout Enumerate
When the
\family sans
Update\SpecialChar menuseparator
DVI
\family default
menu option is chosen, a \SpecialChar 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 \SpecialChar LyX
.
Given that you formatted the code using the
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
Chunk
\end_layout
\end_inset
layout that, by itself, takes care of the business.
\end_layout
\begin_layout Enumerate
If the document is of any literate class \SpecialChar LyX
will then use the internal \SpecialChar LyX
to
Noweb converter, followed by the Noweb to \SpecialChar 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 \SpecialChar LaTeX
file.
\end_layout
\begin_deeper
\begin_layout Standard
Otherwise it will just skip this step.
\end_layout
\end_deeper
\begin_layout Enumerate
Finally, \SpecialChar 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 \SpecialChar LaTeX
file is generated just like step 1 above.
Next, \SpecialChar 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 \SpecialChar LyX
understands.
This makes it possible for \SpecialChar 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 Newline newline
\end_inset
\begin_inset Quotes eld
\end_inset
\family typewriter
build-script $$i
\family default
$$r
\begin_inset Quotes erd
\end_inset
.
\begin_inset Newline newline
\end_inset
This basically means that \SpecialChar 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 \SpecialChar LyX
temp directory) and the directory path of the original \SpecialChar LyX
file.
\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 Standard
\begin_inset VSpace defskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Newpage pagebreak
\end_inset
\end_layout
\begin_layout Standard
\family sans
#!/bin/sh
\end_layout
\begin_layout Standard
\family sans
#
\end_layout
\begin_layout Standard
\family sans
notangle -Rbuild-script $1 | env NOWEB_SOURCE=$1 NOWEB_OUTPUT_DIR=$2 sh
\end_layout
\begin_layout Standard
\begin_inset VSpace defskip
\end_inset
\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 Newline newline
\end_inset
\begin_inset Quotes eld
\end_inset
\family typewriter
parselog=$$s/scripts/listerrors
\family default
\begin_inset Quotes erd
\end_inset
.
\begin_inset Newline newline
\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 build will normally take place in \SpecialChar LyX
's temporary directory, so the files
produced by the conversion will be in that directory.
\SpecialChar 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 \SpecialChar LyX
was closed.
This is why we pass in the NOWEB_OUTPUT_DIR environment variable so that
the build-script chunk can place the generated files in that location.
\end_layout
\begin_layout Paragraph
Build instructions in the document
\end_layout
\begin_layout Standard
The last piece of the integration between \SpecialChar LyX
and noweb is the
\begin_inset Quotes eld
\end_inset
build-script
\begin_inset Quotes erd
\end_inset
chunk.
Generally, the instructions for building your program should be embedded
in a chunk 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 chunk (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 chunk would look something like this:
\end_layout
\begin_layout LyX-Code
<<build-script>>=
\end_layout
\begin_layout LyX-Code
#!/bin/sh
\begin_inset Newline newline
\end_inset
if [ -z "${NOWEB_SOURCE}" ]
\begin_inset Newline newline
\end_inset
then
\end_layout
\begin_layout LyX-Code
NOWEB_SOURCE=myfile.nw
\begin_inset Newline newline
\end_inset
fi
\begin_inset Newline newline
\end_inset
[...
code to extract files ...
use NOWEB_OUTPUT_DIR here ...]
\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
\SpecialChar LyX
literate programming support since they are written in Python, C and Perl
respectively.
\end_layout
\begin_layout Subsubsection
Configuring \SpecialChar 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
File Handling
\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
NoWeb
\begin_inset Quotes erd
\end_inset
\begin_inset space ~
\end_inset
format Set up via the File 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 \SpecialChar 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
\SpecialChar 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
$$r
\begin_inset Quotes erd
\end_inset
, with Flags set to
\begin_inset Newline newline
\end_inset
\begin_inset Quotes eld
\end_inset
\family typewriter
parselog=$$s/scripts/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 \SpecialChar 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 newly created \SpecialChar 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 Standard
\begin_inset VSpace defskip
\end_inset
\end_layout
\begin_layout Standard
\family sans
echo "LYXCMD:monitor:server-goto-file-row:@FILE@ @LINE@" >~/.lyxpipe.in
\end_layout
\begin_layout Standard
\begin_inset VSpace defskip
\end_inset
\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 will forward this information to \SpecialChar LyX
through the \SpecialChar LyX
server and then the
\SpecialChar 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 \SpecialChar 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
\SpecialChar LyX
server 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 \SpecialChar 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 \SpecialChar LyX
toolbar.
Five of these buttons are short cuts to layout styles:
\family sans
Standard
\family default
,
\family sans
Section
\family default
,
\family sans
\SpecialChar LaTeX
\family default
,
\family sans
\SpecialChar LyX
-Code
\family default
, and
\family sans
Chunk
\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
\SpecialChar 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
Document
\family default
\SpecialChar menuseparator
\family sans
Update
\family default
\SpecialChar menuseparator
\family sans
DVI
\family default
and the other for
\family sans
Document\SpecialChar menuseparator
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 \SpecialChar LaTeX
"
\end_layout
\begin_layout LyX-Code
Icon "layout \SpecialChar LyX
-Code"
\end_layout
\begin_layout LyX-Code
Icon "layout Chunk"
\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 \SpecialChar LyX
that can be customized in
\family sans
Preferences
\family default
.
One of the things that bothers people is the \SpecialChar LaTeX
font color.
The default color is red, since the chunks uses \SpecialChar LaTeX
font, and there is a lot
of chunks 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 Subsection
\SpecialChar LyX
and knitr/Sweave
\end_layout
\begin_layout Standard
Support for
\family sans
knitr
\family default
and
\family sans
Sweave
\family default
is documented in the
\emph on
knitr.lyx
\emph default
example file and in the Sweave manual (menu
\family sans
Help\SpecialChar menuseparator
Specific Manuals
\family default
).
\end_layout
\begin_layout Chapter
Special features
\end_layout
\begin_layout Standard
You can do everything with \SpecialChar LyX
that you can do with \SpecialChar LaTeX
.
However, \SpecialChar LyX
cannot support every \SpecialChar LaTeX
feature directly.
But you can always use \SpecialChar 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
Embedded
\begin_inset space ~
\end_inset
Objects
\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 \SpecialChar LaTeX
-package
\series bold
multicol
\series default
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
\begin_inset space ~
\end_inset
columns in your text, insert a multicolumn inset via the menu
\family sans
Insert\SpecialChar menuseparator
Custom
\begin_inset space ~
\end_inset
Insets\SpecialChar menuseparator
Multiple
\begin_inset space ~
\end_inset
Columns
\family default
where the columns should start.
Write all text that should be printed in 2
\begin_inset space ~
\end_inset
columns into this inset.
\end_layout
\begin_layout Standard
Here is an example:
\end_layout
\begin_layout Standard
\noindent
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\noindent
\series bold
\size small
The Adventure of the Empty House
\series default
\begin_inset Newline newline
\end_inset
by Sir Arthur Conan Doyle
\end_layout
\begin_layout Plain Layout
\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
\end_inset
\end_layout
\begin_layout Standard
To get 3 or more columns, set the cursor into the multicolumn inset and
use the menu
\family sans
Insert\SpecialChar menuseparator
Number
\begin_inset space ~
\end_inset
of
\begin_inset space ~
\end_inset
Columns
\family default
.
The number of the desired columns is written into that inset (for 3
\begin_inset space ~
\end_inset
columns write
\begin_inset Quotes eld
\end_inset
3
\begin_inset Quotes erd
\end_inset
).
\begin_inset Newline newline
\end_inset
Here is an example with 3
\begin_inset space ~
\end_inset
columns:
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\size footnotesize
\begin_inset Argument 1
status open
\begin_layout Plain Layout
3
\end_layout
\end_inset
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
\end_inset
\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 Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\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 Plain Layout
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\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
\end_inset
\end_layout
\begin_layout Plain Layout
\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
\end_inset
\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 \SpecialChar LaTeX
-package
\series bold
multicol
\series default
,
\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, set the cursor into the multicolumn
inset and use the menu
\family sans
Insert\SpecialChar menuseparator
Preface
\family default
.
Write your preface text into that inset.
\begin_inset Newline newline
\end_inset
This is an example with some preface text:
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\begin_inset Argument 2
status open
\begin_layout Plain Layout
And the story continues and continues and continues and continues\SpecialChar ldots
\end_layout
\end_inset
\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
\end_inset
\end_layout
\begin_layout Standard
You can also use a section heading as the preface if you use a section command
as \SpecialChar 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 Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\begin_inset Argument 2
status open
\begin_layout Plain Layout
\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
\end_layout
\end_inset
\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
\end_inset
\end_layout
\begin_layout Standard
If there is less vertical space than 6
\begin_inset space ~
\end_inset
text lines is left on the page at the beginning of the multiple columns,
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 space.
This is done by setting the cursor into the mulitcolumn inset behind the
preface (if there is any) and using the menu
\family sans
Insert\SpecialChar menuseparator
Space
\begin_inset space ~
\end_inset
Before
\begin_inset space ~
\end_inset
Page
\begin_inset space ~
\end_inset
Break
\family default
.
Insert into that inset the amount of space like e.
\begin_inset space \thinspace{}
\end_inset
g.
\begin_inset space \space{}
\end_inset
\begin_inset Quotes eld
\end_inset
5cm
\begin_inset Quotes erd
\end_inset
.
\begin_inset Newline newline
\end_inset
In this example the space is set to 7
\begin_inset space ~
\end_inset
text lines by using
\begin_inset Quotes eld
\end_inset
7
\backslash
baselineskip
\begin_inset Quotes erd
\end_inset
(where the command
\series bold
\backslash
baselineskip
\series default
needs to be inserted as \SpecialChar TeX
code):
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\begin_inset Argument 3
status open
\begin_layout Plain Layout
7
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
baselineskip
\end_layout
\end_inset
\end_layout
\end_inset
\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
\end_inset
\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 \SpecialChar 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 Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\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
\end_inset
\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 you 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 Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Subsubsection
Column Breaks
\end_layout
\begin_layout Standard
A column break can be forced by inserting the command
\series bold
\backslash
columnbreak{}
\series default
as \SpecialChar TeX
Code to that position in the text where the column should be broken.
Note that this leads in most cases to whitespace in the text.
\begin_inset Newline newline
\end_inset
Here is an example:
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\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 Plain Layout
\size small
I acknowledged that I was.
\end_layout
\begin_layout Plain Layout
\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 Plain Layout
\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
AFTER THIS SENTENCE THE COLUMN BREAK IS FORCED.
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
columnbreak{}
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\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
\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 Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\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
\end_inset
\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 rule 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 Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\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 Plain Layout
\size small
I acknowledged that I was.
\end_layout
\begin_layout Plain Layout
\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 Plain Layout
\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 Plain Layout
\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
\end_inset
\end_layout
\begin_layout Standard
\begin_inset VSpace defskip
\end_inset
\end_layout
\begin_layout Standard
The rule can be colored by redefining the command
\series bold
\backslash
columnseprulecolor
\series default
.
This is done by inserting the command
\begin_inset Newline newline
\end_inset
\series bold
\backslash
renewcommand{
\backslash
columnseprulecolor}{
\backslash
color{red}}
\series default
\begin_inset Newline newline
\end_inset
as \SpecialChar TeX
Code before the multicolumn inset.
Replace
\series bold
red
\series default
in this command by a color of your choice.
You can use all pre- and self-defined colors.
See the
\emph on
EmbeddedObjects
\emph default
manual, section
\emph on
Colored
\begin_inset space ~
\end_inset
Tables
\emph default
for more information about pre- and self-defined colors.
To go back to the default color insert the command
\begin_inset Newline newline
\end_inset
\series bold
\backslash
renewcommand{
\backslash
columnseprulecolor}{
\backslash
normalcolor}
\series default
\begin_inset Newline newline
\end_inset
Here is the example with a cyan rule and 1
\begin_inset space \thinspace{}
\end_inset
cm column separation:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnsep}{1cm}
\end_layout
\begin_layout Plain Layout
\backslash
renewcommand{
\backslash
columnseprulecolor}{
\backslash
color{cyan}}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\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 Plain Layout
\size small
I acknowledged that I was.
\end_layout
\begin_layout Plain Layout
\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 Plain Layout
\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 Plain Layout
\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
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnseprule}{0pt}
\end_layout
\begin_layout Plain Layout
\backslash
renewcommand{
\backslash
columnseprulecolor}{
\backslash
normalcolor}
\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 Section
Non-standard Paragraph Shapes
\end_layout
\begin_layout Standard
\noindent
\SpecialChar LaTeX
as well as any other text processor uses by default rectangular paragraphs.
For special cases like for example posters, invitation cards or poems you
can modify the paragraph shape to one of your choice.
This can be done by using the \SpecialChar LaTeX
-package
\series bold
shapepar
\series default
which is loaded by using in the document settings the module
\family sans
Custom paragraph shapes
\family default
.
\end_layout
\begin_layout Subsection
Predefined shapes
\end_layout
\begin_layout Standard
\series bold
shapepar
\series default
provides the following shapes:
\end_layout
\begin_layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="13" columns="3">
<features booktabs="true" islongtable="true" longtabularalignment="center">
<column alignment="center" valignment="middle" width="16col%">
<column alignment="center" valignment="middle" width="40col%">
<column alignment="center" valignment="middle" width="35col%">
<row endhead="true">
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Name
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Description
\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
Annotation
\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
CDlabel
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Circle with circular hole (in the size of a CD/DVD)
\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
Cannot be scaled, take care there is not too much text
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" topline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Circle
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Circle
\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
Fragile, calculation might fail
\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
Diamond
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Rhomboid (symbolizing a
\begin_inset Quotes eld
\end_inset
diamond
\begin_inset Quotes erd
\end_inset
)
\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
-
\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
Heart
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Heart-like shape
\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
-
\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
Hexagon
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Hexagon
\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
-
\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
Nut
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Nut for bolt (hexagon with circular hole)
\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
-
\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
Square
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Square
\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
-
\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
Star
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Five-point star
\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
-
\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
Candle
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Burning candle
\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
-
\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
Drop down/up
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Normal/reversed rain drop
\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
Fragile, calculation might fail
\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
\SpecialChar TeX
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
The \SpecialChar TeX
logo
\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
-
\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
Triangle up/down/
\begin_inset Newline newline
\end_inset
left/right
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
Triangles in different orientations
\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
-
\end_layout
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\end_layout
\begin_layout Standard
To use a shape for your paragraph, simply select it in \SpecialChar LyX
's pull-down box
for environments in the toolbar.
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Standard
Here is an example paragraph in the shape of a nut:
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Nut
\lang latin
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Note Greyedout
status open
\begin_layout Plain Layout
\series bold
Note
\series default
: shapepar paragraphs cannot run over a page break.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\series bold
shapepar
\series default
takes care that the shape will always be preserved, no matter how much
text is in the paragraph.
Therefore the paragraph size changes with the amount of contained text.
This can lead to paragraph sizes exceeding the page margins.
To demonstrate the size scaling, here is the same example paragraph but
with twice as much text:
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Nut
\lang latin
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
An exception is the shape
\family sans
CDlabel
\family default
.
It cannot be scaled because it must fit the size of a CD/DVD.
Therefore the amount of text that fits into the shape is limited.
\begin_inset Newline newline
\end_inset
The
\family sans
drop
\family default
shapes and the
\family sans
circle
\family default
shape are fragile, meaning that the calculation of their size can fail,
depending on the amount of text.
You will then get the \SpecialChar LaTeX
error
\begin_inset Quotes eld
\end_inset
Arithmetic overflow
\begin_inset Quotes erd
\end_inset
.
In this case one can try to remove or add some text; if nothing works one
has to use another shape.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
For shapes with tips you will maybe see that \SpecialChar LaTeX
's hyphenation routine fails
for text in the tips.
Therefore it is often necessary to add hyphenation points
\family sans
(
\begin_inset Info
type "shortcut"
arg "specialchar-insert hyphenation"
\end_inset
\family default
) to the corresponding text parts.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
Shapepar paragraphs are either always centered or placed on the page so
that their left border touches the left page margin.
You can therefore not use the paragraph dialog to align such paragraphs.
A solution is to put the paragraph into a minipage or parbox and align
the box.
The problem is hereby to find the right width for the box.
Because if it is too wide and you center the box, the paragraph is not
centered too because it sticks at the left side of the box.
So you might have to play a bit with the width until it fits.
Here are two heart-shaped paragraphs, the first one is not aligned, the
second one is right-aligned:
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Heart
\noindent
\lang latin
Lo\SpecialChar softhyphen
rem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
sit amet.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\noindent
\align right
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 1
use_makebox 0
width "42col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Heart
\noindent
\lang latin
Lo\SpecialChar softhyphen
rem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
sit amet.
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Custom shapes
\end_layout
\begin_layout Standard
You can define any shape you want.
Doing this manually is a lot of work because every coordinate must be specified.
But there is a way to let the computer calculate the coordinates:
\end_layout
\begin_layout Enumerate
Install the program
\begin_inset CommandInset href
LatexCommand href
name "Jpgfdraw"
target "http://www.ctan.org/tex-archive/graphics/jpgfdraw"
\end_inset
.
\end_layout
\begin_layout Enumerate
In
\family sans
Jpgfdraw
\family default
go to the menu
\family sans
TeX/LaTeX\SpecialChar menuseparator
Settings\SpecialChar menuseparator
Set Normal Size
\family default
and select the font size you are using in your document.
For example this document uses the size 12
\begin_inset space \thinspace{}
\end_inset
pt.
\end_layout
\begin_layout Enumerate
Draw a shape.
\end_layout
\begin_layout Enumerate
Use the menu
\family sans
TeX/LaTeX\SpecialChar menuseparator
Shapepar
\family default
to export the shape to coordinates.
In the appearing dialog use either the outline of your shape for the coordinate
s or the path itself.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
For more information see
\begin_inset CommandInset href
LatexCommand href
target "http://www.dickimaw-books.com/apps/jpgfdraw/manual/shapepar.html"
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
The coordinates are written into a \SpecialChar TeX
file.
To use it for your \SpecialChar LyX
document
\end_layout
\begin_layout Enumerate
Place the cursor before the first character of your paragraph (or into a
new empty one).
\end_layout
\begin_layout Enumerate
Open in \SpecialChar LyX
the menu
\family sans
Insert\SpecialChar menuseparator
File\SpecialChar menuseparator
Child
\begin_inset space ~
\end_inset
Document
\family default
, select the file and use
\family sans
Input
\family default
as
\family sans
Include Type.
\end_layout
\begin_layout Standard
\begin_inset VSpace defskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Note Greyedout
status open
\begin_layout Plain Layout
\series bold
Note
\series default
: The changed shape only applies to the current paragraph; everything is
reset to normal for the next paragraph.
Therefore the shape definition file must be input into every paragraph
with the desired shape.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
Here is an example:
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset include
LatexCommand input
filename "SpecialParagraphShape.tex"
\end_inset
\lang latin
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\series bold
A tip:
\series default
to draw complexer shapes in
\family sans
Jpgfdraw
\family default
you can draw the shape in a program of your choice and import the resulting
image to
\family sans
Jpgfdraw
\family default
.
Then you only need to draw a line or spline along the outline of the image.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
The module
\family sans
Custom paragraph shapes
\family default
also provides the two commands
\family sans
shapepar
\family default
and
\family sans
Shapepar
\family default
which can be used to define custom shapes coordinate by coordinate.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
These commands are internally used for all shapes described here.
\end_layout
\end_inset
For information how these styles are used and about further customization
possibilities, have a look at the documentation of the package
\series bold
shapepar
\series default
,
\begin_inset CommandInset citation
LatexCommand cite
key "shapepar"
\end_inset
.
\end_layout
\begin_layout Bibliography
\begin_inset CommandInset bibitem
LatexCommand bibitem
key "multicol"
\end_inset
Documentation of the \SpecialChar LaTeX
-package
\begin_inset CommandInset href
LatexCommand href
name "multicol"
target "http://mirror.ctan.org/macros/latex/required/tools/multicol.pdf"
\end_inset
\end_layout
\begin_layout Bibliography
\begin_inset CommandInset bibitem
LatexCommand bibitem
key "shapepar"
\end_inset
Documentation of the \SpecialChar LaTeX
-package
\begin_inset CommandInset href
LatexCommand href
name "shapepar"
target "http://mirrors.ctan.org/macros/latex/contrib/shapepar/shapepar.pdf"
\end_inset
\end_layout
\end_body
\end_document