]> git.lyx.org Git - lyx.git/blobdiff - lib/doc/Additional.lyx
Documentation for customization of citation formats.
[lyx.git] / lib / doc / Additional.lyx
index f89071adac73a7148fe4009639bf28b32ba614d0..10f0e1de8a447149672393fdc8f992fef7f84620 100644 (file)
@@ -1,5 +1,5 @@
 #LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
-\lyxformat 370
+\lyxformat 378
 \begin_document
 \begin_header
 \textclass scrbook
@@ -51,6 +51,7 @@ logicalmkup
 theorems-ams
 theorems-ams-extended
 \end_modules
+\maintain_unincluded_children false
 \begin_local_layout
 Format 7
 InsetLayout CharStyle:MenuItem
@@ -68,6 +69,7 @@ End
 \end_local_layout
 \language english
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
@@ -103,6 +105,7 @@ End
 \use_geometry false
 \use_amsmath 0
 \use_esint 0
+\use_mhchem 1
 \cite_engine basic
 \use_bibtopic false
 \use_indices false
@@ -122,6 +125,8 @@ End
 \paperpagestyle headings
 \tracking_changes false
 \output_changes false
+\html_use_mathml true
+\html_be_strict true
 \end_header
 
 \begin_body
@@ -187,20 +192,29 @@ User's Guide
 \emph default
  is already quite lengthy, and it contains information on all of the basic
  features one needs to know in order to prepare most documents.
- However, the LyX Team has worked to 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
@@ -228,7 +242,7 @@ User's Guide
 \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.
@@ -2094,7 +2108,8 @@ Customizing Bibliographies with BibTeX
 \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
@@ -4113,596 +4128,1140 @@ savelabelitemi}
 \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 1.7, 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 
+\size normal
+\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 CharStyle: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
 status collapsed
 
 \begin_layout Plain Layout
-UserDir
+html2latex
 \end_layout
 
 \end_inset
 
-
-\begin_inset Foot
+, and 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-On Windows, 
-\emph on
-local
-\emph default
- named pipes are special objects located in 
+plastex
+\end_layout
+
+\end_inset
+
+, relying upon LyX to produce the LaTeX; and there is a converter that works
+ directly on LyX files, 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-
-\backslash
-
-\backslash
-.
-\backslash
-pipe
+eLyXer
 \end_layout
 
 \end_inset
 
 .
+ All of these have different advantages and disadvantages.
 \end_layout
 
-\end_inset
-
- and have the names 
-\begin_inset Quotes eld
-\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.
+ They know about 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyxpipe.in
+aux
 \end_layout
 
 \end_inset
 
+ files, counters, and references, and can often make use of the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_inset Quotes erd
-\end_inset
+\begin_layout Plain Layout
+bbl
+\end_layout
 
- and 
-\begin_inset Quotes eld
 \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 CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyxpipe.out
+htlatex
 \end_layout
 
 \end_inset
 
+, though the others will.
+ The other issue concerns how math is handled.
+ These converters typically convert the formulae into little pictures that
+ are then linked from the HTML document.
+ Since these are actually generated by LaTeX, they are accurate.
+ But they do not scale well, and just getting them to look as if they are
+ actually meant to be in your document---so that the font sizes seem to
+ be roughly the same---can be a challenge.
+\end_layout
 
-\begin_inset Quotes erd
-\end_inset
-
-.
- External programs write into 
+\begin_layout Standard
+Alex Fernandez's 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyxpipe.in
+eLyXer
 \end_layout
 
 \end_inset
 
- and read back data from 
+ solves some of these problems.
+ In particular, its rendering of math tends to look better than 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyxpipe.out
+htlatex
 \end_layout
 
 \end_inset
 
-.
- The stem of the pipe names can be defined in the 
-\begin_inset Flex CharStyle:MenuItem
+'s, at least in simpler cases, since it renders math using a neat combination
+ of HTML and CSS rather than converting the formulae to images.
+ But more complex formula tend to be rendered less well than with 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Preferences
+htlatex
 \end_layout
 
 \end_inset
 
- dialog, for example 
+, since there is no reasonable way of scaling parentheses in HTML, for example.
+ More importantly (as of version 0.39, at least), 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-"/home/myhome/lyxpipe"
+eLyXer
 \end_layout
 
 \end_inset
 
-, or 
+ has no support for math macros, for user-defined paragraph or character
+ styles, or for tables of contents and figures.
+ These limitations make 
 \begin_inset Flex CharStyle: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 more advanced LyX users would produce.
+ In principle, of course, all of these problems could be solved, but the
+ LyX developers have decided to follow a different path and 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 '
+As of this writing, XHTML output remains under development and should probably
+ be regarded as 
+\begin_inset Quotes eld
+\end_inset
+
+experimental
+\begin_inset Quotes erd
+\end_inset
+
+.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+The file 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.in
+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.
+\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 advantege 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
-
-\begin_layout Plain Layout
-preferences
+Quite generally, the output routines know everything LyX knows about document
+ layout, that is, about the document is to be rendered on screen.
+ We can 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 custom versions.
 \end_layout
 
-\end_inset
-
- file, for each process.
+\begin_layout Standard
+The result is that XHTML output can be customized and extended in 
+\emph on
+exactly
+\emph default
+ the same way LaTeX output can be customized and extended: through layout
+ files and modules.
+ See chapter five of the 
+\emph on
+Customization 
+\emph default
+manual for the details.
 \end_layout
 
 \begin_layout Standard
