-#LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
-\lyxformat 370
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
\begin_document
\begin_header
\textclass scrbook
theorems-ams
theorems-ams-extended
\end_modules
+\maintain_unincluded_children false
\begin_local_layout
Format 7
InsetLayout CharStyle:MenuItem
End
\end_local_layout
\language english
+\language_package default
\inputencoding latin1
+\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
-\use_xetex false
+\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\graphics default
\default_output_format default
+\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize 12
\use_geometry false
\use_amsmath 0
\use_esint 0
+\use_mhchem 1
+\use_mathdots 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
+\use_refstyle 0
\index Index
\shortcut idx
\color #008000
\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
.
If you have comments or error corrections, please send them to the LyX
Documentation mailing list,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\emph default
is already quite lengthy, and it contains information on all of the basic
features one needs to know in order to prepare most documents.
- However, the LyX Team has worked to LyX extensible through various configuratio
-n files and external packages.
+ However, the LyX Team has worked to make LyX extensible through various
+ configuration files and external packages.
That means that if you want to support the Fizzwizzle LaTeX package, you
can create a layout file (or module) for it without having to alter LyX
itself.
- We've already had contributions of several new features this way.
- This is the place where all of those get documented.
+ 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.
- Lastly, there's a chapter of LaTeX tools and tips, things you can use to
- spruce up your documents by directly using the powerful features of LaTeX.
+ There is also a chapter on LyX's support for HTML.
+ And lastly, there's a chapter of LaTeX tools and tips, things you can use
+ to spruce up your documents by directly using the powerful features of
+ LaTeX.
After all, LyX
\emph on
is
\end_layout
\begin_layout Standard
-Since all the topics in this manual depend heavily on LyX's interaction
+Since many of the topics in this manual depend heavily on LyX's interaction
with LaTeX, this first chapter covers the inner workings of LyX and how
to direct LyX to generate exactly the LaTeX code you want.
It is obviously for more seasoned LyX users.
For one thing, you don't need to know LaTeX to use LyX effectively.
And LyX has added its own extensions to LaTeX.
Try the following sometime: select
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
from the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
menu (or
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
), then look at the preamble of the resulting
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Enumerate
Convert the document to LaTeX and save to a file with the extension
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
in place of
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Enumerate
Run LaTeX on the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
file (maybe several times), and run any other commands (such as
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
or
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
If you've run LaTeX using
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
, LyX then runs a DVI viewer to display the DVI-file.
If you've used
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Itemize
Run
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Itemize
Run a PostScript viewer, such as
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
You can import a LaTeX file into LyX by using the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
command in LyX.
This will call a program named
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
which will create a file
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
from the file
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
status collapsed
\begin_layout Plain Layout
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Standard
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
will translate most legal LaTeX, but not everything.
It will put things it doesn't understand into TeX code, so after translating
a file with
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LyX cannot, and will never be able to, display every possible LaTeX construct.
If ever you need to insert LaTeX commands into your LyX document, you can
use the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
box, which you can insert into your document with
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
The
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
In addition to using TeX code, you can also create a separate file containing
some complex LaTeX structure and then use
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
to include your file (you should select the type
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
).
We recommend that you only do this if you have a
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LaTeX packages provide special commands, which are only available within
a document when the package has been declared in the preamble.
For example, the package
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Itemize
Declare user defined commands (with
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
or
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
LyX adds its own set of definitions to the preamble of the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
The commands which LyX adds to the preamble of a LaTeX file are fixed; you
can't change them without patching LyX itself.
You can, however, add your own stuff to the preamble by selecting
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
in the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
dialog.
LyX adds anything in the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
There are two variables under LaTeX that control page position:
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
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 CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
The default values for
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_inset space \thinspace{}
\end_inset
-g.
+e.
\begin_inset space \space{}
\end_inset
We have no idea why, or why the sysadmin hasn't fixed such behavior.
If you're using LyX on a system that you don't personally maintain, and
your sysadmin is a doofus,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
can save the day.
- Suppose you're left and top margins are always 0.5
+ Suppose your left and top margins are always 0.5
\begin_inset space \thinspace{}
\end_inset
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 CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
First, make sure you're using the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
This sets things up for Avery label sheets, stock #5360.
You're now ready to print labels, but you'll need to insert LaTeX code,
placing the commands
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
around each label text.
This and other special features of
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
Some folks also like to look at the log file directly: It is available from
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Plain Layout
You can also enable the `draft' option in
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
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 CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
command, then one of the packages LyX tried to load is missing.
Use
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
to get a list of packages that LyX knows about.
This file is updated whenever you reconfigure LyX (using
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
If you did use the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
misuse
\emph default
any of them, like trying to manually insert lots of
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
, or
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
spacing it will add in order to break a line.
Preferably, you should rework the paragraph to avoid the problem.
If this isn't an option, you can wrap your text in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Standard
-The basics how to use BibTeX are explained in section
+The most basic information about how to use BibTeX with LyX is contained
+ in the section
\emph on
Bibliography databases (BibTeX)
\emph default
).
LyX supports two packages that provide this style,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
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 CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
, than the established
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
package is probably your choice.
If you need special features like short title references, ibidem etc., you
might consider the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
The handling of both packages in LyX is basically the same.
Go to
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
and select under
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
the option
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
or
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
for
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
Go to
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
and check under
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
the option
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
Now you can insert multiple BibTeX bibliographies, one for each section
of your bibliography.
Returning to our example: Insert the BibTeX bibliography
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and a second one for the database
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.
The titles for the sections can be added as ordinary sections or subsections.
Since
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
a bibliography for each section or chapter of the document, are not supported
by BibTeX itself.
But the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
package, which is used for the creation of sectioned bibliographies in
LyX (see the previous section), provides an easy way to solve this task,
if you are willing to use some
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Plain Layout
An alternative approach is to use the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
or
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
First go to
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
and under
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
check
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
In the document, you have to enclose the sections, which shall contain
their own bibliography (including the BibTeX bibliography itself), between
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
(those commands have to be inserted as TeX code).
The bibliography will contain all references which have been cited in the
current
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\series default
If you are using this approach, then every citation reference has to be
inside some
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.
Also, the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
everything up to and including the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
line as well as the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
LyX allows you to include files quite easily with
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
in
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Normally, spaces in this file are invisible, though two consecutive spaces
are conserved, unlike LyX's normal treatment of spaces.
However, setting the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
has_inner_box 1
inner_pos "t"
use_parbox 0
+use_makebox 0
width "100col%"
special "none"
height "1in"
has_inner_box 1
inner_pos "t"
use_parbox 0
+use_makebox 0
width "100col%"
special "none"
height "1in"
Copy the bibliography list with all entries to all subdocuments and transform
them to a comment.
This way LyX will find the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
As the bibliography list is in a comment, LaTeX won't use use it and the
references will look like this: [?], instead of like this: [1].
One solution is to use the LaTeX-package
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
The default page layout is rather plain; for an
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
For more information on fancy headers, see the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
package documentation.
- This can be found in the file
-\begin_inset Flex CharStyle:Code
+ (
+\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
-fancyhdr.dvi
-\end_layout
-
-\end_inset
-, which should have been installed with your LaTeX distribution, or
-\begin_inset CommandInset href
-LatexCommand href
-name "online"
-target "http://www.ctan.org/tex-archive/macros/latex/contrib/fancyhdr/"
+http://www.ctan.org/tex-archive/help/Catalogue/entries/fancyhdr.html
+\end_layout
\end_inset
-.
+)
\end_layout
\begin_layout Standard
.
The footer is also divided into these three fields.
The LaTeX commands to set these fields in the simplest manner are
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
The commands
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
access LaTeX's section and page counters, and so print out the current
section and page numbers.
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family default
like
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
You can switch the header/footer settings on and off for individual pages
using commands like
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
, and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
\noindent
(you may need to preface this with
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
Open the dialog by selecting the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
menu item and then select the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Itemize
Use the LaTeX command
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Specify each individual entry by starting each item with the bullet shape
enclosed in square brackets and set as
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
.
For example, this item was started with
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Chapter
-The LyX Server
+LyX and the World Wide Web
\end_layout
-\begin_layout Section
-Introduction
+\begin_layout Standard
+LyX has long supported the export of documents to various web-friendly formats,
+ such as HTML.
+ Before verson 2.0, however, HTML export was always accomplished by the use
+ of external converters.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+For details on the use of external converters with LyX, see the
+\emph on
+Converters
+\emph default
+ section of the Customization manual.
\end_layout
-\begin_layout Standard
-The `LyX server' allows other programs to talk to LyX, invoke LyX commands,
- and retrieve information about the LyX internal state.
- This is only intended for advanced users, but they should find it useful.
- It is by writing to the LyX server, for example, that bibliography managers,
- such as JabRef, are able to
-\begin_inset Quotes eld
\end_inset
-push
-\begin_inset Quotes erd
-\end_inset
+ These fall into two large groups: there are converters that use LaTeX as
+ an intermediate format, such as
+\begin_inset Flex Code
+status collapsed
- citations to LyX.
+\begin_layout Plain Layout
+htlatex
\end_layout
-\begin_layout Section
-Starting the LyX Server
-\end_layout
+\end_inset
-\begin_layout Standard
-The LyX server works through the use of a pair of named pipes.
- These are usually located in
-\begin_inset Flex CharStyle:Code
+,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-UserDir
+html2latex
\end_layout
\end_inset
-
-\begin_inset Foot
+, and
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-On Windows,
-\emph on
-local
-\emph default
- named pipes are special objects located in
-\begin_inset Flex CharStyle:Code
-status collapsed
+plastex
+\end_layout
-\begin_layout Plain Layout
+\end_inset
-\backslash
+, relying upon LyX to produce the LaTeX; and there is a converter that works
+ directly on LyX files,
+\begin_inset Flex Code
+status collapsed
-\backslash
-.
-\backslash
-pipe
+\begin_layout Plain Layout
+eLyXer
\end_layout
\end_inset
.
+ All of these have different advantages and disadvantages.
+
\end_layout
-\end_inset
+\begin_layout Standard
+The LaTeX-based converters have the advantage that, in principle, they know
+ everything about the exported document that LaTeX does.
+ Such converters do not care, for example, if a certain block of code was
+ produced by LyX or was Evil Red Text.
+ These converters know about
+\begin_inset Flex Code
+status collapsed
- and have the names
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Plain Layout
+aux
+\end_layout
+\end_inset
-\begin_inset Flex CharStyle:Code
+ files, counters, and references, and can often make use of the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-lyxpipe.in
+bbl
\end_layout
\end_inset
+ files generated by BibTeX.
+ On the other hand, LaTeX is a very hard language to parse---it is sometimes
+ said that only TeX itself understands TeX---and LaTeX-based converters
+ will often choke on what seem to be quite simple constructs; complex ones
+ can throw them completely, and as of this writing, for example, the
+\emph on
+Embedded Objects
+\emph default
+ manual will not export with
+\begin_inset Flex Code
+status collapsed
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+htlatex
+\end_layout
- and
-\begin_inset Quotes eld
\end_inset
+, though the others will.
+ The other issue concerns how math is handled.
+ These converters typically convert the formulae into little pictures that
+ are then linked from the HTML document.
+ Since these are actually generated by LaTeX, they are accurate.
+ But they do not scale well, and just getting them to look as if they are
+ actually meant to be in your document---so that the font sizes seem to
+ be roughly the same---can be a challenge.
+\end_layout
-\begin_inset Flex CharStyle:Code
+\begin_layout Standard
+Alex Fernandez's
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-lyxpipe.out
+eLyXer
\end_layout
\end_inset
+ (
+\begin_inset CommandInset href
+LatexCommand href
+name "http://elyxer.nongnu.org/"
+target "http://elyxer.nongnu.org/"
-\begin_inset Quotes erd
\end_inset
-.
- External programs write into
-\begin_inset Flex CharStyle:Code
+) 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
-lyxpipe.in
+htlatex
\end_layout
\end_inset
- and read back data from
-\begin_inset Flex CharStyle:Code
+; this reflects the limitations of HTML.
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-lyxpipe.out
+That said,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+eLyXer
\end_layout
\end_inset
-.
- The stem of the pipe names can be defined in the
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Preferences
+ 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
- dialog, for example
-\begin_inset Flex CharStyle:Code
+ More importantly (as of version 1.1.1, at least),
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-"/home/myhome/lyxpipe"
+eLyXer
\end_layout
\end_inset
-, or
-\begin_inset Flex CharStyle:Code
+ 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
-"
-\backslash
-
-\backslash
-.
-\backslash
-pipe
-\backslash
-lyxpipe"
+eLyXer
\end_layout
\end_inset
- on Windows.
- You
-\emph on
-must
-\emph default
- configure this manually in order for the server to start.
+ unsuitable for many of the documents LyX users produce.
+ In principle, of course, these problems could be solved, but the LyX developers
+ have decided to follow a different path and have made LyX itself capable
+ of writing XHTML, just as it is capable of writing LaTeX, DocBook, and
+ plaintext.
\end_layout
\begin_layout Standard
-LyX will add the '
-\begin_inset Flex CharStyle:Code
+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
-.in
+The file
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+development/HTML.notes
\end_layout
\end_inset
-' and '
-\begin_inset Flex CharStyle:Code
+, which can be found in the LyX source tree or
+\begin_inset CommandInset href
+LatexCommand href
+name "accessed online"
+target "http://www.lyx.org/trac/browser/lyx-devel/trunk/development/HTML/HTML.notes"
+
+\end_inset
+
+, usually contains up-to-date information about the state of XHTML output.
+ See also the list of XHTML bugs on
+\begin_inset CommandInset href
+LatexCommand href
+name "the bug tracker"
+target "http://www.lyx.org/trac/query?status=reopened&status=assigned&status=new&max=0&component=xhtml+export&order=id&col=id&col=summary&col=reporter&col=keywords&keywords=%21%7Efixedintrunk&desc=1"
+
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
+ Still, the developers have chosen this approach because it has several
+ potential advantages over the other two.
+\end_layout
+
+\begin_layout Standard
+These advantages are primarily due to the fact that the XHTML output routines,
+ since they are part of LyX, know everything LyX knows about the document
+ being exported.
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
-.out
+Another advantage is that, since these routines are internal to LyX, they
+ are immune to changes in LyX's file format, or to changes in the semantics
+ of existing insets.
\end_layout
\end_inset
-' to create the pipes.
- If one of the pipes already exists, LyX will assume that another LyX process
- is already running and will not start the server.
- On POSIX (Unix like) systems, if for some other reason, an unused
+ So they know about the table of contents (as displayed in the outline),
+ about the counters associated with different paragraph styles, and about
+ user-defined styles.
+ The XHTML output routines know what LyX knows about internationalization,
+ too, so they will output
\begin_inset Quotes eld
\end_inset
-stale
+Chapter 1
\begin_inset Quotes erd
\end_inset
- pipe is left in existence when LyX closes, then LyX will try to delete
- it.
- If this fails for some reason, you will need to delete the pipes manually
- and then restart LyX.
- On Windows, pipes are deleted by the OS on program termination or crash,
- so
+ or
\begin_inset Quotes eld
\end_inset
-stale
+
+\lang ngerman
+Kapitel
+\lang english
+ 1
\begin_inset Quotes erd
\end_inset
- pipes should not be possible.
+, depending upon the language in effect at the time.
+
\end_layout
\begin_layout Standard
-To have several LyX processes with servers at the same time, you have to
- use different configurations, perhaps by using separate user directories,
- each with its own
-\begin_inset Flex CharStyle:Code
-status collapsed
+Quite generally, the output routines know what LyX knows about document
+ layout, that is, about how the document is to be rendered on screen.
+ We use this information when we output the document as XHTML.
+ In particular, LyX
+\emph on
+automatically
+\emph default
+ generates CSS style information corresponding to the layout information
+ it uses to render the document on screen: if section headings are supposed
+ to be sans-serif and bold as seen in LyX, then (by default) they will be
+ sans-serif and bold when viewed in a web browser, too.
+ And this is true not just for pre-defined styles, like Section, but for
+ any style, including user-defined styles.
+ Indeed, the XHTML output routines make no distinction between user-defined
+ paragraph and character styles and LyX's own pre-defined styles: in each
+ case, everything LyX knows about the styles is contained in the layout
+ files.
+ And much the same is true as regards pre-defined textual insets, such as
+ footnotes, and various custom insets.
+
+\end_layout
-\begin_layout Plain Layout
-preferences
+\begin_layout Standard
+The result is that XHTML output can be customized and extended in exactly
+ the same way LaTeX output can be customized and extended: through layout
+ files and modules.
+ See chapter five of the
+\emph on
+Customization
+\emph default
+manual for the details.
\end_layout
-\end_inset
+\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
- file, for each process.
+\begin_layout Section
+Math Output in XHTML
\end_layout
\begin_layout Standard
-If you are developing a client program, you might find it useful to enable
- debugging information from the LyX server.
- Do this by starting LyX as
-\begin_inset Flex CharStyle:Code
+LyX offers four choices for how math is rendered.
+ These have various advantages and disadvantages:
+\end_layout
+
+\begin_layout Itemize
+MathML
+\begin_inset Newline newline
+\end_inset
+
+MathML is a dialect of XML designed specifically for mathematics on the
+ web, and it typically renders very well in browsers that support it.
+ The disadvantage is that not all browsers support MathML, and support is
+ not complete even in the Gecko-based browsers, such as Firefox.
+\begin_inset Newline newline
+\end_inset
+
+If LyX is unable to render a formula as MathML---for example, if the formula
+ uses the
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-lyx -dbg lyxserver
+xymatrix
\end_layout
\end_inset
-.
+ package or ERT---then it will instead output the formula as an image.
+
\end_layout
-\begin_layout Standard
-You can find a complete example client written in C in the source distribution
- as
-\begin_inset Flex CharStyle:Code
+\begin_layout Itemize
+HTML
+\begin_inset Newline newline
+\end_inset
+
+As mentioned above,
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-development/lyxserver/server_monitor.c
+elyxer
\end_layout
\end_inset
-.
-\end_layout
+ outputs math as HTML, styled by CSS.
+\begin_inset Foot
+status collapsed
-\begin_layout Standard
-Another useful tool is command-line based client you will find in
-\begin_inset Flex CharStyle:Code
+\begin_layout Plain Layout
+LyX has borrowed some of the CSS for its HTML output from
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-src/client/lyxclient
+elyxer
\end_layout
\end_inset
.
\end_layout
-\begin_layout Section
-Normal communication
-\end_layout
+\end_inset
-\begin_layout Standard
-To issue a LyX call, the client writes a line of ASCII text into the input
- pipe.
- This line has the following format:
+ 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
-\begin_layout Quote
-LYXCMD:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-argument
+\end_inset
+
+ package or ERT---then it will instead output the formula as an image.
+
\end_layout
-\begin_layout Description
-clientname is a name that the client can choose arbitrarily.
- Its only use is that LyX will echo it if it sends an answer—so a client
- can dispatch results from different requesters.
-\end_layout
-
-\begin_layout Description
-function is the function you want LyX to perform.
- It is the same as the commands you'd use in the minibuffer.
-\end_layout
-
-\begin_layout Description
-argument is an optional argument which is meaningful only to some functions
- (for instance, the
-\begin_inset Quotes eld
+\begin_layout Itemize
+Images
+\begin_inset Newline newline
\end_inset
-self-insert
-\begin_inset Quotes erd
-\end_inset
+Like
+\begin_inset Flex Code
+status collapsed
- LFUN will insert the argument as text at the cursor position).
+\begin_layout Plain Layout
+htlatex
\end_layout
-\begin_layout Standard
-The answer from LyX will arrive in the output pipe and be of the form
-\end_layout
+\end_inset
-\begin_layout Quote
-INFO:
-\emph on
-clientname
-\emph default
-:
+, 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
-function
+not
\emph default
-:
-\emph on
-data
+have to be on for images to be output, however.
\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
+\end_inset
+
+ The advantage to this method is that the images are simply generated by
+ LaTeX, so they are very accurate.
+ The disadvantage, as mentioned earlier, is that these are bitmapped images,
+ so they do not scale terribly well, and one cannot copy them, etc.
+ (As of this writing, there are also problems about equation numbering.
+ See
+\begin_inset CommandInset href
+LatexCommand href
+name "bug 6894"
+target "http://www.lyx.org/trac/ticket/6894"
+
+\end_inset
+
+.)
+\begin_inset Newline newline
+\end_inset
+
+The size of the images can be controlled by setting the
\begin_inset Quotes eld
\end_inset
-font-state
+Math Images Scaling
\begin_inset Quotes erd
\end_inset
-, will return information about the internal state of LyX, while other will
- return an empty data-response.
- This means that the command execution went fine.
-\end_layout
+ parameter under
+\begin_inset Flex MenuItem
+status collapsed
-\begin_layout Standard
-In case of errors, the response from LyX will have this form
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings\SpecialChar \menuseparator
+Output
\end_layout
-\begin_layout Quote
-ERROR:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-error message
-\end_layout
+\end_inset
-\begin_layout Standard
-where the
-\emph on
-error message
-\emph default
- should contain an explanation of why the command failed.
-\end_layout
+.
+\begin_inset Foot
+status collapsed
-\begin_layout Standard
-Examples:
+\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
-\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
+If LyX for some reason fails to create an image for a formula (e.g., if a
+ required LaTeX package is not installed), then it will fall back to outputing
+ the raw LaTeX.
+\end_layout
+
+\begin_layout Itemize
+LaTeX
\begin_inset Newline newline
\end_inset
-echo $a
-\end_layout
+Finally, LyX will happily output math as LaTeX.
+ As well as being the output of last resort, this method can be used with
+ such tools as
+\begin_inset CommandInset href
+LatexCommand href
+name "jsMath"
+target "http://www.math.union.edu/~dpvc/jsMath/"
-\begin_layout Section
-Notification
+\end_inset
+
+, which uses JavaScript to render LaTeX embedded in HTML documents.
+ LyX wraps the LaTeX in either a
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+span
\end_layout
-\begin_layout Standard
-LyX can notify clients of events going on asynchronously.
- Currently it will only do this if the user binds a key sequence with the
- function
-\begin_inset Quotes eld
\end_inset
-notify
-\begin_inset Quotes erd
-\end_inset
+ (for inline formulas) or
+\begin_inset Flex Code
+status collapsed
-.
- The format of the string LyX sends is as follows:
+\begin_layout Plain Layout
+div
\end_layout
-\begin_layout Quote
-\begin_inset Flex CharStyle:Code
+\end_inset
+
+ (for displayed formulas) with
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-NOTIFY:
+class='math'
\end_layout
\end_inset
-
-\emph on
-key-sequence
+, as is required for jsMath.
\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.
+One of these output methods must be selected under
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Settings\SpecialChar \menuseparator
+Output
\end_layout
-\begin_layout Standard
-This mechanism can be used to extend LyX's command set and implement macros.
- Bind some key sequence to
-\begin_inset Quotes eld
\end_inset
-notify
-\begin_inset Quotes erd
+.
+ By default, LyX outputs MathML.
+ This is a document-wide setting, therefore.
+\end_layout
+
+\begin_layout Standard
+Eventually, LyX will offer the user the option to select an alternate output
+ method for a particular inset, say, one that isn't being rendered very
+ well by MathML.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+That said, since LyX falls back to images if the inset contains ERT, then
+ one can force output as an image by putting some harmless ERT into the
+ math, for example:
+\begin_inset Formula $a=b\relax$
\end_inset
.
- Then start a client that listens on the output pipe, dispatches the command
- according to the sequence, and starts a function that may use LyX calls
- and LyX requests to issue a command or a series of commands to LyX.
+\end_layout
+
+\end_inset
+
+
\end_layout
\begin_layout Section
-The simple LyX Server Protocol
+Bibliography and Citations
\end_layout
\begin_layout Standard
-LyX implements a simple protocol that can be used for session management.
- All messages are of the form
+XHTML output fully supports bibliographies and citations.
+
\end_layout
-\begin_layout Quote
-LYXSRV:
-\emph on
-clientname
-\emph default
-:
-\emph on
-protocol message
+\begin_layout Standard
+Citation labels are generated by the same machinery that generates LyX's
+ on-screen labels, so the labels will look in the output much as they do
+ in LyX, though better.
+ If you are using numerical citations, then LyX will output numerical labels,
+ such as [1] or [17], rather than simply showing the citation key in square
+ brackets, as it does on-screen.
+ If you are using author-year citations, then LyX will add lowercase letters
+ to the years, just as BibTeX does, if it finds more than one citation for
+ a given author-year combination.
+ The labels will be printed with the bibliography entries.
+ Note that there is, at present, no way to customize the appearance of the
+ labels, for example, to choose between square brackets and parentheses.
\end_layout
\begin_layout Standard
-where
+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
-protocol message
+Customization
\emph default
- can be
-\begin_inset Quotes eld
-\end_inset
+ manual for the details.
+\end_layout
-hello
-\begin_inset Quotes erd
-\end_inset
+\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
- or
+\begin_layout Quote
+Jason Stanley,
\begin_inset Quotes eld
\end_inset
-bye
+Context and Logical Form
\begin_inset Quotes erd
\end_inset
-.
- If
+, in
+\emph on
+Language in Context: Selected Essays
+\emph default
+ (Oxford: Oxford University Press, 2007), pp.
+ 30--68.
+\end_layout
+
+\begin_layout Quote
+Jason Stanley,
\begin_inset Quotes eld
\end_inset
-hello
+Semantics in Context
\begin_inset Quotes erd
\end_inset
- is received from a client, LyX will report back to inform the client that
- it's listening to it's messages, while
-\begin_inset Quotes eld
-\end_inset
+, in
+\emph on
+Language in Context: Selected Essays
+\emph default
+ (Oxford: Oxford University Press, 2007), pp.
+ 201--30.
+\end_layout
-bye
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Standard
+This should be fixed before long.
+\end_layout
- sent from LyX will inform clients that LyX is closing.
+\begin_layout Standard
+There is no support at present for sectioned bibliographies.
+ If you have multiple bibliographies, then LyX will print the same bibliography
+ over and over.
\end_layout
\begin_layout Section
-Reverse DVI/PDF search
+Indexes
\end_layout
\begin_layout Standard
-Some DVI/PDF viewers
+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 following viewers offer the reverse PDF search feature: Okular on KDE/Linux,
- Skim on Mac OSX and SumatraPDF on Windows.
+The main issue here is that LyX itself does not really handle these.
+ It just lets you enter what you would have to enter in raw LaTeX.
\end_layout
\end_inset
- provide
-\emph on
-reverse search
-\emph default
- facility (also called
-\emph on
-inverse search
-\emph default
-).
- This means that you can tell LyX to put the cursor to a specific line in
- the document by clicking at the respective position in the DVI/PDF output.
- To achieve this, the viewer must be able to communicate with LyX.
- This is done via the LyX server either by using the named pipe (
-\emph on
-lyxpipe
-\emph default
-), or the UNIX domain socket (
-\emph on
-lyxsocket
-\emph default
-) that LyX creates in its temporary directory (this is the way the
-\begin_inset Flex CharStyle:Code
-status collapsed
+ We'll describe how they are handled using the subsection headings from
+ that section.
+\end_layout
-\begin_layout Plain Layout
-lyxclient
+\begin_layout Itemize
+Grouping Index Entries (aka, sub-entries): LyX makes an effort to support
+ these, but the entries must be separated by
+\begin_inset Quotes eld
+\end_inset
+
+ !
+\begin_inset Quotes erd
+\end_inset
+
+, that is, there must be spaces around the exclamation point.
+ This is because it is otherwise too difficult to check for escaped exclamation
+ points, ones in math, and so forth.
+\end_layout
+
+\begin_layout Itemize
+Page Ranges: There is no support at all for page ranges, since these make
+ no sense with XHMTL.
+ Instead, you will just get two index entries, one at either end.
\end_layout
+\begin_layout Itemize
+Cross-referencing: There is no support for cross-referencing.
+ If LyX finds an entry containing the
+\begin_inset Quotes eld
\end_inset
- program communicates with LyX).
- In some cases, you need a helper script that mediates between the viewer
- and LyX, in others, the viewer can communicate with LyX directly.
- This depends on the selected viewer and on your operating system.
- The same applies to the way viewers need to be configured and the way the
- reverse search is actually performed.
- In what follows, we will thus describe how to setup reverse search for
- specific viewers.
- Before we turn to this, though, we will explain what needs to be done generally
- to enable reverse search in the DVI/PDF output.
+|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 Subsection
-Enabling reverse search
+\begin_layout Itemize
+Index Entry Order: LyX does support attempts to fix the sorting order.
+ It will take what is before the first `@' it finds and use that for sorting,
+ taking what follows the first `@' to be the actual entry.
+ At present, LyX does not check for escaped `@', so do not try to index
+ email addresses.
+\end_layout
+
+\begin_layout Itemize
+Index Entry Layout: You can format entries by using the text style dialog,
+ or by using any other method available within LyX itself.
+ There is no support for constructs like:
+\begin_inset Quotes eld
+\end_inset
+
+entry|textbf
+\begin_inset Quotes erd
+\end_inset
+
+.
+ Indeed, if LyX finds a pipe symbol, `|', in an entry, it will delete it
+ and everything that follows it.
+\end_layout
+
+\begin_layout Itemize
+Multiple Indexes: There is no support for multiple indexes.
+ Rather, all index entries will be printed as one large index.
+ To avoid our printing several versions of the index, we print only the
+ main index, so make sure you have one.
+\end_layout
+
+\begin_layout Section
+Nomenclature and Glossary
\end_layout
\begin_layout Standard
-LaTeX provides several different methods for reverse search.
- Some are built-in in the
-\begin_inset Flex CharStyle:Code
-status collapsed
+There is at present no support for glossaries.
+ Adding it would be fairly trivial, and welcome.
+\end_layout
-\begin_layout Plain Layout
-latex/pdflatex
+\begin_layout Chapter
+The LyX Server
+\end_layout
+
+\begin_layout Section
+Introduction
\end_layout
+\begin_layout Standard
+The `LyX server' allows other programs to talk to LyX, invoke LyX commands,
+ and retrieve information about the LyX internal state.
+ This is only intended for advanced users, but they should find it useful.
+ It is by writing to the LyX server, for example, that bibliography managers,
+ such as JabRef, are able to
+\begin_inset Quotes eld
\end_inset
- program, some are provided by external packages.
- Your choice depends on whether your LaTeX distribution already provides
- a given method (the built-in methods are rather new) and whether your viewer
- can cope with it.
- The available methods are described in the following.
+push
+\begin_inset Quotes erd
+\end_inset
+
+ citations to LyX.
\end_layout
-\begin_layout Subsubsection*
-Built-in DVI-search via src-specials (DVI only)
+\begin_layout Section
+Starting the LyX Server
\end_layout
\begin_layout Standard
-This method provides the DVI file with the necessary information for reverse
- search.
- It is available in LaTeX since quite some time (any somewhat recent LaTeX
- distribution should include it), and it works reliably.
- To enable it, change the
-\begin_inset Flex CharStyle:MenuItem
+The LyX server works through the use of a pair of named pipes.
+ These are usually located in
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LaT
-\begin_inset ERT
+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
-eX (plain)->DVI
-\end_layout
-
+) and have the names
+\begin_inset Quotes eld
\end_inset
- or
-\begin_inset Flex CharStyle:MenuItem
+
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-LaT
-\begin_inset ERT
+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
-eX (plain)->DraftDVI
-\end_layout
+\begin_inset Quotes erd
\end_inset
- converter in
-\begin_inset Flex CharStyle:MenuItem
+.
+ External programs write into
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-Preferences\SpecialChar \menuseparator
-File Handling\SpecialChar \menuseparator
-Converters
+lyxpipe.in
\end_layout
\end_inset
- to
-\begin_inset Flex CharStyle:Code
+ and read back data from
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-latex -src-specials $$i
+lyxpipe.out
\end_layout
\end_inset
.
- If this doesn't work, check if your TeX engine needs different options
- (the syntax might differ in some distributions).
-\end_layout
+ The stem of the pipe names can be defined in the
+\begin_inset Flex MenuItem
+status collapsed
-\begin_layout Subsubsection*
-External Packages (PDFSync and scrltx)
+\begin_layout Plain Layout
+Tools\SpecialChar \menuseparator
+Preferences
\end_layout
-\begin_layout Standard
-The packages
-\emph on
-pdfsync
-\emph default
- and
-\emph on
-scrltx
-\emph default
- provide reverse search facility for PDF output (via pdflatex) and DVI output,
- respectively.
- In order to enable it, load the packages in the LyX preamble:
-\end_layout
+\end_inset
-\begin_layout Itemize
-\begin_inset Flex CharStyle:Code
+ dialog, for example
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-
-\backslash
-usepackage{pdfsync}
+"/home/myhome/lyxpipe"
\end_layout
\end_inset
- for reverse PDF search,
-\end_layout
-
-\begin_layout Itemize
-
-\begin_inset Flex CharStyle:Code
+, or
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
+"
+\backslash
\backslash
-usepackage[active]{srcltx}
+.
+\backslash
+pipe
+\backslash
+lyxpipe"
\end_layout
\end_inset
- for reverse DVI search.
+ on Windows (but any working path can be used).
+ You
+\emph on
+must
+\emph default
+ configure this manually in order for the server to start.
\end_layout
\begin_layout Standard
-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
+LyX will add the '
+\begin_inset Flex Code
+status collapsed
-\begin_layout LyX-Code
+\begin_layout Plain Layout
+.in
+\end_layout
-\backslash
-usepackage{ifpdf}
-\begin_inset Newline newline
\end_inset
+' and '
+\begin_inset Flex Code
+status collapsed
-\backslash
-ifpdf
-\begin_inset Newline newline
-\end_inset
+\begin_layout Plain Layout
+.out
+\end_layout
-
-\backslash
-usepackage{pdfsync}
-\begin_inset Newline newline
\end_inset
+' to create the pipes.
+ If one of the pipes already exists, LyX will assume that another LyX process
+ is already running and will not start the server.
+ On POSIX (Unix like) systems, if for some other reason, an unused
+\begin_inset Quotes eld
+\end_inset
-\backslash
-else
-\begin_inset Newline newline
+stale
+\begin_inset Quotes erd
\end_inset
-
-\backslash
-usepackage[active]{srcltx}
-\begin_inset Newline newline
+ pipe is left in existence when LyX closes, then LyX will try to delete
+ it.
+ If this fails for some reason, you will need to delete the pipes manually
+ and then restart LyX.
+ On Windows, pipes are deleted by the OS on program termination or crash,
+ so
+\begin_inset Quotes eld
\end_inset
+stale
+\begin_inset Quotes erd
+\end_inset
-\backslash
-fi
+ pipes should not be possible.
\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.
+To have several LyX processes with servers at the same time, you have to
+ use different configurations, perhaps by using separate user directories,
+ each with its own
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+preferences
+\end_layout
+
+\end_inset
+
+ file, for each process.
+\end_layout
+
+\begin_layout Standard
+If you are developing a client program, you might find it useful to enable
+ debugging information from the LyX server.
+ Do this by starting LyX as
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+lyx -dbg lyxserver
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+You can find a complete example client written in C in the source distribution
+ as
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+development/lyxserver/server_monitor.c
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Another useful tool is command-line based client you will find in
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+src/client/lyxclient
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+Normal communication
+\end_layout
+
+\begin_layout Standard
+To issue a LyX call, the client writes a line of ASCII text into the input
+ pipe.
+ This line has the following format:
+\end_layout
+
+\begin_layout Quote
+LYXCMD:
+\emph on
+clientname
+\emph default
+:
+\emph on
+function
+\emph default
+:
+\emph on
+argument
+\end_layout
+
+\begin_layout Description
+clientname is a name that the client can choose arbitrarily.
+ Its only use is that LyX will echo it if it sends an answer—so a client
+ can dispatch results from different requesters.
+\end_layout
+
+\begin_layout Description
+function is the function you want LyX to perform.
+ It is the same as the commands you'd use in the minibuffer.
+\end_layout
+
+\begin_layout Description
+argument is an optional argument which is meaningful only to some functions
+ (for instance, the
+\begin_inset Quotes eld
+\end_inset
+
+self-insert
+\begin_inset Quotes erd
+\end_inset
+
+ LFUN will insert the argument as text at the cursor position).
+\end_layout
+
+\begin_layout Standard
+The answer from LyX will arrive in the output pipe and be of the form
+\end_layout
+
+\begin_layout Quote
+INFO:
+\emph on
+clientname
+\emph default
+:
+\emph on
+function
+\emph default
+:
+\emph on
+data
+\end_layout
+
+\begin_layout Standard
+where
+\emph on
+clientname
+\emph default
+ and
+\emph on
+function
+\emph default
+ are just echoed from the command request, while
+\emph on
+data
+\emph default
+ is more or less useful information filled according to how the command
+ execution worked out.
+ Some commands, such as
+\begin_inset Quotes eld
+\end_inset
+
+font-state
+\begin_inset Quotes erd
+\end_inset
+
+, will return information about the internal state of LyX, while other will
+ return an empty data-response.
+ This means that the command execution went fine.
+\end_layout
+
+\begin_layout Standard
+In case of errors, the response from LyX will have this form
+\end_layout
+
+\begin_layout Quote
+ERROR:
+\emph on
+clientname
+\emph default
+:
+\emph on
+function
+\emph default
+:
+\emph on
+error message
+\end_layout
+
+\begin_layout Standard
+where the
+\emph on
+error message
+\emph default
+ should contain an explanation of why the command failed.
+\end_layout
+
+\begin_layout Standard
+Examples:
+\end_layout
+
+\begin_layout LyX-Code
+echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
+\begin_inset Newline newline
+\end_inset
+
+echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
+\begin_inset Newline newline
+\end_inset
+
+read a <~/.lyxpipe.out
+\begin_inset Newline newline
+\end_inset
+
+echo $a
+\end_layout
+
+\begin_layout Section
+Notification
+\end_layout
+
+\begin_layout Standard
+LyX can notify clients of events going on asynchronously.
+ Currently it will only do this if the user binds a key sequence with the
+ function
+\begin_inset Quotes eld
+\end_inset
+
+notify
+\begin_inset Quotes erd
+\end_inset
+
+.
+ The format of the string LyX sends is as follows:
+\end_layout
+
+\begin_layout Quote
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+NOTIFY:
+\end_layout
+
+\end_inset
+
+
+\emph on
+key-sequence
+\end_layout
+
+\begin_layout Standard
+where
+\emph on
+key-sequence
+\emph default
+ is the printed representation of the key sequence that was actually typed
+ by the user.
+\end_layout
+
+\begin_layout Standard
+This mechanism can be used to extend LyX's command set and implement macros.
+ Bind some key sequence to
+\begin_inset Quotes eld
+\end_inset
+
+notify
+\begin_inset Quotes erd
+\end_inset
+
+.
+ Then start a client that listens on the output pipe, dispatches the command
+ according to the sequence, and starts a function that may use LyX calls
+ and LyX requests to issue a command or a series of commands to LyX.
+\end_layout
+
+\begin_layout Section
+The simple LyX Server Protocol
+\end_layout
+
+\begin_layout Standard
+LyX implements a simple protocol that can be used for session management.
+ All messages are of the form
+\end_layout
+
+\begin_layout Quote
+LYXSRV:
+\emph on
+clientname
+\emph default
+:
+\emph on
+protocol message
+\end_layout
+
+\begin_layout Standard
+where
+\emph on
+protocol message
+\emph default
+ can be
+\begin_inset Quotes eld
+\end_inset
+
+hello
+\begin_inset Quotes erd
+\end_inset
+
+ or
+\begin_inset Quotes eld
+\end_inset
+
+bye
+\begin_inset Quotes erd
+\end_inset
+
+.
+ If
+\begin_inset Quotes eld
+\end_inset
+
+hello
+\begin_inset Quotes erd
+\end_inset
+
+ is received from a client, LyX will report back to inform the client that
+ it's listening to it's messages, while
+\begin_inset Quotes eld
+\end_inset
+
+bye
+\begin_inset Quotes erd
+\end_inset
+
+ sent from LyX will inform clients that LyX is closing.
+\end_layout
+
+\begin_layout Section
+Reverse DVI/PDF search
+\end_layout
+
+\begin_layout Standard
+Some DVI/PDF viewers
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+The following viewers offer the reverse PDF search feature: Okular on KDE/Linux,
+ Skim on Mac OSX and SumatraPDF on Windows.
+\end_layout
+
+\end_inset
+
+ provide
+\emph on
+reverse search
+\emph default
+ facility (also called
+\emph on
+inverse search
+\emph default
+).
+ This means that you can tell LyX to put the cursor to a specific line in
+ the document by clicking at the respective position in the DVI/PDF output.
+ To achieve this, the viewer must be able to communicate with LyX.
+ This is done via the LyX server either by using the named pipe (
+\emph on
+lyxpipe
+\emph default
+), or the UNIX domain socket (
+\emph on
+lyxsocket
+\emph default
+) that LyX creates in its temporary directory (this is the way the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+lyxclient
+\end_layout
+
+\end_inset
+
+ program communicates with LyX).
+ In some cases, you need a helper script that mediates between the viewer
+ and LyX, in others, the viewer can communicate with LyX directly.
+ This depends on the selected viewer and on your operating system.
+ The same applies to the way viewers need to be configured and the way the
+ reverse search is actually performed.
+ In what follows, we will thus describe how to setup reverse search for
+ specific viewers.
+ Before we turn to this, though, we will explain what needs to be done generally
+ to enable reverse search in the DVI/PDF output.
+\end_layout
+
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:rev-search"
+
+\end_inset
+
+Automatic setup
+\end_layout
+
+\begin_layout Standard
+In most cases LyX will do the work for you by enabling
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Output\SpecialChar \menuseparator
+Synchronize with Output
+\end_layout
+
+\end_inset
+
+.
+ In such a case LyX will automatically insert the necessary SyncTeX macro
+ (for PDF) or load the srcltx package (for DVI) respectively.
+ This option can be easily reached also on
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+View/Update
+\end_layout
+
+\end_inset
+
+ Toolbar.
+\end_layout
+
+\begin_layout Standard
+If you need a different setting, you can select or input a custom macro
+ from the drop down box just below
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Document\SpecialChar \menuseparator
+Output\SpecialChar \menuseparator
+Synchronize with Output
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Please note that including the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+srcltx
+\end_layout
+
+\end_inset
+
+ package or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+src-specials
+\end_layout
+
+\end_inset
+
+ sometimes has an undesired impact on the typesetting.
+ Thus, you should switch output synchronization off for the final typesetting
+ if you use the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+srcltx
+\end_layout
+
+\end_inset
+
+ package or
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+src-specials
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+In case you need some more special settings that are not covered by the
+ automatic settings, read the next section about how to set up output synchroniz
+ation manually.
+ If the automatic setup suits your needs, you can readily jump to section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:configuring-viewers"
+
+\end_inset
+
+, where the necessary configuration steps in your viewer -- needed both
+ with the automatic and the manual setup -- are described.
+\end_layout
+
+\begin_layout Subsection
+Manual setup
+\end_layout
+
+\begin_layout Standard
+LaTeX provides several different methods for reverse search.
+ Some are built-in in the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+latex/pdflatex
+\end_layout
+
+\end_inset
+
+ program, some are provided by external packages.
+ Your choice depends on whether your LaTeX distribution already provides
+ a given method (the built-in methods are rather new) and whether your viewer
+ can cope with it.
+ The available methods are described in the following.
+\end_layout
+
+\begin_layout Subsubsection*
+Built-in DVI-search via src-specials (DVI only)
+\end_layout
+
+\begin_layout Standard
+This method provides the DVI file with the necessary information for reverse
+ search.
+ It is available in LaTeX since quite some time (any somewhat recent LaTeX
+ distribution should include it), and it works reliably.
+ To enable it, change the
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+LaT
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+{}
+\end_layout
+
+\end_inset
+
+eX (plain)->DVI
+\end_layout
+
+\end_inset
+
+ or
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+LaT
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+{}
+\end_layout
+
+\end_inset
+
+eX (plain)->DraftDVI
+\end_layout
+
+\end_inset
+
+ converter in
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Preferences\SpecialChar \menuseparator
+File Handling\SpecialChar \menuseparator
+Converters
+\end_layout
+
+\end_inset
+
+ to
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+latex -src-specials $$i
+\end_layout
+
+\end_inset
+
+.
+ If this doesn't work, check if your TeX engine needs different options
+ (the syntax might differ in some distributions).
+\end_layout
+
+\begin_layout Subsubsection*
+External Packages (PDFSync and scrltx)
+\end_layout
+
+\begin_layout Standard
+The packages
+\emph on
+pdfsync
+\emph default
+ and
+\emph on
+scrltx
+\emph default
+ provide reverse search facility for PDF output (via pdflatex) and DVI output,
+ respectively.
+ In order to enable it, load the packages in the LyX preamble:
+\end_layout
+
+\begin_layout Itemize
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+usepackage{pdfsync}
+\end_layout
+
+\end_inset
+
+ for reverse PDF search,
+\end_layout
+
+\begin_layout Itemize
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+usepackage[active]{srcltx}
+\end_layout
+
+\end_inset
+
+ for reverse DVI search.
+\end_layout
+
+\begin_layout Standard
+If you want to be able to perform both DVI and PDF reverse searches, you
+ can also insert in the preamble the following lines
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+usepackage{ifpdf}
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+ifpdf
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+usepackage{pdfsync}
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+else
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+usepackage[active]{srcltx}
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+fi
+\end_layout
+
+\begin_layout Standard
+This way, you can preview the file as either DVI or PDF (pdflatex) and the
+ right package will be used.
\end_layout
\begin_layout Standard
\begin_layout Standard
Recent versions of
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
To enable SyncTeX for DVI output, change the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
or
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
converter in
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
to
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
, and for PDF output, change the
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
or converter to
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Plain Layout
The
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
option enables gzip compression.
If your viewer does not support it, you should instead use
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Subsection
Configuring and using specific viewers
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:configuring-viewers"
+
+\end_inset
+
+
\end_layout
\begin_layout Subsubsection*
\begin_layout Standard
If you use
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
, you don't need to do anything else for performing a reverse DVI search,
as LyX already provides the necessary hooks for automatically using the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
However, if for whatever reason you want to use the named pipe instead of
the socket for communicating with LyX, simply change the DVI viewer in
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Plain Layout
On Mac OSX you have to use
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
, where
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
where
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
XServer pipe path specified in
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Plain Layout
In the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
folder of a source distribution you can find a
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
At the end of
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
Enter
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
to the viewer setting in
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
, and then in
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
Go to
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
and add the command
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
Launch yap, choose its
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
to open a file dialog and navigate to the directory containing the batch
file
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
(see below).
Select
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and then specify the program arguments as
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.
The
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
Make sure that the LyXServer pipe path you specified in LyX is
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
, otherwise change the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
wrapper accordingly.
- You are advised to select in
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Preferences\SpecialChar \menuseparator
-Paths
-\end_layout
-
-\end_inset
-
- a temporary directory whose name does not contain spaces, otherwise inverse
- search will fail.
\end_layout
\begin_layout Standard
\begin_layout Standard
In order to use SumatraPDF for inverse search, enter
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
in the viewer setting in
-\begin_inset Flex CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
, where
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
is the previous wrapper.
If SumatraPDF.exe is not in your command PATH, use its full file name.
- Again, make sure that the LyX temporary directory name does not contain
- spaces, otherwise inverse search will fail.
\end_layout
\begin_layout Standard
\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 CharStyle:MenuItem
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
\end_inset
to open a file dialog and navigate to the directory containing the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
program (which is installed by default on Cygwin along with the LyX executable).
Select
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and then specify the program arguments as
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpipe
\emph default
, omit the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
In order to use SumatraPDF for inverse search, enter
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+SumatraPDF.sh
+\end_layout
+
+\end_inset
+
+ in the viewer setting in
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Preferences\SpecialChar \menuseparator
+File Handling\SpecialChar \menuseparator
+File formats\SpecialChar \menuseparator
+PDF (pdflatex)
+\end_layout
+
+\end_inset
+
+, where
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
SumatraPDF.sh
\end_layout
-\end_inset
-
- in the viewer setting in
-\begin_inset Flex CharStyle:MenuItem
+\end_inset
+
+ is the following script (to be placed in your command PATH,
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+/usr/local/bin
+\end_layout
+
+\end_inset
+
+ being the best choice):
+\end_layout
+
+\begin_layout LyX-Code
+#!/bin/bash
+\begin_inset Newline newline
+\end_inset
+
+cd $(dirname $1)
+\begin_inset Newline newline
+\end_inset
+
+SumatraPDF -inverse-search "lyxeditor -g %f %l" $(basename $1)
+\end_layout
+
+\begin_layout Standard
+This wrapper script is needed because SumatraPDF is a native Windows application
+ and does not understand the posix paths used by the Cygwin version of LyX.
+ If SumatraPDF.exe is not in your command PATH, use its full posix path in
+ the script above.
+ The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+-g
+\end_layout
+
+\end_inset
+
+ enables communication via the
+\emph on
+lyxsocket
+\emph default
+.
+ Again, omit the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+-g
+\end_layout
+
+\end_inset
+
+ option if you want to use the
+\emph on
+lyxpipe
+\emph default
+, and be sure to specify the LyXServer pipe path in the LyX preferences.
+\end_layout
+
+\begin_layout Standard
+Reverse search is triggered by double-click.
+\end_layout
+
+\begin_layout Section
+Forward search
+\end_layout
+
+\begin_layout Standard
+Forward search is, as the name implies, in a sense the
+\begin_inset Quotes eld
+\end_inset
+
+opposite
+\begin_inset Quotes erd
+\end_inset
+
+ to reverse search.
+ It allows you to let the viewer jump to a given position from within LyX.
+ If forward search is set up (as described in what follows), you can put
+ the cursor anywhere in your LyX document, and hit
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Navigate\SpecialChar \menuseparator
+Forward search
+\end_layout
+
+\end_inset
+
+ (or select
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Forward search
+\end_layout
+
+\end_inset
+
+ in the context menu via right mouse click), and then the viewer will jump
+ to that position as well.
+ This implies, of course, that your viewer supports this function.
+\end_layout
+
+\begin_layout Standard
+To make forward search possible, you first need to provide the generated
+ output PDF/DVI file with additional information about the TeX sources.
+ This can be done via the methods described in the section
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:rev-search"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Additionally, you need to configure LyX for using your viewers in
+\begin_inset Flex MenuItem
status collapsed
\begin_layout Plain Layout
+Tools\SpecialChar \menuseparator
Preferences\SpecialChar \menuseparator
-File Handling\SpecialChar \menuseparator
-File formats\SpecialChar \menuseparator
-PDF (pdflatex)
+Output\SpecialChar \menuseparator
+General
\end_layout
\end_inset
-, where
-\begin_inset Flex CharStyle:Code
+.
+ 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
-SumatraPDF.sh
+$$n
\end_layout
\end_inset
- is the following script (to be placed in your command PATH,
-\begin_inset Flex CharStyle:Code
+: row number
+\end_layout
+
+\begin_layout Itemize
+\noindent
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-/usr/local/bin
+$$t
\end_layout
\end_inset
- being the best choice):
+: name of the (temporary) exported .tex file
\end_layout
-\begin_layout LyX-Code
-#!/bin/bash
-\begin_inset Newline newline
-\end_inset
+\begin_layout Itemize
+\noindent
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+$$o
+\end_layout
-cd $(dirname $1)
-\begin_inset Newline newline
\end_inset
-SumatraPDF -inverse-search "lyxeditor -g %f %l" $(basename $1)
+: name of the exported output file (either dvi or pdf, depending on which
+ one exists in the temporary directory)
\end_layout
\begin_layout Standard
-This wrapper script is needed because SumatraPDF is a native Windows application
- and does not understand the posix paths used by the Cygwin version of LyX.
- If SumatraPDF.exe is not in your command PATH, use its full posix path in
- the script above.
- The
-\begin_inset Flex CharStyle:Code
+Note that only some of the viewers provide full forward search functionality,
+ among them yap, xdvi, okular and Sumatra PDF
+\begin_inset Foot
status collapsed
\begin_layout Plain Layout
--g
+For Sumatra CMCDDE is needed --- downloadable from http://www.istri.fr/zip/CMCDDE.z
+ip
\end_layout
\end_inset
- enables communication via the
-\emph on
-lyxsocket
-\emph default
.
- Again, omit the
-\begin_inset Flex CharStyle:Code
-status collapsed
+ 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
-\begin_layout Plain Layout
--g
-\end_layout
+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
- option if you want to use the
-\emph on
-lyxpipe
-\emph default
-, and be sure to specify the LyXServer pipe path in the LyX preferences.
+.
+ These latter functionality is provided by an external call of synctex (see
+ the predefined example configurations).
+
\end_layout
\begin_layout Standard
-Reverse search is triggered by double-click.
+Forward search works both with DVI and PDF output.
+ LyX simply checks which preview format you have used before (i.
+\begin_inset space \thinspace{}
+\end_inset
+
+e., which format is already there in the temporary directory) and chooses
+ the appropriate configuration for the respective format.
+
\end_layout
\begin_layout Chapter
\begin_layout Standard
A manual comes together with that package, and this text is not meant to
- replace the original manual but merely a short guide how to realize the
- correct form of your paper.
+ 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 implicated also some slight changes of the style files, namely
+ That change involved also some slight changes to the style files, namely
the removal of the thesaurus command.
The LyX class aa supports the newest version of these style files, V 5.01.
If you have an older version installed, please upgrade.
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 CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
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 CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain 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 CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
or, if you are using
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
, the module
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\emph on
only
\emph default
- unnumbered results, the the module
-\begin_inset Flex CharStyle:Code
+ unnumbered results, the module
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\emph default
to be used with the AMS classes.
It is perfectly possible to use the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
module, and the others mentioned, with other classes, such as
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
The following environments—as well as the standard environments, such as
-\begin_inset Flex CharStyle:Noun
+\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Noun
+\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Noun
+\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
\end_inset
,
-\begin_inset Flex CharStyle:Noun
+\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
\end_inset
, and
-\begin_inset Flex CharStyle:Noun
+\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
\end_inset
—are provided by
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
The following environments are provided by both the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
and
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
(numbered) versions.
These same environments are provided only in the starred versions by the
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
And these environments are provided by
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Plain Layout
-http://authors.elsevier.com/
+http://www.elsevier.com/wps/find/authorsview.authors/latex
\end_layout
\end_inset
.
Instructions are supplied along with the class file, which details the
requirements of the publishers.
- LyX includes package that allows for the use of this class, by a layout
+ LyX includes a package that allows for the use of this class, by a layout
and a template file.
Installation of the class file is the same as for any other LaTeX package;
instructions are provided in the Elsevier documentation.
command to implement table captions.
As a result, a table created by LyX is printed correctly, but its caption
is ignored.
- However, you can use some TeX code to overpass this problem, so that captions
+ However, you can use some TeX code to overcome this problem, so that captions
are printed as expected.
To do so, create a float table as usual, remove the caption, and replace
it with the TeX code
\end_layout
\begin_layout Itemize
-To be able to compile your document to a PDF, PS, or DVI, assure that the
+To be able to compile your document to a PDF, PS, or DVI, ensure that the
two options
\family sans
Use AMS math package
\emph default
, but there are many others (see a complete list at
\begin_inset Flex URL
-status collapsed
+status open
\begin_layout Plain Layout
Document
\family default
).
- A detailed German description of these options can be found in the Koma-Script
- documentation
-\emph on
-scrguide
-\emph default
-.
+
\end_layout
\begin_layout Itemize
Settings
\family default
.
- A detailed German description of these and other type area options can
- be found in the Koma-Script documentation
-\emph on
-scrguide
-\emph default
-.
+
\end_layout
\begin_layout Itemize
\end_layout
\begin_layout Standard
-A detailed German description of the LaTeX document classes of the Koma-Script
- family can be found in the Koma-Script documentation
+Detailed descriptions of the LaTeX document classes of the Koma-Script family
+ can be found in the Koma-Script documentation
\emph on
scrguide
\emph default
-.
-\begin_inset Foot
-status collapsed
-
-\begin_layout Plain Layout
-There is an English translation
+ (German) and
\emph on
-screnggu
+scrguien
\emph default
-, but it is not a complete one.
-\end_layout
-
-\end_inset
-
- The following sections describe only those aspects, which are relevant
- in LyX.
+ (English).
\end_layout
\begin_layout Subsection
.
It has — on the LaTeX side — a completely new interface and is not compatible
with the old class.
- Therefore, LyX supports both, though it is recommended to use the new class.
+ Therefore, LyX supports both, though it is recommended you use the new
+ class.
\end_layout
\begin_layout Standard
\begin_layout Standard
The biggest improvement is, though, that the letter's layout is configurable
- at almost any needs.
+ to meet almost any needs.
This can be done via the preamble or with a special style file (Letter
Class Option, extension
\family typewriter
).
In this section, we can only list those features which are natively supported
by LyX.
- For detailed descriptions (and for the rest of features) we are recommending
- to have a look at the detailed manual of the Memoir class
+ 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
\end_inset
style: The fancy page style is not supported, due to a command clash between
- Memoir and the fancyhdr package (they are both defining a command with
- the same name, which confuses LaTeX).
- Instead, Memoir comes with a bunch of own page styles (see
+ Memoir and the fancyhdr package (they both define a command with the same
+ name, which confuses LaTeX).
+ Instead, Memoir comes with a number of its own page styles (see
\family sans
Layout\SpecialChar \menuseparator
Document\SpecialChar \menuseparator
\end_layout
\begin_layout Description
-Sectioning: Sectionings (chapter, section, subsection etc.) are coming with
- an optional argument in the standard classes.
+Sectioning: Sectionings (chapter, section, subsection etc.) come with an
+ optional argument in the standard classes.
With this, you can specify an alternative version of the title for the
table of contents and the headers (for instance, if the title is too long).
In LyX, you can do this via
\end_layout
\begin_layout Description
-Chapterprecis: You may know this from belletristic: The contents of a chapter
- is shortly described below the title and also in the table of contents
+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
\begin_layout Section
Article (mwart), book (mwbk) and report (mwrep)
-\begin_inset OptArg
+\begin_inset Argument
status collapsed
\begin_layout Plain Layout
Slide
\family default
, for example.
- In that case, enter in your descriptive comment and hit
+ In that case, enter your descriptive comment and hit
\family sans
Return
\family default
\end_layout
\begin_layout Standard
-If, on the other hand, you don't want to enter in any descriptive text,
- you'll hit another LyX quirk.
+If, on the other hand, you don't want to enter any descriptive text, you'll
+ hit another LyX quirk.
LyX, like nature, abhors a vacuum, and will not let you start a new paragraph
environment until you put something in the old one.
So, do this:
ChkTeX
\family default
package is a program that was written by
-\begin_inset Flex CharStyle:Noun
+\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
\begin_layout Enumerate
\size small
-\emph on
-You should enclose the previous parenthesis with
+\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
-Italic correction (
+Inter-word spacing (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
-/
-\family default
-\begin_inset Quotes erd
+\family default
+
+\begin_inset Quotes eld
\end_inset
-) found in non-italic buffer.
+) should perhaps be used.
\end_layout
\begin_layout Enumerate
\size small
-Italic correction (
+Inter-sentence spacing (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
-/
+@
\family default
\begin_inset Quotes erd
\end_inset
-) found more than once.
+) should perhaps be used.
\end_layout
\begin_layout Enumerate
\size small
-\emph on
-No italic correction (
+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
-
-\backslash
-/
+%s
\family default
\begin_inset Quotes erd
\end_inset
-) found.
+.
\end_layout
\begin_layout Enumerate
\size small
-Accent command
+Math mode still on at end of LaTeX file.
+\end_layout
+
+\begin_layout Enumerate
+
+\size small
+Number of
\begin_inset Quotes eld
\end_inset
\family typewriter
-cmd
+char
\family default
\begin_inset Quotes erd
\end_inset
- needs use of
+ doesn't match the number of
\begin_inset Quotes eld
\end_inset
\family typewriter
-cmd
+char
\family default
\begin_inset Quotes erd
\begin_layout Enumerate
\size small
-Wrong length of dash may have been used.
-\end_layout
-
-\begin_layout Enumerate
+You should use either
+\family typewriter
-\size small
-\emph on
\begin_inset Quotes eld
\end_inset
-\family typewriter
-%s
\family default
+ or
+\family typewriter
\begin_inset Quotes erd
\end_inset
- expected, found
+
+\family default
+ as an alternative to
\begin_inset Quotes eld
\end_inset
\family typewriter
-%s
+"
\family default
\begin_inset Quotes erd
\begin_layout Enumerate
\size small
-Solo
-\begin_inset Quotes eld
-\end_inset
+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
-%s
+''
+\backslash
+,'
+\family default
+ or
+\family typewriter
+'
+\backslash
+,''
\family default
+ will look better.
+\end_layout
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Enumerate
- found.
+\size small
+Delete this space to maintain correct page references.
\end_layout
\begin_layout Enumerate
\size small
-You should use
+\emph on
+You might wish to put this between a pair of
\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
+You ought to remove spaces in front of punctuation.
+\end_layout
+
+\begin_layout Enumerate
+
+\size small
+Could not execute LaTeX command.
+\end_layout
+\begin_layout Enumerate
+\size small
+Don't use
\family typewriter
\backslash
+/
+\family default
+ in front of small punctuation.
+\end_layout
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+$
+\backslash
+times$
\family default
-
-\begin_inset Quotes eld
-\end_inset
+ may look prettier here.
+\end_layout
-) should perhaps be used.
+\begin_layout Enumerate
+
+\size small
+\emph on
+Multiple spaces detected in output.
\end_layout
\begin_layout Enumerate
\size small
-Inter-sentence spacing (
+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
-\backslash
-@
+\begin_layout Enumerate
+
+\size small
+Use
+\family typewriter
+'
\family default
+ to end quotation, not
+\family typewriter
-\begin_inset Quotes erd
+\begin_inset Quotes eld
\end_inset
-) should perhaps be used.
+
+\family default
+.
\end_layout
\begin_layout Enumerate
\size small
-Could not find argument for command.
+Don't mix quotes.
\end_layout
\begin_layout Enumerate
\size small
-No match found for
+You should perhaps use
\begin_inset Quotes eld
\end_inset
\family typewriter
-%s
+cmd
\family default
\begin_inset Quotes erd
\end_inset
-.
+ instead.
+\end_layout
+
+\begin_layout Enumerate
+
+\size small
+You should put a space in front of/after parenthesis.
+\end_layout
+
+\begin_layout Enumerate
+
+\size small
+You should avoid spaces in front of/after parenthesis.
+\end_layout
+
+\begin_layout Enumerate
+
+\size small
+\emph on
+You should not use punctuation in front of/after quotes.
+\end_layout
+
+\begin_layout Enumerate
+
+\size small
+Double space found.
+\end_layout
+
+\begin_layout Enumerate
+
+\size small
+You should put punctuation outside inner/inside display math mode.
+\end_layout
+
+\begin_layout Enumerate
+
+\size small
+You ought to not use primitive TeX in LaTeX code.
\end_layout
-\begin_layout Enumerate
+\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
+
-\size small
-Math mode still on at end of LaTeX file.
\end_layout
\begin_layout Enumerate
\size small
-Number of
\begin_inset Quotes eld
\end_inset
\family typewriter
-char
+%s
\family default
\begin_inset Quotes erd
\end_inset
- doesn't match the number of
+ is normally not followed by
\begin_inset Quotes eld
\end_inset
\family typewriter
-char
+%c
\family default
\begin_inset Quotes erd
.
\end_layout
-\begin_layout Enumerate
-
-\size small
-You should use either
+\begin_layout Standard
+In later versions of LyX, we hope to provide a more complete interface to
+ this tool (and it's smaller cousin
\family typewriter
+lacheck
+\family default
+) to exploit the full power of it.
+ But it's not exactly useless as it is now: go try it on one of your existing
+ documents of a certain length and be surprised.
+\end_layout
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Section
+Version Control in LyX
+\end_layout
+
+\begin_layout Standard
+by
+\noun on
+ Lars Gullik Bjønnes
+\noun default
+and
+\noun on
+Pavel Sanda
+\end_layout
+\begin_layout Subsection
+Introduction
+\end_layout
-\family default
- or
-\family typewriter
+\begin_layout Standard
+A friend of mine wanted to try LyX for a group project.
+ When he didn't find support for version control or file locking, he dropped
+ it.
+ This angered me a bit, so I thought that I should at least make support
+ for RCS (with the possibility of CVS and/or SCCS as a future improvement.)
+ This has been done.
+ LyX now supports some of the most basic RCS/CVS/SVN commands.
+ If you need something a bit more sophisticated you will have to do that
+ manually in a terminal.
+\end_layout
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Standard
+Before you begin to use the version control features in LyX, you should
+ be familiar with RCS/CVS/SVN usage before start using it under LyX.
+ Also note that CVS support is not as good as subversion support so we advice
+ using SVN instead.
+ Good place to start with Subversion is SVN Book
+\begin_inset Foot
+status open
+\begin_layout Plain Layout
+\begin_inset CommandInset href
+LatexCommand href
+target "http://svnbook.red-bean.com/"
-\family default
- as an alternative to
-\begin_inset Quotes eld
\end_inset
-\family typewriter
-"
-\family default
+\end_layout
-\begin_inset Quotes erd
\end_inset
.
-\end_layout
+ In case of RCS you should read
+\begin_inset Quotes eld
+\end_inset
-\begin_layout Enumerate
+rcsintro
+\begin_inset Quotes erd
+\end_inset
-\size small
-You should use "
+ (a man file, read it with
\family typewriter
-'
+man rcsintro
\family default
-" (ASCII 39) instead of "
+).
+ 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
-" (ASCII 180).
+).
\end_layout
-\begin_layout Enumerate
-
-\size small
-User-specified pattern found.
+\begin_layout Standard
+The implementation in LyX assumes a recent version of the GNU RCS or CVS/SVN
+ package—no guarantees are made for older versions.
+ Most of the log messages are not currently displayed after operations —
+ you can check them in Messages pane if unsure.
\end_layout
-\begin_layout Enumerate
-
-\size small
-This command might not be intended.
+\begin_layout Standard
+For introducing your own external commands consult vc-command in the manual
+ of LyX functions.
\end_layout
-\begin_layout Enumerate
-
-\size small
-\emph on
-Comment displayed.
+\begin_layout Subsection
+RCS commands in LyX
\end_layout
-\begin_layout Enumerate
+\begin_layout Standard
+The following sections describe the RCS commands supported by LyX.
+ You can find them in the
+\family sans
+File\SpecialChar \menuseparator
+Version
+\begin_inset space ~
+\end_inset
-\size small
-Either
-\family typewriter
-''
-\backslash
-,'
-\family default
- or
-\family typewriter
-'
-\backslash
-,''
+Control
\family default
- will look better.
+ submenu.
+ LyX was tested against RCS 5.7.
\end_layout
-\begin_layout Enumerate
+\begin_layout Subsubsection
-\size small
-Delete this space to maintain correct page references.
+\family sans
+Register
\end_layout
-\begin_layout Enumerate
+\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
-\size small
-\emph on
-You might wish to put this between a pair of
-\begin_inset Quotes eld
+\begin_layout Standard
+This command registers your document with RCS (unless you are under the
+ directory managed by CVS)\SpecialChar \@.
+ You are asked interactively to supply an initial
+ description of the document.
+ The document is now set in Read-Only mode and you have to
+\family sans
+Check
+\begin_inset space ~
+\end_inset
+
+Out
+\begin_inset space ~
\end_inset
+For
+\begin_inset space ~
+\end_inset
-\family typewriter
-{}
+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 Enumerate
+\begin_layout Standard
+RCS command that is run:
+\family typewriter
+ci -q -u -i -t-"<initial description>" <file-name>
+\end_layout
-\size small
-You ought to remove spaces in front of punctuation.
+\begin_layout Standard
+Read
+\family typewriter
+man ci
+\family default
+ to understand the switches.
+
\end_layout
-\begin_layout Enumerate
+\begin_layout Subsubsection
-\size small
-Could not execute LaTeX command.
+\family sans
+Check In Changes
\end_layout
-\begin_layout Enumerate
+\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
-\size small
-Don't use
+\begin_layout Standard
+RCS command:
\family typewriter
+ci -q -u -m"<description>" <file-name>
+\end_layout
-\backslash
-/
-\family default
- in front of small punctuation.
+\begin_layout Subsubsection
+
+\family sans
+Check Out For Edit
\end_layout
-\begin_layout Enumerate
+\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
-\size small
-$
-\backslash
-times$
-\family default
- may look prettier here.
+co -q -l <file-name>
\end_layout
-\begin_layout Enumerate
+\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
-\size small
-\emph on
-Multiple spaces detected in output.
+\begin_layout Standard
+RCS command:
+\family typewriter
+co -f -u<version> <file-name>
\end_layout
-\begin_layout Enumerate
+\begin_layout Subsubsection
-\size small
-This text may be ignored.
+\family sans
+Undo Last Checkin
\end_layout
-\begin_layout Enumerate
+\begin_layout Standard
+This makes as if the last check in never happened.
+ No changes are made to the document loaded into LyX, but the last version
+ is removed from the master RCS file.
+
+\end_layout
-\size small
-Use
+\begin_layout Standard
+RCS command:
\family typewriter
+rcs -o<version> <file-name>
+\end_layout
-\begin_inset Quotes eld
-\end_inset
+\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
- to begin quotation, not
+ is shown in a browser.
+ See
\family typewriter
-'
+man rlog
\family default
-.
+ for more info.
\end_layout
-\begin_layout Enumerate
+\begin_layout Subsubsection
+Revision info
+\end_layout
-\size small
-Use
-\family typewriter
-'
-\family default
- to end quotation, not
-\family typewriter
+\begin_layout Standard
+LyX supports RCS version number information (only), see
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:VCS-Revision-Information"
-\begin_inset Quotes eld
\end_inset
-
-\family default
-.
+ for details.
\end_layout
-\begin_layout Enumerate
-
-\size small
-Don't mix quotes.
+\begin_layout Subsection
+CVS commands in LyX
\end_layout
-\begin_layout Enumerate
-
-\size small
-You should perhaps use
-\begin_inset Quotes eld
+\begin_layout Standard
+A subset of CVS operations is supported by LyX.
+ You can find the commands in the
+\family sans
+File\SpecialChar \menuseparator
+Version
+\begin_inset space ~
\end_inset
-
-\family typewriter
-cmd
+Control
\family default
+ submenu.
+ The version control system SVN is more powerful, so please use it instead
+ of CVS if possible.
+\end_layout
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Subsubsection
- instead.
+\family sans
+General CVS usage
\end_layout
-\begin_layout Enumerate
-
-\size small
-You should put a space in front of/after parenthesis.
+\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 Enumerate
+\begin_layout Standard
+If your documents are under revision control and others are using the same
+ repository problems arise when different changes to the same document at
+ the same location happen.
+ Standard CVS repositories doesn't operate with a file locking mechanism.
+ This may be surprising, but conflicts only occur if people disagree on
+ the proper content of the same part of a document.
+ So, if co-workers are used to communicate regularly, these conflicts occur
+ rarely.
+ If they don't communicate they have a fundamental problem anyway.
+ Nevertheless some people like to work with so called
+\begin_inset Quotes eld
+\end_inset
-\size small
-You should avoid spaces in front of/after parenthesis.
-\end_layout
+reserved checkouts
+\begin_inset Quotes erd
+\end_inset
-\begin_layout Enumerate
+.
+ If they do so the working copy of all files is readonly when checked out
+ first and the user starts editing after using a special command to make
+ the working copy writable.
+ When the changes are checked in the working copy returns to readonly state.
+ With LyX one has to edit the
+\begin_inset Flex Code
+status collapsed
-\size small
-\emph on
-You should not use punctuation in front of/after quotes.
+\begin_layout Plain Layout
+.cvsrc
\end_layout
-\begin_layout Enumerate
+\end_inset
-\size small
-Double space found.
+ file and add the line
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+cvs -r
\end_layout
-\begin_layout Enumerate
+\end_inset
-\size small
-You should put punctuation outside inner/inside display math mode.
+ 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 Enumerate
+\begin_layout Standard
+LyX tries to guess if you're using reserved or non-reserved checkouts.
+ If your working copy is readonly or it is writable and an additional copy
+ of your document exists in the CVS/Base sub-directory a reserved otherwise
+ a non-reserved checkout is assumed.
+ When a reserved checkout is detected you have to use
+\begin_inset Flex MenuItem
+status collapsed
-\size small
-You ought to not use primitive TeX in LaTeX code.
+\begin_layout Plain Layout
+Check Out
\end_layout
-\begin_layout Enumerate
-
-\size small
-You should remove spaces in front of
-\begin_inset Quotes eld
\end_inset
+ to make your working copy writable if it's readonly.
+ After doing so the
+\begin_inset Flex MenuItem
+status collapsed
-\family typewriter
-%s
-\family default
+\begin_layout Plain Layout
+Check In
+\end_layout
-\begin_inset Quotes erd
\end_inset
-
+ operation is possible and that makes your working copy readonly again after
+ transferring your changes to the repository.
\end_layout
-\begin_layout Enumerate
-
-\size small
-\begin_inset Quotes eld
-\end_inset
+\begin_layout Standard
+More information about CVS can be found here
+\begin_inset Flex URL
+status collapsed
+\begin_layout Plain Layout
-\family typewriter
-%s
-\family default
+http://www.nongnu.org/cvs
+\end_layout
-\begin_inset Quotes erd
\end_inset
- is normally not followed by
-\begin_inset Quotes eld
-\end_inset
+ and here
+\begin_inset Flex URL
+status collapsed
+\begin_layout Plain Layout
-\family typewriter
-%c
-\family default
+http://ximbiot.com/cvs
+\end_layout
-\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Standard
-In later versions of LyX, we hope to provide a more complete interface to
- this tool (and it's smaller cousin
+Read
\family typewriter
-lacheck
+man cvs
\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.
+ to understand the sub-commands and the switches mentioned below.
\end_layout
-\begin_layout Section
-Version Control in LyX
-\end_layout
+\begin_layout Subsubsection
-\begin_layout Standard
-by
-\noun on
- Lars Gullik Bjønnes,
-\noun default
-updated by
-\noun on
-Pavel Sanda
+\family sans
+Register
\end_layout
-\begin_layout Subsection
-Introduction
+\begin_layout Standard
+If your document is not under revision control, this is the only item shown
+ in the menu.
+ And if it is under revision control, the
+\family sans
+\bar under
+R
+\bar default
+egister
+\family default
+ item is not visible.
+
\end_layout
\begin_layout Standard
-A friend of mine wanted to try LyX for a group project.
- When he didn't find support for version control or file locking, he dropped
- it.
- This angered me a bit, so I thought that I should at least make support
- for RCS (with the possibility of CVS and/or SCCS as a future improvement.)
- This has now been done.
- LyX now supports some of the most basic RCS commands.
- If you need to something a bit more sophisticated you will have to do that
- manually in an xterm.
+This command registers in CVS your document
+\emph on
+
+\begin_inset Flex Strong
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+only
\end_layout
-\begin_layout Standard
-Before you begin to use the version control features in LyX, 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
+\emph default
+ in case you have already the documents directory under CVS control (in
+ particular
\family typewriter
-,v
+CVS/Entries
\family default
-).
-\end_layout
-
-\begin_layout Standard
-Later basic CVS/SVN support was added.
- You should be familiar with CVS/SVN usage before start using it under LyX.
- Most of the log messages are not currently displayed after operations -
- you can check them in terminal window if unsure.
+ file exists).
+ This means you have to create or checkout the archive by yourself using
+ external tools.
+ (In case you forget that step LyX registers the document with RCS.)
\end_layout
\begin_layout Standard
-The implementation in LyX assumes a recent version of the GNU RCS or CVS/SVN
- package—no guarantees are made for older versions.
+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
-For introducing your own external commands consult vc-command in the manual
- of LyX functions.
-\end_layout
-
-\begin_layout Subsection
-RCS commands in LyX
+CVS command that is run:
+\family typewriter
+cvs -q add -m"<entered message>" "<file-name>"
\end_layout
\begin_layout Standard
-The following sections describe the RCS commands supported by LyX.
- You can find them in the
-\family sans
-File\SpecialChar \menuseparator
-Version
-\begin_inset space ~
+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
-Control
-\family default
- submenu.
- LyX was tested against RCS 5.7.
+.
\end_layout
\begin_layout Subsubsection
\family sans
-Register
+Check In Changes
\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.
-
+When you are finished editing a file, you commit your changes.
+ When you do this and you had changed the document, you are asked for a
+ description of the changes.
+ After that changes are written to the repository.
+ In case you didn't change the document and a reserved checkout is detected
+ the reservation made on
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Check Out
\end_layout
-\begin_layout Standard
-This command registers your document with RCS (unless you are under the
- directory managed by CVS)\SpecialChar \@.
- You are asked interactively to supply an initial
- description of the document.
- The document is now set in Read-Only mode and you have to
-\family sans
-Check
-\begin_inset space ~
\end_inset
-Out
+ is undone.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+CVS
\begin_inset space ~
\end_inset
-For
+command:
\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
+\begin_inset Newline newline
\end_inset
- item tagged to the filename in the minibuffer.
-\end_layout
-\begin_layout Standard
-RCS command that is run:
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+cvs
\family typewriter
-ci -q -u -i -t-"<initial description>" <file-name>
+-q commit -m"<description>" "<file-name>"
\end_layout
-\begin_layout Standard
-Read
+\end_inset
+
+ or
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+cvs -q unedit
\family typewriter
-man ci
-\family default
- to understand the switches.
-
+"<file-name>"
+\end_layout
+
+\end_inset
+
+
\end_layout
\begin_layout Subsubsection
\family sans
-Check In Changes
+Check Out 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.
-
+When you are sharing a repository with others, you may have to incorporate
+ their changes into your working copy.
\end_layout
\begin_layout Standard
-RCS command:
+CVS command:
\family typewriter
-ci -q -u -m"<description>" <file-name>
-\end_layout
-
-\begin_layout Subsubsection
-
-\family sans
-Check Out For Edit
+cvs -q update "<file-name>"
\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.
-
+If a readonly checkout is detected the working copy is made writable and
+ reserved.
\end_layout
\begin_layout Standard
-RCS command:
+CVS command:
\family typewriter
-co -q -l <file-name>
+cvs -q edit "<file-name>"
\end_layout
\begin_layout Subsubsection
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
-RCS command:
+CVS command:
\family typewriter
-co -f -u<version> <file-name>
-\end_layout
-
-\begin_layout Subsubsection
-
-\family sans
-Undo Last Checkin
+cvs -q update "<file-name>"
\end_layout
\begin_layout Standard
-This makes as if the last check in never happened.
- No changes are made to the document loaded into LyX, but the last version
- is removed from the master RCS file.
-
+If a reserved checkout is detected and the working copy has no changes only
+ the reservation is undone.
\end_layout
\begin_layout Standard
-RCS command:
+CVS command:
\family typewriter
-rcs -o<version> <file-name>
+cvs -q unedit "<file-name>"
\end_layout
\begin_layout Subsubsection
-
-\family sans
-Show History
+Update of the local directory checkout from repository
\end_layout
\begin_layout Standard
-This show 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.
+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
-\begin_layout Subsection
-CVS commands in LyX
+\end_inset
+
+ files and so on using version control becomes more complicated.
+ LyX supports updating the whole tree in which resides the document.
+ This become especially useful once you cooperate with people which neither
+ have detailed knowledge about CVS usage nor they have ambition to commit
+ additional material to the repository.
+ You have to organize the files structure so that all external files are
+ in the same directory or subdirectories of the document.
+ It's good practice anyway to store multipart documents in an extra directory.
\end_layout
\begin_layout Standard
-CVS is now partially supported by LyX.
- You can find the commands in the
-\family sans
-File\SpecialChar \menuseparator
-Version
-\begin_inset space ~
+The
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Update local directory from repository
+\end_layout
+
\end_inset
-Control
-\family default
- submenu.
+ 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
-\begin_layout Subsubsection
+\end_inset
-\family sans
-Register
+ and
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+>>>>>>>
\end_layout
-\begin_layout Standard
-If your document is not under revision control, this is the only item shown
- in the menu.
- And if it is under revision control, the
-\family sans
-\bar under
-R
-\bar default
-egister
-\family default
- item is not visible.
-
+\end_inset
+
+ separated by
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+=======
\end_layout
-\begin_layout Standard
-This command registers in CVS your document ONLY in case you have already
- the documents directory under CVS control (in particular
-\family typewriter
-CVS/Entries
-\family default
- file exists).
- This means you have to checkout the archive by yourself.
-
+\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
-\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_inset
+
+ signs.
\end_layout
-\begin_layout Standard
-CVS command that is run:
-\family typewriter
-cvs -q add -m
-\begin_inset Quotes erd
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+CVS
+\begin_inset space ~
\end_inset
-<entered message>"
-\begin_inset Quotes eld
+commands:
+\begin_inset space ~
\end_inset
-<file-name>
-\begin_inset Quotes erd
+
+\begin_inset Newline newline
\end_inset
-\end_layout
+\begin_inset Flex Code
+status collapsed
-\begin_layout Standard
-Read
+\begin_layout Plain Layout
+cd $path; cvs diff
\family typewriter
-man svn
-\family default
- to understand the switches.
-
+"."
\end_layout
-\begin_layout Subsubsection
+\end_inset
-\family sans
-Check In Changes
-\end_layout
+ (Ask if changes are detected.)
+\begin_inset Newline newline
+\end_inset
-\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
-CVS command:
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+cd $path; cvs -q update
\family typewriter
-cvs -q commit -m"<description>" "<file-name>"
+"."
\end_layout
-\begin_layout Subsubsection
+\end_inset
+
-\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.
+where
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+$path
\end_layout
-\begin_layout Standard
-CVS command:
-\family typewriter
-cvs update
-\begin_inset Quotes eld
-\end_inset
-
-<file-name>
-\begin_inset Quotes erd
\end_inset
-
+ stands for the path to the document.
\end_layout
\begin_layout Subsubsection
\end_layout
\begin_layout Standard
-This show the complete history of the CVS document.
+This shows the complete history of the CVS document.
The output of
\family typewriter
-cvs log
-\begin_inset Quotes eld
-\end_inset
-
-<file-name>
-\begin_inset Quotes erd
-\end_inset
-
-
+cvs log "<file-name>"
\family default
is shown in a browser.
\end_layout
ssh, you will be asked in terminal window.
LyX was tested against SVN 1.5 and 1.6
\begin_inset Foot
-status collapsed
+status open
\begin_layout Plain Layout
Most of the commands will work with 1.4 too, see
\family typewriter
-svn update
+svn update --non-interactive
\begin_inset Quotes eld
\end_inset
All the commands above have one shortcomming - they deal with the current
document only.
Once your document contains pictures, includes external
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
- files and so on administration becomes more complicate.
+ files and so on administration becomes more complicated.
LyX now supports updating the whole tree in which resides the document
\begin_inset Foot
status collapsed
\end_layout
\begin_layout Standard
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Standard
where
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
\begin_layout Standard
-This show the complete history of the SVN document.
+This shows the complete history of the SVN document.
The output of
\family typewriter
svn log
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 conflict happens it needs manual resolving and one reasonable
+ 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 mechanisms to provide such kind of mutual exclusivity for file
- access - locks and automatical setting of write permissions (see sec.
+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
\end_inset
) based on
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_inset
.
- In a case this property is detected for a given document LyX starts to
- use SVN locks for document editing automatically and the whole check-in/out
- mechanism switches to the same regimen as for RCS.
- This in particular means there are two different modes how file is used
- in LyX:
+ If this property is detected for a given document LyX starts to use SVN
+ locks for document editing automatically and the whole check-in/out mechanism
+ switches to the same regimen as for RCS.
+ This in particular means there are two different modes of file use in LyX:
\end_layout
\begin_layout Itemize
Unlocked state.
The loaded file is in the read-only mode.
- For editation on needs to check-out.
+ For editing on needs to check-out.
\emph on
Check-out
\emph default
- consists of update from repository and gaining write lock.
+ 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
\family default
-Automatical Locking Property
+Automatic Locking Property
\end_layout
\begin_layout Standard
-The above mentioned automatical setting of write permissions of the .lyx
- file can be set through
+The above mentioned automatic setting of write permissions of the .lyx file
+ can be set through
\family sans
\bar under
F
\end_layout
\begin_layout Subsubsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:VCS-Revision-Information"
+
+\end_inset
+
Revision Information in Documents
\end_layout
\begin_layout Standard
-Currently there is no way how to provide such kind of information directly
- from LyX.
- There are possibilities how to activate it with the help of svn features,
- but each has its own drawbacks.
+There are more possibilities how to activate revision information in our
+ document.
+\end_layout
+
+\begin_layout Itemize
+LyX supports directly:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+tree revision information (
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+vcs-tree-revision
+\end_layout
+
+\end_inset
+
+).
+ The result is the output of the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+svnversion
+\end_layout
+
+\end_inset
+
+ command, the following table gives you an idea, how to read the results.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="2">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="0">
+<column alignment="center" valignment="top" width="0">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Output
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Meaning
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4123:4168
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+mixed revision working copy
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4168M
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+modified working copy
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4123S
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+switched working copy
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4123P
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+partial working copy, from a sparse checkout
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+4123:4168MS
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+mixed revision, modified, switched working copy
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+file revision information.
+ The result comes from parsing the output of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+svn
+\begin_inset space ~
+\end_inset
+
+info
+\begin_inset space ~
+\end_inset
+
+--xml
+\begin_inset space ~
+\end_inset
+
+file.lyx
+\end_layout
+
+\end_inset
+
+.
+ Supported flags are:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+version number of the last commit (
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+vcs-revision
+\end_layout
+
+\end_inset
+
+)
+\end_layout
+
+\begin_layout Itemize
+author of the last commit (
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+vcs-author
+\end_layout
+
+\end_inset
+
+)
+\end_layout
+
+\begin_layout Itemize
+date of the last commit (
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+vcs-date
+\end_layout
+
+\end_inset
+
+)
+\end_layout
+
+\begin_layout Itemize
+time of the last commit (
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+vcs-time
+\end_layout
+
+\end_inset
+
+)
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+You can obtain this info via InsetInfo (e.g.
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+info-insert buffer vcs-date
+\end_layout
+
+\end_inset
+
+).
+ The information will be available only when you have the file stored under
+ svn managment (i.e.
+ the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+.svn
+\end_layout
+
+\end_inset
+
+ directory is available with your document).
\end_layout
-\begin_layout Standard
-One possibility is to use svn keywords
+\end_deeper
+\begin_layout Itemize
+Another---a hacking one---possibility is to use svn keywords
\begin_inset Foot
status collapsed
\family sans
svn propset svn:keywords 'Rev' file.lyx
\family default
-) and then paste keyword ERT
+) and then paste keyword TeX code
\begin_inset Foot
status collapsed
Thirdly you get the whole 'Rev: 59' string in your document instead of
the plain number.
Until subversion implements user's custom keywords it will be hard to use
- this approach reliably or let LyX to support it directly .
-\end_layout
-
-\begin_layout Standard
-The second possibility would be to write your own external-material template
- which calls either
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-svnversion
-\end_layout
-
-\end_inset
-
- utility or parses the output of
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-svn info file.lyx
-\end_layout
-
-\end_inset
-
- command and returns the result back, when typeseting the document.
+ this approach reliably or let LyX to support it directly.
\end_layout
\begin_layout Subsection
client program from a command prompt.
\end_layout
+\begin_layout Subsubsection
+SSH tunnel used with SVN under Windows
+\end_layout
+
+\begin_layout Standard
+Compared with Linux setting up svn client to communicate over ssh under
+ Windows is a rather troublesome task.
+ We will at least offer some hints how to setup the client side but prior
+ knowledge about ssh and the Windows command line is needed, also be prepared
+ for a great deal of frustration\SpecialChar \ldots{}
+
+\end_layout
+
+\begin_layout Enumerate
+Get a svn client for windows, as described in the previous sections.
+ When it is a fresh install run some svn command (e.g.
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+svn --version
+\end_layout
+
+\end_inset
+
+) to create config files, which you will need to change later on.
+\end_layout
+
+\begin_layout Enumerate
+Choose a ssh client for Windows.
+ There are several possibilities, we will use the one from Putty tools
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+.
+ You will need to set the connection up so that the client doesn't ask for
+ any password from you.
+ To keep things easy we will use only keys without any additional password
+ protection etc.
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Generate keys by
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+puttygen
+\end_layout
+
+\end_inset
+
+.
+ Save your private .ppk key file and put the public one on the server side.
+ If the SVN server runs on Linux, note that the format of the public key
+ is not compatible with Linux openssh and you will need to direcly copy-paste
+ the key from the “
+\emph on
+Public key for pasting into OpenSSH authorized_keys file
+\emph default
+:” edit field into the server's
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+~/.ssh/authorized_keys
+\end_layout
+
+\end_inset
+
+/
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+authorized_keys2
+\end_layout
+
+\end_inset
+
+ file.
+\end_layout
+
+\begin_layout Enumerate
+Get the Putty's
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+plink
+\end_layout
+
+\end_inset
+
+.
+ In the SVN config file
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Exact path depends on Windows version, usually somewhere around
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+c:
+\backslash
+Documents and Settings
+\backslash
+user
+\backslash
+Application Data
+\backslash
+Subversion
+\backslash
+config
+\end_layout
+
+\end_inset
+
+ /
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+AppData
+\backslash
+Roaming
+\backslash
+Subversion
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
+, section [tunnels], setup ssh command, e.g.
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+ssh=c:/path/plink.exe -i c:/path/private_key.ppk
+\end_layout
+
+\end_inset
+
+.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+It will usually take a lot of time to get exact command right and it depends
+ on many things.
+ For example do not have some remote server saved as a default session in
+ Putty etc.
+ If things fail, try to connect via plink without SVN first.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Checkout the SVN archive, e.g.
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+svn co svn+ssh://user@server/repository_path
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsubsection
+End-of-Line Conversions
+\end_layout
+
+\begin_layout Standard
+When the collsraborators are mixing Linux and Windows environments, LyX
+ will use different line endings inside the .lyx files.
+ This is not a problem as far as LyX functionality is concerned, but the
+ commit diffs will be huge and merge-conflicts prone.
+ Fortunately SVN itself knows
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://svnbook.red-bean.com/en/1.4/svn.advanced.props.file-portability.html
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+ how to deal with CR/LF problems when switching .lyx files to the
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+native
+\end_layout
+
+\end_inset
+
+ mode.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+For the lazy guys:
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+svn propset svn:eol-style native FILE_NAME
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
\begin_layout Subsection
Further tuning
\end_layout
\begin_layout Description
Commit:
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\begin_layout Description
Revert:
-\begin_inset Flex CharStyle:Code
+\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\end_layout
+\begin_layout Subsection
+Version control and Document comparison
+\end_layout
+
+\begin_layout Standard
+One of the typical uses of version control is to inspect the changes between
+ revisions, usually by creating
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+diff
+\end_layout
+
+\end_inset
+
+ dumps.
+ While this is useful for plain text files, it is much less useful in the
+ case of LyX files, which have more complicated structure.
+ Hence we provide binding to the Document comparison feature.
+ They are two ways of calling this feature - either by direct call of
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+VC_COMPARE
+\end_layout
+
+\end_inset
+
+ LyX function (for details see LyX functions manual) or by icon/menu item
+
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+Compare with older revision...
+\end_layout
+
+\end_inset
+
+.
+ One can either compare two chosen revisions of the document or he can simply
+ compare the current version of edited text with older revisions (where
+ '
+\begin_inset Flex MenuItem
+status collapsed
+
+\begin_layout Plain Layout
+0
+\end_layout
+
+\end_inset
+
+' revisions back means comparison of the edited file with last commited
+ revision).
+
+\end_layout
+
+\begin_layout Standard
+This feature is supported for SVN and RCS though due to the more complicated
+ versioning scheme of RCS there is a constraint -- when addressing the revisions
+ in dialog, numbers always point to the last number in RCS revision number,
+ i.e.
+ '35' in '1.2.35'.
+\end_layout
+
\begin_layout Section
Literate Programming
\end_layout
\begin_layout Standard
The main purpose of this documentation is to show you how to use LyX for
- literate programming.
- Where it is assumed that you are familiar with this programming technique,
- and know what
+ literate programming, where it is assumed that you are familiar with this
+ programming technique, and know what
\begin_inset Quotes eld
\end_inset
\begin_inset space \thinspace{}
\end_inset
-g.
+E.
Knuth during the development of his TeX typesetting software.
\end_layout
\begin_layout Plain Layout
-http://shelob.ce.ttu.edu/daves/lpfaq/faq.html
+http://www.literateprogramming.com/lpfaq.pdf
\end_layout
\end_inset
\begin_layout Standard
Most ideas in this section require less common files in your LaTeX installation.
- If you have a system like teTeX, most will already be available.
+ If you have a system like TeXLive, most will already be available.
A few, however, will need to be downloaded from one of the CTAN archives.
Often, there are several ways to do something, or several LaTeX style files
which do the same thing.
Enumerate
\family default
Paragraph Environment
-\begin_inset OptArg
+\begin_inset Argument
status collapsed
\begin_layout Plain Layout
\end_layout
-\begin_layout Standard
-
-\end_layout
-
\begin_layout Section
Dropped Capitals
\end_layout
dropping
\family default
) package from CTAN allows a simple way to add such letters to your documents.
- Since this package is not a standard part of teTeX, I can't demonstrate
+ Since this package is not a standard part of TeXLive, I can't demonstrate
it within this document, but if you copy this paragraph to a new document,
delete the
\begin_inset Quotes eld