#LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
-\lyxformat 369
+\lyxformat 374
\begin_document
\begin_header
\textclass scrbook
\end_local_layout
\language english
\inputencoding latin1
+\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\paperfontsize 12
\spacing single
\use_hyperref true
-\pdf_title "LyX's Extended manual"
+\pdf_title "LyX's Additional Features manual"
\pdf_author "LyX Team"
-\pdf_subject "LyX's extended documentation"
-\pdf_keywords "LyX, Documentation, Extended"
+\pdf_subject "LyX's additional features documentation"
+\pdf_keywords "LyX, Documentation, Additional"
\pdf_bookmarks true
\pdf_bookmarksnumbered true
\pdf_bookmarksopen false
\use_geometry false
\use_amsmath 0
\use_esint 0
+\use_mhchem 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
+\suppress_date false
+\index Index
+\shortcut idx
+\color #008000
+\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paperpagestyle headings
\tracking_changes false
\output_changes false
+\html_use_mathml true
+\html_be_strict true
\end_header
\begin_body
Did you go overboard with the nesting? LyX (currently) doesn't check to
make sure you're in the limits for nesting environments.
If you nested a bunch of environments to the
-\begin_inset Formula $17^{\mathrm{th}}
-$
+\begin_inset Formula $17^{\mathrm{th}}$
\end_inset
level, that's the problem.
citations to LyX.
\end_layout
-\begin_layout Standard
-Please note that, at present,
-\emph on
-the server does not work natively on Windows
-\emph default
-
-\begin_inset Foot
-status collapsed
-
-\begin_layout Plain Layout
-There is no reason it cannot do so.
- But none of the developers on Windows have yet implemented this functionality
- there.
-\end_layout
-
-\end_inset
-
- but it does work with Cygwin versions of LyX.
-\end_layout
-
\begin_layout Section
Starting the LyX Server
\end_layout
\end_inset
- and have the names
+, (except on Windows, where
+\emph on
+local
+\emph default
+ named pipes are special objects located in
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+
+\backslash
+.
+\backslash
+pipe
+\end_layout
+
+\end_inset
+
+) and have the names
\begin_inset Quotes eld
\end_inset
status collapsed
\begin_layout Plain Layout
-.lyxpipe.in
+lyxpipe.in
\end_layout
\end_inset
status collapsed
\begin_layout Plain Layout
-.lyxpipe.out
+lyxpipe.out
\end_layout
\end_inset
\end_inset
+, 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
' 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.
- If for some other reason, an unused
+ On POSIX (Unix like) systems, if for some other reason, an unused
\begin_inset Quotes eld
\end_inset
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
\end_layout
\begin_layout Subsubsection*
-YAP (Cygwin)
+YAP (Windows)
\end_layout
\begin_layout Standard
\end_inset
- if you want to use the shell script above, or as
+.
+ The
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
--g %f %l
+lyxeditor.bat
\end_layout
\end_inset
- if you want to use the
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-lyxclient
+ wrapper is used for communicating with LyX through the
+\emph on
+lyxpipe
+\emph default
+ and is as follows:
\end_layout
+\begin_layout LyX-Code
+@echo off
+\begin_inset Newline newline
\end_inset
- program.
- Since yap is a native Windows application, the filename it provides should
- be converted to POSIX style before being passed to
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-lyxeditor.sh
-\end_layout
+echo LYXCMD:revdvi:server-goto-file-row:%1 %2>
+\backslash
+\backslash
+.
+\backslash
+pipe
+\backslash
+lyxpipe.in
+\begin_inset Newline newline
\end_inset
- or
+type
+\backslash
+
+\backslash
+.
+\backslash
+pipe
+\backslash
+lyxpipe.out
+\end_layout
+
+\begin_layout Standard
+Make sure that the LyXServer pipe path you specified in LyX is
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-lyxclient
+
+\backslash
+
+\backslash
+.
+\backslash
+pipe
+\backslash
+lyxpipe
\end_layout
\end_inset
-, and this is the purpose of the
+, otherwise change the
\begin_inset Flex CharStyle:Code
status collapsed
\end_inset
- wrapper, which is as follows:
+ wrapper accordingly.
\end_layout
-\begin_layout LyX-Code
-@echo off
-\begin_inset Newline newline
-\end_inset
+\begin_layout Standard
+In yap, reverse search is triggered by double-click.
+\end_layout
-if "%1" == "-g" goto lyxclient
-\begin_inset Newline newline
-\end_inset
+\begin_layout Subsubsection*
+SumatraPDF (Windows)
+\end_layout
-bash -c 'lyxeditor.sh $(cygpath -a "%1") %2'
-\begin_inset Newline newline
-\end_inset
+\begin_layout Standard
+In order to use SumatraPDF for inverse search, enter
+\begin_inset Flex CharStyle:Code
+status collapsed
-exit
-\begin_inset Newline newline
-\end_inset
+\begin_layout Plain Layout
+SumatraPDF -inverse-search "lyxeditor.bat %f %l"
+\end_layout
-:lyxclient
-\begin_inset Newline newline
\end_inset
-bash -c 'lyxclient %1 $(cygpath -a "%2") %3'
-\end_layout
-
-\begin_layout Standard
-You have to make sure that both
-\begin_inset Flex CharStyle:Code
+ in the viewer setting in
+\begin_inset Flex CharStyle:MenuItem
status collapsed
\begin_layout Plain Layout
-lyxeditor.sh
+Preferences\SpecialChar \menuseparator
+File Handling\SpecialChar \menuseparator
+File formats\SpecialChar \menuseparator
+PDF (pdflatex)
\end_layout
\end_inset
- and
+, where
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-lyxclient.exe
+lyxeditor.bat
\end_layout
\end_inset
- are in the command PATH, otherwise you have to use their full posix path
- in the above batch file.
+ is the previous wrapper.
+ If SumatraPDF.exe is not in your command PATH, use its full file name.
\end_layout
\begin_layout Standard
-In yap, reverse search is triggered by double-click.
+Reverse search is triggered by double-click.
\end_layout
\begin_layout Subsubsection*
-SumatraPDF (Cygwin)
+YAP (Cygwin)
\end_layout
\begin_layout Standard
-In SumatraPDF, you can set the name of the program that communicates with
- LyX by simply launching SumatraPDF as
-\begin_inset Flex CharStyle:Code
+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
status collapsed
\begin_layout Plain Layout
-SumatraPDF -inverse-search "lyxeditor.bat -g %f %l"
+View\SpecialChar \menuseparator
+Options
\end_layout
\end_inset
- and then quit.
- The program will remember the setting and using the
-\begin_inset Flex CharStyle:Code
-status collapsed
+ menu and select the
+\begin_inset Quotes eld
+\end_inset
-\begin_layout Plain Layout
--inverse-search
-\end_layout
+Inverse DVI Search
+\begin_inset Quotes erd
+\end_inset
+ tab.
+ Click on the
+\begin_inset Quotes eld
\end_inset
- option will not be needed from now on
-\begin_inset Foot
-status collapsed
+New\SpecialChar \ldots{}
-\begin_layout Plain Layout
-It has been reported that SumatraPDF is not able to remember the settings
- if it is installed in the Program Files system folder.
- This problem can be avoided by installing it somewhere else, for example
- in
+\begin_inset Quotes erd
+\end_inset
+
+ button and, in the window that opens, enter
+\begin_inset Quotes eld
+\end_inset
+
+LyX Editor
+\begin_inset Quotes erd
+\end_inset
+
+ (or any other name you like) in the
+\begin_inset Quotes eld
+\end_inset
+
+Name:
+\begin_inset Quotes erd
+\end_inset
+
+ field.
+ Now click on the button labeled
+\begin_inset Quotes eld
+\end_inset
+
+\SpecialChar \ldots{}
+
+\begin_inset Quotes erd
+\end_inset
+
+ to open a file dialog and navigate to the directory containing the
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-/usr/local/bin
+lyxeditor.exe
\end_layout
\end_inset
-.
+ 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
+lyxeditor.exe
\end_layout
\end_inset
- (in this way you will be using the lyxsocket; omit the
+ and then specify the program arguments as
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
--g
+-g %f %l
\end_layout
\end_inset
- option if you want to use the lyxpipe and be sure that the
+.
+ In this way, you will be using the
+\emph on
+lyxsocket
+\emph default
+ for communicating with LyX.
+ If, for whatever reason, you want to use the
+\emph on
+lyxpipe
+\emph default
+, omit the
\begin_inset Flex CharStyle:Code
status collapsed
\begin_layout Plain Layout
-lyxeditor.sh
+-g
\end_layout
\end_inset
- script is in your command PATH).
- If SumatraPDF is not your default PDF viewer, you should enter
+ option and be sure to specify the LyXServer pipe path in the LyX preferences.
+\end_layout
+
+\begin_layout Standard
+In yap, reverse search is triggered by double-click.
+\end_layout
+
+\begin_layout Subsubsection*
+SumatraPDF (Cygwin)
+\end_layout
+
+\begin_layout Standard
+In order to use SumatraPDF for inverse search, enter
\begin_inset Flex CharStyle:Code
status collapsed
\begin_inset Newline newline
\end_inset
-SumatraPDF.exe $(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.
+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
+-g
+\end_layout
+
+\end_inset
+
+ enables communication via the
+\emph on
+lyxsocket
+\emph default
+.
+ Again, omit the
+\begin_inset Flex CharStyle: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
.
These will number the results as
-\begin_inset Formula $n.m
-$
+\begin_inset Formula $n.m$
\end_inset
, where the first number refers to the section (or chapter) and the second
4
\family default
textclass works with the American Physical Sociey's RevTeX 4.0 (the
-\begin_inset Formula $\beta
-$
+\begin_inset Formula $\beta$
\end_inset
release of May, 1999) class.
\end_inset
instead of
-\begin_inset Formula $\times
-$
+\begin_inset Formula $\times$
\end_inset
between numbers:
\end_inset
2x2 looks cheap compared to
-\begin_inset Formula $2\times2
-$
+\begin_inset Formula $2\times2$
\end_inset
.
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.4 and 1.5.
+ 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
\begin_layout Standard
SVN command that is run:
\family typewriter
-snv add -q
+svn add -q
\begin_inset Quotes eld
\end_inset
\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 done manually by you!
+ this function, because all conflicts has to be resolved manually by you!
\end_layout
\begin_layout Standard
\end_layout
+\begin_layout Subsubsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:SVN-Repo-Update"
+
+\end_inset
+
+Update of the local directory checkout from repository
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Note that this command will work only with subversion
+\begin_inset Formula $\geqq1.5$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+All the commands above have one shortcomming - they deal with the current
+ document only.
+ Once your document contains pictures, includes external
+\begin_inset Flex 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
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+svn diff $path
+\end_layout
+
+\end_inset
+
+ (Ask if changes are detected.)
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+svn update --accept mine-full $path
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+where
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+$path
+\end_layout
+
+\end_inset
+
+ stands for the path to the document.
+\end_layout
+
\begin_layout Subsubsection
\family sans
There are more problems with this approach.
Firstly, the '$' character is used in TeX world for math equations, so
any occurence of math formula
-\begin_inset Formula $Rev
-$
+\begin_inset Formula $Rev$
\end_inset
become
-\begin_inset Formula $Rev:59
-$
+\begin_inset Formula $Rev:59$
\end_inset
in your LyX document.
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 “
+\begin_inset Flex CharStyle:Emph
+status collapsed
+
+\begin_layout Plain Layout
+Public key for pasting into OpenSSH authorized_keys file:
+\end_layout
+
+\end_inset
+
+” 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