-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 
+As for math, LyX renders math using MathML.
+ This has advantages and disadvantages.
+ The advantage is that 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 first disadvantage is that not all browsers support MathML, and support
+ is not complete even in the Gecko-based browsers, such as Firefox.
+ A second disadvantage, as compared to rendering math by images, is that
+ LyX can only output MathML for LaTeX constructs that it knows about, which
+ means that the use of ERT in math---e.g., the command 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyx -dbg lyxserver
+
+\backslash
+BGassert
 \end_layout
 
 \end_inset
 
-.
-\end_layout
-
-\begin_layout Standard
-You can find a complete example client written in C in the source distribution
- as 
+ from the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-development/lyxserver/server_monitor.c
+begriff.sty
 \end_layout
 
 \end_inset
 
-.
+ package---will produce nothing helpful.
+ Eventually, therefore, LyX will offer the user the option to use MathML
+ or images, and it will offer this choice on a case by case basis.
 \end_layout
 
 \begin_layout Standard
-Another useful tool is command-line based client you will find in 
-\begin_inset Flex CharStyle:Code
-status collapsed
+The remainder of this chapter contains more detailed information on XHTML
+ output, its limitations, and ways around those limitations.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
 
 \begin_layout Plain Layout
-src/client/lyxclient
+This is very incomplete at this point!
 \end_layout
 
 \end_inset
 
-.
+
 \end_layout
 
 \begin_layout Section
-Normal communication
+Bibliography and Citations
 \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:
+XHTML output fully supports bibliographies and citations.
 \end_layout
 
-\begin_layout Quote
-LYXCMD:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-argument
+\begin_layout Standard
+Citation labels are generated by exactly 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 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.
+\begin_layout Standard
+Bibliography output is handled by the same machinery that handles the presentati
+on of reference information in the citation dialog, so you will see in the
+ XHTML output pretty much what you would see if you were to look at a given
+ entry in the citation dialog.
+ Unfortunately, the formatting of bibliography entries, too, is at present
+ not customizable, and it is fairly primitive, though this should change
+ shortly.
 \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.
+\begin_layout Standard
+The other significant defect is that cross-referenced information is printed
+ with every entry with which it is associated.
+ So you can see things like this:
 \end_layout
 
-\begin_layout Description
-argument is an optional argument which is meaningful only to some functions
- (for instance, the 
+\begin_layout Quote
+Jason Stanley, 
 \begin_inset Quotes eld
 \end_inset
 
-self-insert
+Context and Logical Form
 \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
+, in 
+\emph on
+Language in Context: Selected Essays
+\emph default
+ (Oxford: Oxford University Press, 2007), pp.
+ 30--68.
 \end_layout
 
 \begin_layout Quote
-INFO:
-\emph on
-clientname
-\emph default
-:
+Jason Stanley, 
+\begin_inset Quotes eld
+\end_inset
+
+Semantics in Context
+\begin_inset Quotes erd
+\end_inset
+
+, in 
 \emph on
-function
+Language in Context: Selected Essays
 \emph default
-:
-\emph on
-data
+ (Oxford: Oxford University Press, 2007), pp.
+ 201--30.
 \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.
+Again, this should be fixed before long.
 \end_layout
 
 \begin_layout Standard
-In case of errors, the response from LyX will have this form
+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 Quote
-ERROR:
-\emph on
-clientname
-\emph default
-:
-\emph on
-function
-\emph default
-:
-\emph on
-error message
+\begin_layout Section
+Indexes
 \end_layout
 
 \begin_layout Standard
-where the 
-\emph on
-error message
-\emph default
- should contain an explanation of why the command failed.
+LyX will happily export indexes as XHTML, but with certain limitations at
+ the moment.
 \end_layout
 
 \begin_layout Standard
-Examples:
+Index export will be most reliable when you do not attempt to use the fancy
+ constructs that are described in the section on indexes in the 
+\emph on
+User's Guide
+\emph default
+.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+The main issue here is that LyX itself does not really handle these.
+ It just lets you enter what you would have to enter in raw LaTeX.
 \end_layout
 
-\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
+ We'll describe how they are handled using the subsection headings from
+ that section.
+\end_layout
+
+\begin_layout Itemize
+Grouping Index Entries (aka, sub-entries): LyX makes an effort to support
+ these, but the entries must be separated by 
+\begin_inset Quotes eld
 \end_inset
 
-read a <~/.lyxpipe.out
-\begin_inset Newline newline
+ ! 
+\begin_inset Quotes erd
 \end_inset
 
-echo $a
+, 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 Section
-Notification
+\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 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_layout Itemize
+Cross-referencing: There is no support for cross-referencing.
+ If LyX finds an entry containing the 
 \begin_inset Quotes eld
 \end_inset
 
-notify
+|see\SpecialChar \ldots{}
+
 \begin_inset Quotes erd
 \end_inset
 
-.
- The format of the string LyX sends is as follows:
+ construct, it is just dropped, and the rest is treated as an ordinary index
+ entry.
 \end_layout
 
-\begin_layout Quote
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-NOTIFY:
+\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
 
-\emph on
-key-sequence
+.
+ 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
-where 
-\emph on
-key-sequence
-\emph default
- is the printed representation of the key sequence that was actually typed
- by the user.
+There is at present no support for glossaries.
+\end_layout
+
+\begin_layout Chapter
+The LyX Server
+\end_layout
+
+\begin_layout Section
+Introduction
 \end_layout
 
 \begin_layout Standard
-This mechanism can be used to extend LyX's command set and implement macros.
- Bind some key sequence to 
+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
 
-notify
+push
 \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.
+ citations to LyX.
 \end_layout
 
 \begin_layout Section
-The simple LyX Server Protocol
+Starting the LyX Server
 \end_layout
 
 \begin_layout Standard
-LyX implements a simple protocol that can be used for session management.
- All messages are of the form
+The LyX server works through the use of a pair of named pipes.
+ These are usually located in 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+UserDir
 \end_layout
 
-\begin_layout Quote
-LYXSRV:
+\end_inset
+
+, (except on Windows, where 
 \emph on
-clientname
+local
 \emph default
-:
-\emph on
-protocol message
+ named pipes are special objects located in 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+
+\backslash
+.
+\backslash
+pipe
 \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
+) and have the names 
+\begin_inset Quotes eld
 \end_inset
 
- or 
-\begin_inset Quotes eld
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+lyxpipe.in
+\end_layout
+
 \end_inset
 
-bye
+
 \begin_inset Quotes erd
 \end_inset
 
-.
- If 
+ and 
 \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
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+lyxpipe.out
+\end_layout
+
 \end_inset
 
-bye
+
 \begin_inset Quotes erd
 \end_inset
 
- sent from LyX will inform clients that LyX is closing.
+.
+ External programs write into 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+lyxpipe.in
 \end_layout
 
-\begin_layout Section
-Reverse DVI/PDF search
+\end_inset
+
+ and read back data from 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+lyxpipe.out
 \end_layout
 
-\begin_layout Standard
-Some DVI/PDF viewers
-\begin_inset Foot
+\end_inset
+
+.
+ The stem of the pipe names can be defined in the 
+\begin_inset Flex CharStyle:MenuItem
 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.
+Tools\SpecialChar \menuseparator
+Preferences
 \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 
+ dialog, for example 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyxclient
+"/home/myhome/lyxpipe"
 \end_layout
 
 \end_inset
 
- program communicates with LyX).
+, or 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+"
+\backslash
+
+\backslash
+.
+\backslash
+pipe
+\backslash
+lyxpipe"
+\end_layout
+
+\end_inset
+
+ on Windows.
+ You 
+\emph on
+must
+\emph default
+ configure this manually in order for the server to start.
+\end_layout
+
+\begin_layout Standard
+LyX will add the '
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+.in
+\end_layout
+
+\end_inset
+
+' and '
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+.out
+\end_layout
+
+\end_inset
+
+' to create the pipes.
+ If one of the pipes already exists, LyX will assume that another LyX process
+ is already running and will not start the server.
+ On POSIX (Unix like) systems, if for some other reason, an unused 
+\begin_inset Quotes eld
+\end_inset
+
+stale
+\begin_inset Quotes erd
+\end_inset
+
+ pipe is left in existence when LyX closes, then LyX will try to delete
+ it.
+ If this fails for some reason, you will need to delete the pipes manually
+ and then restart LyX.
+ On Windows, pipes are deleted by the OS on program termination or crash,
+ so 
+\begin_inset Quotes eld
+\end_inset
+
+stale
+\begin_inset Quotes erd
+\end_inset
+
+ pipes should not be possible.
+\end_layout
+
+\begin_layout Standard
+To have several LyX processes with servers at the same time, you have to
+ use different configurations, perhaps by using separate user directories,
+ each with its own 
+\begin_inset Flex CharStyle: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 CharStyle: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 CharStyle: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 CharStyle: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 CharStyle: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 CharStyle: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.
@@ -5579,19 +6138,6 @@ lyxeditor.bat
 \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
@@ -5638,8 +6184,6 @@ lyxeditor.bat
 
  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
@@ -5712,23 +6256,23 @@ Name:
 status collapsed
 
 \begin_layout Plain Layout
-lyxclient.exe
+lyxeditor.exe
 \end_layout
 
 \end_inset
 
- program.
+ program (which is installed by default on Cygwin along with the LyX executable).
  Select 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyxclient.exe
+lyxeditor.exe
 \end_layout
 
 \end_inset
 
- and then specify the program arguments as as 
+ and then specify the program arguments as 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
@@ -5748,67 +6292,17 @@ lyxsocket
 \emph on
 lyxpipe
 \emph default
-, select 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-bash.exe
-\end_layout
-
-\end_inset
-
- instead of 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-lyxclient.exe
-\end_layout
-
-\end_inset
-
- and specify 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
--c 'lyxeditor.sh "%f" %l'
-\end_layout
-
-\end_inset
-
- as program arguments (here, don't forget the double quotes around 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-%f
-\end_layout
-
-\end_inset
-
- as they are essential), where 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-lyxeditor.sh
-\end_layout
-
-\end_inset
-
- is the previously introduced shell script (make sure that 
+, omit the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-lyxeditor.sh
+-g
 \end_layout
 
 \end_inset
 
is in the bash command PATH, otherwise use its full posix name).
option and be sure to specify the LyXServer pipe path in the LyX preferences.
 \end_layout
 
 \begin_layout Standard
@@ -5875,47 +6369,44 @@ cd $(dirname $1)
 \begin_inset Newline newline
 \end_inset
 
-SumatraPDF -inverse-search "lyxclient -g %f %l" $(basename $1)
+SumatraPDF -inverse-search "lyxeditor -g %f %l" $(basename $1)
 \end_layout
 
 \begin_layout Standard
-This 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 is not in your command PATH, use its full posix path in the
- script above.
- Again, if you want to use the 
-\emph on
-lyxpipe
-\emph default
- instead of the 
-\emph on
-lyxsocket
-\emph default
-, replace 
+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
 status collapsed
 
 \begin_layout Plain Layout
-"lyxclient -g %f %l"
+-g
 \end_layout
 
 \end_inset
 
- with 
+ enables communication via the 
+\emph on
+lyxsocket
+\emph default
+.
+ Again, omit the 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-"bash -c 'lyxeditor.sh 
-\backslash
-"%f
-\backslash
-" %l'"
+-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
@@ -17988,9 +18479,9 @@ Version Control in LyX
 \begin_layout Standard
 by
 \noun on
- Lars Gullik Bjønnes, 
+ Lars Gullik Bjønnes 
 \noun default
-updated by 
+and 
 \noun on
 Pavel Sanda
 \end_layout
@@ -18008,7 +18499,7 @@ A friend of mine wanted to try LyX for a group project.
  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.
+ manually in a terminal.
 \end_layout
 
 \begin_layout Standard
@@ -18039,7 +18530,7 @@ man rcsintro
 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.
+ you can check them in Messages pane if unsure.
 \end_layout
 
 \begin_layout Standard
@@ -18130,7 +18621,205 @@ ci -q -u -i -t-"<initial description>" <file-name>
 \begin_layout Standard
 Read 
 \family typewriter
-man ci
+man ci
+\family default
+ to understand the switches.
+\end_layout
+
+\begin_layout Subsubsection
+
+\family sans
+Check In Changes
+\end_layout
+
+\begin_layout Standard
+When you are finished editing a file, you check in your changes.
+ When you do this, you are asked for a description of the changes.
+ This is stored in the history log.
+ The version number is bumped, your changes are applied to the master RCS
+ file, the document is unlocked and set to Read-Only mode.
+\end_layout
+
+\begin_layout Standard
+RCS command: 
+\family typewriter
+ci -q -u -m"<description>" <file-name>
+\end_layout
+
+\begin_layout Subsubsection
+
+\family sans
+Check Out For Edit
+\end_layout
+
+\begin_layout Standard
+By doing this you lock the document so that only you can edit it.
+ This will also make the document Read-Write only for you.
+ You will usually continue editing for a while and when you are finished
+ you check in your changes.
+ The status line is changed to reflect that you have locked the file.
+\end_layout
+
+\begin_layout Standard
+RCS command: 
+\family typewriter
+co -q -l <file-name>
+\end_layout
+
+\begin_layout Subsubsection
+
+\family sans
+Revert To Repository Version
+\end_layout
+
+\begin_layout Standard
+This will discard all changes made to the document since the last check
+ in.
+ You get a warning before changes are discarded.
+\end_layout
+
+\begin_layout Standard
+RCS command: 
+\family typewriter
+co -f -u<version> <file-name>
+\end_layout
+
+\begin_layout Subsubsection
+
+\family sans
+Undo Last Checkin
+\end_layout
+
+\begin_layout Standard
+This makes as if the last check in never happened.
+ No changes are made to the document loaded into LyX, but the last version
+ is removed from the master RCS file.
+\end_layout
+
+\begin_layout Standard
+RCS command: 
+\family typewriter
+rcs -o<version> <file-name>
+\end_layout
+
+\begin_layout Subsubsection
+
+\family sans
+Show History
+\end_layout
+
+\begin_layout Standard
+This 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.
+\end_layout
+
+\begin_layout Subsubsection
+Revision info
+\end_layout
+
+\begin_layout Standard
+LyX supports RCS version number information (only), see 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:VCS-Revision-Information"
+
+\end_inset
+
+ for details.
+\end_layout
+
+\begin_layout Subsection
+CVS commands in LyX
+\end_layout
+
+\begin_layout Standard
+CVS is now partially supported by LyX.
+ You can find the commands in the 
+\family sans
+File\SpecialChar \menuseparator
+Version
+\begin_inset space ~
+\end_inset
+
+Control
+\family default
+ submenu.
+ Focus of the development moved to SVN support, so please use it instead
+ of CVS if possible.
+\end_layout
+
+\begin_layout Subsubsection
+
+\family sans
+Register
+\end_layout
+
+\begin_layout Standard
+If your document is not under revision control, this is the only item shown
+ in the menu.
+ And if it is under revision control, the 
+\family sans
+\bar under
+R
+\bar default
+egister
+\family default
+ item is not visible.
+\end_layout
+
+\begin_layout Standard
+This command registers in CVS your document 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_layout
+
+\begin_layout Standard
+Then you are asked interactively to supply an initial description of the
+ document.
+ Don't forget that registered file is not yet commited.
+\end_layout
+
+\begin_layout Standard
+CVS command that is run: 
+\family typewriter
+cvs -q add -m
+\begin_inset Quotes erd
+\end_inset
+
+<entered message>" 
+\begin_inset Quotes eld
+\end_inset
+
+<file-name>
+\begin_inset Quotes erd
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Read 
+\family typewriter
+man svn
 \family default
  to understand the switches.
  
@@ -18143,39 +18832,15 @@ Check In Changes
 \end_layout
 
 \begin_layout Standard
-When you are finished editing a file, you check in your changes.
+When you are finished editing a file, you commit your changes.
  When you do this, you are asked for a description of the changes.
- This is stored in the history log.
- The version number is bumped, your changes are applied to the master RCS
- file, the document is unlocked and set to Read-Only mode.
-\end_layout
-
-\begin_layout Standard
-RCS command: 
-\family typewriter
-ci -q -u -m"<description>" <file-name>
-\end_layout
-
-\begin_layout Subsubsection
-
-\family sans
-Check Out For Edit
-\end_layout
-
-\begin_layout Standard
-By doing this you lock the document so that only you can edit it.
- This will also make the document Read-Write only for you.
- You will usually continue editing for a while and when you are finished
- you check in your changes.
- The status line is changed to reflect that you have locked the file.
+ After that changes are commited.
 \end_layout
 
 \begin_layout Standard
-RCS command: 
+CVS command: 
 \family typewriter
-co -q -l <file-name>
+cvs -q commit -m"<description>" "<file-name>"
 \end_layout
 
 \begin_layout Subsubsection
@@ -18188,31 +18853,21 @@ Revert To Repository Version
 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
+cvs update 
+\begin_inset Quotes eld
+\end_inset
 
-\family sans
-Undo Last Checkin
-\end_layout
+<file-name>
+\begin_inset Quotes erd
+\end_inset
 
-\begin_layout Standard
-This makes as if the last check in never happened.
- No changes are made to the document loaded into LyX, but the last version
- is removed from the master RCS file.
-\end_layout
 
-\begin_layout Standard
-RCS command: 
-\family typewriter
-rcs -o<version> <file-name>
 \end_layout
 
 \begin_layout Subsubsection
@@ -18222,25 +18877,28 @@ Show History
 \end_layout
 
 \begin_layout Standard
-This show the complete history of the RCS document.
+This show the complete history of the CVS document.
  The output of 
 \family typewriter
-rlog <file-name>
+cvs log 
+\begin_inset Quotes eld
+\end_inset
+
+<file-name>
+\begin_inset Quotes erd
+\end_inset
+
+
 \family default
  is shown in a browser.
- See 
-\family typewriter
-man rlog
-\family default
- for more info.
 \end_layout
 
 \begin_layout Subsection
-CVS commands in LyX
+SVN commands in LyX
 \end_layout
 
 \begin_layout Standard
-CVS is now partially supported by LyX.
+SVN is now partially supported by LyX.
  You can find the commands in the 
 \family sans
 File\SpecialChar \menuseparator
@@ -18251,6 +18909,26 @@ Version
 Control
 \family default
  submenu.
+ Please note that if you use password protected access to repository via
+ ssh, you will be asked in terminal window.
+ LyX was tested against SVN 1.5 and 1.6
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Most of the commands will work with 1.4 too, see 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:SVN-Repo-Update"
+
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Subsubsection
@@ -18274,10 +18952,10 @@ egister
 \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 
+This command registers in SVN your document ONLY in case you have already
+ the documents directory under SVN control (in particular 
 \family typewriter
-CVS/Entries
+.svn/entries
 \family default
  file exists).
  This means you have to checkout the archive by yourself.
@@ -18291,13 +18969,9 @@ Then you are asked interactively to supply an initial description of the
 \end_layout
 
 \begin_layout Standard
-CVS command that is run: 
+SVN command that is run: 
 \family typewriter
-cvs -q add -m
-\begin_inset Quotes erd
-\end_inset
-
-<entered message>" 
+svn add -q 
 \begin_inset Quotes eld
 \end_inset
 
@@ -18330,9 +19004,63 @@ When you are finished editing a file, you commit your changes.
 \end_layout
 
 \begin_layout Standard
-CVS command: 
+SVN command:
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+In case locking is not enabled.
+ See Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:SVN-File-Locking"
+
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
 \family typewriter
-cvs -q commit -m"<description>" "<file-name>"
+svn commit -q -m"<description>" <file-name>
+\end_layout
+
+\begin_layout Subsubsection
+
+\family sans
+Check Out For Edit
+\end_layout
+
+\begin_layout Standard
+Updates the changes of this file from the repository.
+ Be sure you understand SVN merging and conflicts resolving before using
+ this function, because all conflicts has to be resolved manually by you!
+\end_layout
+
+\begin_layout Standard
+SVN command:
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Ditto.
+\end_layout
+
+\end_inset
+
+\family typewriter
+svn update --non-interactive 
+\begin_inset Quotes eld
+\end_inset
+
+<file-name>
+\begin_inset Quotes erd
+\end_inset
+
+
 \end_layout
 
 \begin_layout Subsubsection
@@ -18345,13 +19073,13 @@ Revert To Repository Version
 This will discard all changes made to the document since the last check
  in.
  You get a warning before changes are discarded.
- Firstly the file is deleted, secondly CVS update command is run.
 \end_layout
 
 \begin_layout Standard
-CVS command: 
+SVN command: 
 \family typewriter
-cvs update 
+svn revert -q 
 \begin_inset Quotes eld
 \end_inset
 
@@ -18363,59 +19091,111 @@ cvs update
 \end_layout
 
 \begin_layout Subsubsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:SVN-Repo-Update"
+
+\end_inset
+
+Update of the local directory checkout from repository
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Note that this command will work only with subversion 
+\begin_inset Formula $\geqq1.5$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
 
-\family sans
-Show History
 \end_layout
 
 \begin_layout Standard
-This show the complete history of the CVS document.
- The output of 
-\family typewriter
-cvs log 
-\begin_inset Quotes eld
+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
+status collapsed
+
+\begin_layout Plain Layout
+.tex
+\end_layout
+
+\end_inset
+
+ files and so on administration becomes more complicated.
+ LyX now supports updating the whole tree in which resides the document
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+One need to organize the files structure so that all external files are
+ in the same directory or subdirectories of the document.
+\end_layout
+
+\end_inset
+
+.
+ This become especially useful once you cooperate with people which neither
+ know about subversion management nor they have ambition to commit additional
+ material to the repository.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+Update local directory from repository
+\end_layout
+
+\end_inset
+
+ command updates the whole directory and in case of merge conflicts local
+ version of the files are left, so no unintended data loss occurs.
+ If local changes are detected user is warned before update starts.
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+SVN
+\begin_inset space ~
+\end_inset
+
+commands: 
+\begin_inset space ~
 \end_inset
 
-<file-name>
-\begin_inset Quotes erd
+
+\begin_inset Newline newline
 \end_inset
 
 
-\family default
- is shown in a browser.
-\end_layout
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Subsection
-SVN commands in LyX
+\begin_layout Plain Layout
+svn diff $path
 \end_layout
 
-\begin_layout Standard
-SVN is now partially supported by LyX.
- You can find the commands in the 
-\family sans
-File\SpecialChar \menuseparator
-Version
-\begin_inset space ~
 \end_inset
 
-Control
-\family default
- submenu.
- Please note that if you use password protected access to repository via
- ssh, you will be asked in terminal window.
- LyX was tested against SVN 1.5 and 1.6
-\begin_inset Foot
-status open
+ (Ask if changes are detected.)
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout Plain Layout
-Most of the commands will work with 1.4 too, see 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sub:SVN-Repo-Update"
 
-\end_inset
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-.
+\begin_layout Plain Layout
+svn update --accept mine-full $path
 \end_layout
 
 \end_inset
@@ -18423,47 +19203,31 @@ reference "sub:SVN-Repo-Update"
 
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Standard
+where 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\family sans
-Register
+\begin_layout Plain Layout
+$path
 \end_layout
 
-\begin_layout Standard
-If your document is not under revision control, this is the only item shown
- in the menu.
- And if it is under revision control, the 
-\family sans
-\bar under
-R
-\bar default
-egister
-\family default
- item is not visible.
-\end_layout
+\end_inset
 
-\begin_layout Standard
-This command registers in SVN your document ONLY in case you have already
- the documents directory under SVN control (in particular 
-\family typewriter
-.svn/entries
-\family default
- file exists).
- This means you have to checkout the archive by yourself.
+ stands for the path to the document.
 \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.
+\begin_layout Subsubsection
+
+\family sans
+Show History
 \end_layout
 
 \begin_layout Standard
-SVN command that is run: 
+This show the complete history of the SVN document.
+ The output of 
 \family typewriter
-svn add -q 
+svn log 
 \begin_inset Quotes eld
 \end_inset
 
@@ -18472,463 +19236,490 @@ svn add -q
 \end_inset
 
 
-\end_layout
-
-\begin_layout Standard
-Read 
-\family typewriter
-man svn
 \family default
- to understand the switches.
+ is shown in a browser.
 \end_layout
 
 \begin_layout Subsubsection
+File Locking
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:SVN-File-Locking"
+
+\end_inset
+
 
-\family sans
-Check In Changes
 \end_layout
 
 \begin_layout Standard
-When you are finished editing a file, you commit your changes.
- When you do this, you are asked for a description of the changes.
- After that changes are commited.
+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
+ 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 command:
-\begin_inset Foot
-status collapsed
-
-\begin_layout Plain Layout
-In case locking is not enabled.
- See Section 
+SVN has two mechanisms to provide such kind of mutual exclusivity for file
+ access - locks and automatical setting of write permissions (see sec.
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "subsec:SVN-File-Locking"
+reference "subsec:Automatical-Locking-Property"
 
 \end_inset
 
-.
+) based on 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+svn:needs-lock
 \end_layout
 
 \end_inset
 
-\family typewriter
-svn commit -q -m"<description>" <file-name>
+ file svn property
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+http://svnbook.red-bean.com/en/1.2/svn.advanced.locking.html
 \end_layout
 
-\begin_layout Subsubsection
+\end_inset
 
-\family sans
-Check Out For Edit
+.
+ 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:
 \end_layout
 
-\begin_layout Standard
-Updates the changes of this file from the repository.
- Be sure you understand SVN merging and conflicts resolving before using
- this function, because all conflicts has to be resolved manually by you!
+\begin_layout Itemize
+Unlocked state.
+ The loaded file is in the read-only mode.
+ For editation on needs to check-out.
+\emph on
+Check-out
+\emph default
+ consists of update from repository and gaining write lock.
+ If the lock is not possible to obtain, we remain in unlocked state.
 \end_layout
 
-\begin_layout Standard
-SVN command:
+\begin_layout Itemize
+Locked state.
+ The loaded file is in the 'normal' edit mode.
+ No other user is allowed to edit the file.
+\emph on
+Check-in
+\emph default
+ consists of commiting changes and releasing write-lock.
+ If no changes have been made to the document, no commit will be produced
 \begin_inset Foot
 status collapsed
 
 \begin_layout Plain Layout
-Ditto.
+Don't be puzzled by the fact that you will be asked for commit message anyway.
 \end_layout
 
 \end_inset
 
+ and only the write-lock will be released.
+\end_layout
+
+\begin_layout Standard
+SVN commands:
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Check-in:
 \family typewriter
-svn update 
-\begin_inset Quotes eld
+ svn commit -q -m"<description>" "<file-name>"
+\begin_inset Newline newline
 \end_inset
 
-<file-name>
-\begin_inset Quotes erd
-\end_inset
+svn unlock "<file-name>"
+\end_layout
 
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Check-out: 
+\family typewriter
+svn update "<file-name>"
+\begin_inset Newline newline
+\end_inset
 
+svn lock "<file-name>"
 \end_layout
 
 \begin_layout Subsubsection
 
-\family sans
-Revert To Repository Version
+\family typewriter
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:Automatical-Locking-Property"
+
+\end_inset
+
+
+\family default
+Automatical Locking Property
 \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.
+The above mentioned automatical setting of write permissions of the .lyx
+ file can be set through
+\family sans
+\bar under
+ F
+\bar default
+ile\SpecialChar \menuseparator
+
+\bar under
+V
+\bar default
+ersion
+\begin_inset space ~
+\end_inset
+
+Control\SpecialChar \menuseparator
+
+\bar under
+T
+\bar default
+oggle locking property
+\family default
+.
+ This command is active only when the file is not locked on the svn server
+ (i.e.
+ you need to check-out before proceeding).
 \end_layout
 
-\begin_layout Standard
-SVN command: 
-\family typewriter
-svn revert -q 
-\begin_inset Quotes eld
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+SVN
+\begin_inset space ~
 \end_inset
 
-<file-name>
-\begin_inset Quotes erd
-\end_inset
+commands:
+\end_layout
 
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Set:
+\family typewriter
+ svn propset svn:needs-lock ON "<file-name>"
+\end_layout
 
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Unset: 
+\family typewriter
+svn propdel svn:needs-lock "<file-name>"
 \end_layout
 
 \begin_layout Subsubsection
 \begin_inset CommandInset label
 LatexCommand label
-name "sub:SVN-Repo-Update"
-
-\end_inset
-
-Update of the local directory checkout with repository
-\begin_inset Foot
-status collapsed
+name "sub:VCS-Revision-Information"
 
-\begin_layout Plain Layout
-Note that this command will work only with subversion 
-\begin_inset Formula $\geqq1.5$
 \end_inset
 
-
+Revision Information in Documents
 \end_layout
 
-\end_inset
-
+\begin_layout Standard
+There are more possibilities how to activate revision information in our
+ document.
+\end_layout
 
+\begin_layout Itemize
+LyX supports directly:
 \end_layout
 
-\begin_layout Standard
-All the commands above have one shortcomming - they deal with the current
- document only.
- Once your document contains pictures, includes external 
+\begin_deeper
+\begin_layout Itemize
+tree revision information (
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-.tex
+vcs-tree-revision
 \end_layout
 
 \end_inset
 
- files and so on administration becomes more complicate.
- LyX now supports updating the whole tree in which resides the document
-\begin_inset Foot
+).
+ The result is the output of the 
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-One need to organize the files structure so that all external files are
- in the same directory or subdirectories of the document.
+svnversion
 \end_layout
 
 \end_inset
 
-.
- This become especially useful once you cooperate with people which neither
- know about subversion management nor they have ambition to commit additional
- material to the repository.
+ command, the following table gives you an idea, how to read the results.
 \end_layout
 
 \begin_layout Standard
-\begin_inset Flex CharStyle:Code
-status collapsed
+\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
-Synchronize local directory with repository
+Output
 \end_layout
 
 \end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
- command firstly reverts all local changes (to avoid merge conflicts aftwards)
- and then updates the whole directory structure from the archive.
- If local changes are detected user is warned before reversion starts.
+\begin_layout Plain Layout
+Meaning
 \end_layout
 
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-SVN
-\begin_inset space ~
-\end_inset
-
-commands: 
-\begin_inset space ~
 \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
 
-\begin_inset Newline newline
 \end_inset
-
-
-\begin_inset Flex CharStyle:Code
-status collapsed
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
 \begin_layout Plain Layout
-svn diff $path
+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
 
- (Ask if changes are detected.)
-\begin_inset Newline newline
-\end_inset
-
+\begin_layout Plain Layout
+4168M
+\end_layout
 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
 \begin_layout Plain Layout
-svn update --accept mine-full $path
+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
 
-\begin_layout Standard
-where 
-\begin_inset Flex CharStyle:Code
-status collapsed
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
 \begin_layout Plain Layout
-$path
+switched working copy
 \end_layout
 
 \end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
 
- stands for the path to the document.
+\begin_layout Plain Layout
+4123P
 \end_layout
 
-\begin_layout Subsubsection
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
 
-\family sans
-Show History
+\begin_layout Plain Layout
+partial working copy, from a sparse checkout
 \end_layout
 
-\begin_layout Standard
-This show the complete history of the SVN document.
- The output of 
-\family typewriter
-svn log 
-\begin_inset Quotes eld
 \end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
 
-<file-name>
-\begin_inset Quotes erd
-\end_inset
+\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
 
-\family default
- is shown in a browser.
+\begin_layout Plain Layout
+mixed revision, modified, switched working copy
 \end_layout
 
-\begin_layout Subsubsection
-File Locking
-\begin_inset CommandInset label
-LatexCommand label
-name "subsec:SVN-File-Locking"
-
 \end_inset
+</cell>
+</row>
+</lyxtabular>
 
+\end_inset
 
-\end_layout
 
-\begin_layout Standard
-The file exchange through various revision control systems brings the problem
- of merge conflicts in case two different users try to edit the same (parts
- of) document.
- When such 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.
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "subsec:Automatical-Locking-Property"
-
-\end_inset
-
-) based on 
+\begin_layout Itemize
+file revision information.
+ The result comes from parsing the output of 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-svn:needs-lock
-\end_layout
+svn
+\begin_inset space ~
+\end_inset
 
+info
+\begin_inset space ~
 \end_inset
 
- file svn property
-\begin_inset Foot
-status open
+--xml
+\begin_inset space ~
+\end_inset
 
-\begin_layout Plain Layout
-http://svnbook.red-bean.com/en/1.2/svn.advanced.locking.html
+file.lyx
 \end_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:
-\end_layout
-
-\begin_layout Itemize
-Unlocked state.
- The loaded file is in the read-only mode.
- For editation on needs to check-out.
-\emph on
-Check-out
-\emph default
- consists of update from repository and gaining write lock.
- If the lock is not possible to obtain, we remain in unlocked state.
+ Supported flags are:
 \end_layout
 
+\begin_deeper
 \begin_layout Itemize
-Locked state.
- The loaded file is in the 'normal' edit mode.
- No other user is allowed to edit the file.
-\emph on
-Check-in
-\emph default
- consists of commiting changes and releasing write-lock.
- If no changes have been made to the document, no commit will be produced
-\begin_inset Foot
+version number of the last commit (
+\begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-Don't be puzzled by the fact that you will be asked for commit message anyway.
+vcs-revision
 \end_layout
 
 \end_inset
 
- and only the write-lock will be released.
+)
 \end_layout
 
-\begin_layout Standard
-SVN commands:
+\begin_layout Itemize
+author of the last commit (
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+vcs-author
 \end_layout
 
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-Check-in:
-\family typewriter
- svn commit -q -m"<description>" "<file-name>"
-\begin_inset Newline newline
 \end_inset
 
-svn unlock "<file-name>"
+)
+\end_layout
+
+\begin_layout Itemize
+date of the last commit (
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+vcs-date
 \end_layout
 
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-Check-out: 
-\family typewriter
-svn update "<file-name>"
-\begin_inset Newline newline
 \end_inset
 
-svn lock "<file-name>"
+)
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Itemize
+time of the last commit (
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\family typewriter
-\begin_inset CommandInset label
-LatexCommand label
-name "subsec:Automatical-Locking-Property"
+\begin_layout Plain Layout
+vcs-time
+\end_layout
 
 \end_inset
 
-
-\family default
-Automatical Locking Property
+)
 \end_layout
 
+\end_deeper
 \begin_layout Standard
-The above mentioned automatical setting of write permissions of the .lyx
- file can be set through
-\family sans
-\bar under
- F
-\bar default
-ile\SpecialChar \menuseparator
-
-\bar under
-V
-\bar default
-ersion
-\begin_inset space ~
-\end_inset
-
-Control\SpecialChar \menuseparator
+You can obtain this info via InsetInfo (e.g.
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\bar under
-T
-\bar default
-oggle locking property
-\family default
-.
- This command is active only when the file is not locked on the svn server
- (i.e.
- you need to check-out before proceeding).
+\begin_layout Plain Layout
+info-insert buffer vcs-date
 \end_layout
 
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-SVN
-\begin_inset space ~
 \end_inset
 
-commands:
-\end_layout
-
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-Set:
-\family typewriter
- svn propset svn:needs-lock ON "<file-name>"
-\end_layout
+).
+ The information will be available only when you have the file stored under
+ svn managment (i.e.
+ the 
+\begin_inset Flex CharStyle:Code
+status collapsed
 
-\begin_layout Labeling
-\labelwidthstring 00.00.0000
-Unset: 
-\family typewriter
-svn propdel svn:needs-lock "<file-name>"
+\begin_layout Plain Layout
+.svn
 \end_layout
 
-\begin_layout Subsubsection
-Revision Information in Documents
-\end_layout
+\end_inset
 
-\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.
+ 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
 
@@ -18998,32 +19789,7 @@ $Rev: 59 $
  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
@@ -19211,6 +19977,206 @@ Control
  client program from a command prompt.
 \end_layout
 
+\begin_layout Subsubsection
+SSH tunel used with SVN under Windows
+\end_layout
+
+\begin_layout Standard
+Compared to linux setting svn client to communicate over ssh under Windows
+ is rather troublesome task.
+ We will at least make some hints how to setup client side but former knowledge
+ about ssh and Windows command line is needed, also be prepared for a great
+ deal of frustration...
+\end_layout
+
+\begin_layout Enumerate
+Get svn client for windows, as described in previous sections.
+ When it is fresh install run some svn command (e.g.
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+svn --version
+\end_layout
+
+\end_inset
+
+) to have created config files, which you will need to change later on.
+\end_layout
+
+\begin_layout Enumerate
+Choose ssh client for Windows.
+ There are more possibilities, we will use the one from Putty tools
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+.
+ You will need to automatize connection, so 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 CharStyle: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.
+ In case 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-past
+e 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 CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+~/.ssh/authorized_keys
+\end_layout
+
+\end_inset
+
+/ 
+\begin_inset Flex CharStyle: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 CharStyle: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 CharStyle: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 CharStyle: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 CharStyle: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 CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+svn co svn+ssh://user@server/repository_path
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
 \begin_layout Subsection
 Further tuning
 \end_layout