diff options
Diffstat (limited to 'doc/kdvi/index.docbook')
-rw-r--r-- | doc/kdvi/index.docbook | 1072 |
1 files changed, 1072 insertions, 0 deletions
diff --git a/doc/kdvi/index.docbook b/doc/kdvi/index.docbook new file mode 100644 index 00000000..cd60e640 --- /dev/null +++ b/doc/kdvi/index.docbook @@ -0,0 +1,1072 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" + "dtd/kdex.dtd" [ + <!ENTITY kappname "&kdvi;"> + <!ENTITY package "kdegraphics"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE"><!-- change language only here --> +]> + +<book lang="&language;"> + <bookinfo> + <title>The &kdvi; Handbook</title> + <authorgroup> + <author> + <firstname>Stefan</firstname> + <surname>Kebekus</surname> + <affiliation> + <address> + <email>[email protected]</email> + </address> + </affiliation> + </author> + <!-- TRANS:ROLES_OF_TRANSLATORS --> + </authorgroup> + + <copyright> + <year>2001-2004</year> + <holder>Stefan Kebekus</holder> + </copyright> + + <legalnotice>&FDLNotice;</legalnotice> + + <date>2004-02-27</date> + <releaseinfo>1.11.00</releaseinfo> + + <abstract> + <para>This document describes &kdvi; version 1.1</para> + </abstract> + + <keywordset> + <keyword>KDE</keyword> + <keyword>linux</keyword> + <keyword>TeX</keyword> + <keyword>DVI</keyword> + </keywordset> + + </bookinfo> + + <chapter id="introduction"> + <title>Introduction</title> + + <para>&kdvi; is a plugin for the &kviewshell; program which allows + &kviewshell; to display &DVI;-files (<literal + role="extension">.dvi</literal>) which are produced by the TeX + typesetting system. &kdvi; supports many extensions of the &DVI; + standard, for instance the inclusion of &PostScript; graphics or + hyperlinks. More details, examples and all the technical + specifications can be found in the file + <filename>KDVI-features.dvi</filename> (or see + <filename>KDVI-features.tex</filename> for the TeX source of that + file).</para> + + <para>For up-to-date information, consult <ulink + url="http://devel-home.kde.org/~kdvi">&kdvi;'s home page</ulink>. + </para> + + <para>TeX is a high-end typesetting system geared towards + scientific, and in particular mathematical typesetting. More + information about TeX and &DVI; can be found on the <ulink + url="http://www.tug.org">homepage of the TeX user group</ulink> or + the German <ulink url="http://www.dante.de">German DANTE + e.V.</ulink>. + </para> + </chapter> + + + <chapter id="starting"> + <title>Starting &kdvi;</title> + + <para>Most of the time, &kdvi; will be started by just clicking + onto a <literal role="extension">.dvi</literal> file in the file + manager. For convenience there exists a command + <command>kdvi</command> which calls &kviewshell; with the &kdvi; + plugin preloaded. The viewer may thus be started using the command + <userinput><command>kdvi</command> + <parameter>somepath/paper.dvi</parameter></userinput>. The command + lines <userinput><command>kdvi</command> + <parameter>somepath/paper</parameter></userinput> or + <userinput><command>kdvi</command> + <parameter>somepath/paper.</parameter></userinput> will also + work. If you are connected to the internet, you can access files + which reside on other computers by giving a &URL; as a parameter, + like this: <userinput><command>kdvi</command> + <parameter>http://somepath/paper.dvi</parameter></userinput> + </para> + + <para>If you give a &URL; as a parameter, you can tell &kdvi; to + jump directly to certain place of the &DVI; file. + For example, <userinput><command>kdvi</command> + <parameter>file:paper.dvi#43</parameter></userinput> will make + &kdvi; to open page 43. If you have included source file + information, a command like <userinput><command>kdvi</command> + <parameter>file:paper.dvi#src:43paper.tex</parameter></userinput> + will make &kdvi; search for the place in the &DVI; file which + corresponds to line 43 in the TeX file + <parameter>paper.tex</parameter>. You will hardly use this option + yourself — read the section on <link + linkend="forward-search">forward search</link> to learn how to + set up your editor to start &kdvi; automatically. + </para> + + <warning><para>Don't forget the <userinput>file:</userinput> + prefix or it will give unexpected results. For example, the command + <userinput><command>kdvi</command> + <parameter>file:paper.dvi#43</parameter></userinput> will open + page 43 of the file <filename>paper.dvi</filename>. The command + <userinput><command>kdvi</command> + <parameter>paper.dvi#43</parameter></userinput> will try to open + the file <filename>paper.dvi#43</filename>.</para> + </warning> + + <para>There is another option which you will most likely not need + to specify yourself. If you type + <userinput><command>kdvi</command> <parameter>--unique</parameter> + <parameter>somepath/paper.dvi</parameter></userinput>, &kdvi; will + load the file if there is no other instance running which has the + file already loaded. If there is, this instance of &kdvi; will pop + to the front. A command like <userinput><command>kdvi</command> + <parameter>--unique</parameter> + <parameter>file:paper.dvi#43</parameter></userinput> can be used + in shell scripts to make a running instance of &kdvi; to jump to + page 43.</para> + + <para>The usual parameters handled by &Qt; and &kde; applications + also work: <userinput><command>kdvi</command> + <option>-style</option> <parameter>windows</parameter> + <option>-display</option> <parameter>:0</parameter> + <option>-geometry</option> <parameter>400x400+0+0</parameter> + <option>-caption</option> <parameter>"DVI"</parameter></userinput> + </para> + </chapter> + + + <chapter id="print"> + <title>Printing &DVI; Files</title> + + <para>&kdvi; can print your &DVI; files using the standard &kde; + printing interface. Internally, &kdvi; uses the program + <command>dvips</command> to generate &PostScript;, which is then + passed on to the printer. In particular, <command>dvips</command> + must be installed if you want to print with &kdvi;. The program + <command>dvips</command> uses its own configuration files and its + own settings, which are fine for most purposes. However, if you + care for optimal printing results, you should configure + <command>dvips</command> manually and make sure to set a default + MetaFont mode which fits your printer best — on many systems + you'll find a <ulink url="info:/dvips">GNU-texinfo documentation + of <command>dvips</command></ulink>, and you might also want to + look for a file called <filename>dvips.dvi</filename> or + similar.</para> + </chapter> + + <chapter id="export"> + <title>Exporting the &DVI; file to other formats</title> + + <para>If you want to save your file as in &PostScript; or PDF + format, it is not recommended that you use the printing function + and redirect the printer output to a file. Instead, you can use + the export functions which produce better-quality output that + retains many of the special features of the dvi format and looks + better in many of the viewing applications, such as Adobe's + <application>Acrobat Reader</application>. You will find the + export functions in the <guimenu>File</guimenu> menu.</para> + + <section id="export-ps"> + <title>Exporting to &PostScript;</title> + + <para>As in printing, the external program + <command>dvips</command> is used to generate the &PostScript; + file. If the &DVI; file contains hyperlinks, these will also be + included in the &PostScript; file. If you are an expert, and if + you would like to generate output which is optimized for a + specific printer, you should probably start + <command>dvips</command> manually and choose the proper MetaFont + mode yourself.</para> + </section> + + <section id="export-pdf"> + <title>Exporting to <acronym>PDF</acronym></title> + + <para>In order to produce <acronym>PDF</acronym> files of high + quality, &kdvi; converts &DVI; to <acronym>PDF</acronym> using + the external program <command>dvipdfm</command>. If you are + working on a machine where an older distribution of the TeX + typesetting system is installed, it may be that the program + <command>dvipdfm</command> is not installed. In that case, you + need to use the printing function to generate + <acronym>PDF</acronym> output.</para> + + <warning> + <itemizedlist> + <listitem> + <para> + If you use an older TeX installation, and if are viewing + the generated file in Adobe's <application>Acrobat + reader</application>, you may well find that some of the + fonts look extremely poor although a printout is fine, + and although the document looks ok in + <command>kghostview</command>. This is a known issue with + the <application>Acrobat Reader</application> and bitmap + fonts. At the time of writing, the only practicable + workaround seems to be to avoid bitmap fonts, or to + upgrade to a more recent TeX installation. + </para> + </listitem> + <listitem> + <para> + While <command>dvipdfm</command> produces high-quality + <acronym>PDF</acronym> files, <command>dvipdfm</command> + currently currently ignores the &PostScript; that is + embedded into the &DVI; file. Embedded PostScript is + generated e.g. by the <application>xy</application> macro + package, or by the "Embed PostScript files" function + &kdvi; described <link linkend="embed">below</link>. + </para> + <para> + If you find that the generated <acronym>PDF</acronym> + file misses graphical data, use the print function of + &kdvi; instead. + </para> + </listitem> + </itemizedlist> + </warning> + </section> + + + <section id="export-text"> + <title>Exporting to text files</title> + + <para>&kdvi; can also save your &DVI; files in text format.</para> + + <warning> + <para> + The &DVI; file standard was not designed with this kind of + functionality in mind. This function therefore only works + well with standard ASCII characters. It will not work with + non-European languages. Depending on the fonts used in the + files, there may also be problems with accented characters or + umlauts, and sometimes with ligatures. + </para> + </warning> + </section> + </chapter> + + + <chapter id="embed"> + <title>Embedding PostScript files into the &DVI;</title> + + <para>The traditional way of using graphics with + <application>TeX</application> does not include the graphics data + directly in the &DVI; file. Instead, the &DVI; file contains only + a link to a graphics file which resides on the hard disk. The + advantage of this procedure is that the &DVI; file stays small, + and that the graphics file can be modified indepent of the + document's <application>TeX</application> source. The method, + however, becomes fairly inconvenient if you intend to archive the + &DVI; file, or if you wish to send it to someone else: rather than + handling a single file, you have to deal with a multitude of + files, which need to be kept in exactly the place specified in the + &DVI; file for everything to work.</para> + + <para>For that reason, &kdvi; allows you to embed external + &PostScript; files into your &DVI; file. To embed all &PostScript; + files into a &DVI; file, use the menu entry <guimenu>Edit/Embed + external PostScript files</guimenu> </para> + + <warning> <para>&DVI; files with embedded &PostScript; work fine + with most other &DVI; handling software, + e.g. <application>xdvi</application>, + <application>dvips</application> or + <application>dvipdf</application>. One notable exception is the + <application>dvipdfm</application> program, which currently + ignores the embedded &PostScript;. Since + <application>dvipdfm</application> is used internally by the + "Export to <acronym>PDF</acronym>" function of &kdvi;, expect + problems when you use that function. The same issue shows with + other software that uses embedded PostScript, e.g. the + <application>TeX</application> <application>xy</application> macro + package.</para> </warning> + </chapter> + + + <chapter id="inverse-search"> + <title>Using inverse search</title> + <anchor id="inv-search"></anchor> + + <para>Inverse search is a very useful feature when you are writing + a TeX document yourself. If everything is properly set up, you can + click into &kdvi;'s window with the + <mousebutton>middle</mousebutton> mouse button (on some systems, + when you don't have a three-button mouse, you can simultaneously + use the <mousebutton>left</mousebutton> and the + <mousebutton>right</mousebutton> button). After that, your + favorite editor will open, load the TeX source file and jump to + the proper paragraph. To use inverse search, do the + following:</para> + + + <procedure> + <step> + <para>Produce a &DVI; file that contains inverse search + information. This is explained in the section <link + linkend="inverse-search-tex">Producing TeX files for inverse + search</link> below. If you just want to test the inverse + search feature, you can also use the example file + <filename>KDVI-features.dvi</filename></para> + </step> + <step> + <para>Let &kdvi; know which editor you would like to + use. Choose an editor in the <guilabel>Preferences</guilabel> + dialog (this dialog can be reached by choosing + <guimenuitem>DVI Options</guimenuitem> in the + <guimenu>Settings</guimenu> menu). The next section of this + documentation, <link linkend="opt-rendering">Rendering + Options</link>, explains this dialog in more detail.</para> + </step> + <step> + <para>Some editors need to be started manually, or need + additional configuration. You will find a description of all + supported editors in the section <link + linkend="inverse-search-editor">Setting up your + editor for inverse search</link> below.</para> + </step> + <step> + <para>Test your setup. Open your &DVI; file in &kdvi; and use + the <mousebutton>middle</mousebutton> mouse button to click + into &kdvi;. The editor should pop up and display the TeX + file.</para> + </step> + </procedure> + + + <section id="inverse-search-tex"> + <title>Producing TeX files for inverse search</title> + <para>There are essentially two ways to produce &DVI; files + which contain inverse search information: you can either use a + TeX/LaTeX binary which generates and includes the necessary + information automatically, or you can include an extra package + which is written in TeX/LaTeX.</para> + <itemizedlist> + <listitem> + <para>A TeX binary which generates and includes the + necessary information automatically is certainly the + preferred method of including inverse search information. + If you use version 2 or greater of the <ulink + url="http://www.tug.org/teTeX/">TeTeX TeX + distribution</ulink>, you can use the 'src-specials' command + line option of the tex or latex command, as follows. +<programlisting> +tex --src-specials myfile.tex +</programlisting> +or +<programlisting> +latex --src-specials myfile.tex +</programlisting> + </para> + </listitem> + <listitem> + <para>If you do not have a TeX binary which includes inverse + search information natively, copy the files + <ulink url="srcltx.sty"> + <filename>srcltx.sty</filename> </ulink> and + <ulink url="srctex.sty"> <filename>srctex.sty</filename> + </ulink> to the folder where your TeX file resides (you + can do that by pressing the &Shift; key and &LMB; while the + mouse pointer is on a hyperlink.) If you use LaTeX, add the + line +<programlisting> +\usepackage[active]{srcltx} +</programlisting> + to the preamble of your LaTeX file. If you use plain TeX, the line +<programlisting> +\include{srctex} +</programlisting> + will do the trick.</para> + </listitem> + </itemizedlist> + + <tip> + <para>While inverse search is extremely useful when you are + typing a document yourself, it might be a good idea to remove + the inverse search information before sending the &DVI; file to + someone else.</para> + </tip> + + </section> + + <section id="inverse-search-editor"> + + <title>Setting up your editor for inverse search</title> + + <para>While inverse search works generally very well with most + editors, some of them require a bit of extra care. This section + explains how to configure your editor.</para> + + <section id="editor-setup-emacs"> + <title><application>Emacs</application></title> + + <para><application>Emacs</application> works well with + &kdvi;. The actual behavior of <application>Emacs</application> + depends largely on the configuration. As usual, you can + customize <application>Emacs</application> completely, if you + are willing to fight your way through Lisp code.</para> + + <para>&kdvi; uses the program <command>emacsclient</command> to + remote control <application>Emacs</application>.</para> + <important> + <para>The program <command>emacsclient</command> requires that + <application>Emacs</application> is running, and that the + program <application>Emacs Server</application> is started inside + <application>Emacs</application>. Inverse search will not work + optimally unless you have started both + <application>Emacs</application> and the <application>Emacs + Server</application>.</para> + </important> + + <para>To start the <application>Emacs Server</application>, you can do + one of the following:</para> + <itemizedlist> + <listitem> + <para>In <application>Emacs</application>, start the + <application>Emacs Server</application> by typing + <userinput><keycombo action="seq"><keycap>M</keycap><keycap>X</keycap></keycombo> + <command>server-start</command></userinput></para> + </listitem> + <listitem> + <para>Add the line +<programlisting> +(server-start) +</programlisting> + to your <filename>.emacs</filename> file. Restart + <application>Emacs</application></para> + </listitem> + </itemizedlist> + + + <tip> + <itemizedlist> + <listitem> + <para>Make sure that <application>Emacs</application> is + installed. Try to start <command>emacs</command> from + the command line.</para> + </listitem> + <listitem> + <para>&kdvi; uses the command + <command>emacsclient</command> to remote control + <application>Emacs</application>. Make sure that + <command>emacsclient</command> is available on the + command line by trying the command + <userinput><command>emacsclient</command> + <parameter>Name of a text + file</parameter></userinput>. This should open a new + text in the <application>Emacs</application> + editor.</para> + </listitem> + <listitem> + <para>If <command>emacsclient</command> fails with an + error message like <computeroutput>unable to connect to + local</computeroutput>, make sure that + <application>Emacs</application> is + running. Furthermore, make sure that the + <application>Emacs Server</application> is started by typing + <userinput><keycombo action="seq"><keycap>M</keycap><keycap>x</keycap></keycombo> + <command>server-start</command></userinput>.</para> + </listitem> + <listitem> + <para>If you want the frame to be auto-raised, add the + <function>raise-frame</function> function to + <quote>server-switch-hook</quote> (do + <userinput><keycombo action="seq"><keycap>M</keycap><keycap>x</keycap></keycombo> + <command>customize-variable</command> + <keycap>RET</keycap> + <command>server-switch-hook</command></userinput> and + enter the function name into the text field.</para> + </listitem> + <listitem> + <para>If you have changed the buffer since your last + save, <application>Emacs</application> will ask you: + <computeroutput>Revert buffer from file ...? (yes or + no)</computeroutput>. You will probably always want to + say <emphasis>no</emphasis> here, since reverting means + that the file is reread from disk, <emphasis>causing all + your changes since the last save to be + lost!</emphasis></para> + + <para><command>gnuclient</command>'s behavior + of silently reloading the changed buffer is probably + preferable — add the following lines to your + <filename>.emacs</filename> file to emulate + <command>gnuclient</command>'s behavior with + <command>emacsclient</command>:</para> + +<programlisting> +(defadvice server-visit-files (around save-buffers last activate) + "Try to emulate gnuclient behavior with emacsclient. +Works only for visiting one buffer at a time." + (let* ((filen (car (car (ad-get-arg 0)))) + (buf (get-file-buffer filen)) + (this-buf-modified-p nil)) + ;;; the following is copied from server-visit-files, with + ;;; a modification for the `verify-visited-file-modtime' test + (if (and buf (set-buffer buf)) + (if (file-exists-p filen) + ;;; if the file has changed on disk, reload it + ;;; using `find-file-noselect' + (if (not (verify-visited-file-modtime buf)) + (progn + (find-file-noselect filen) + ;;; if user answered `no', reset modtime anyway + ;;; so that server-visit-files doesn't realize the + ;;; difference: + (set-visited-file-modtime))) + ;;; if file exists no longer, we let server-visit-files + ;;; deal with that + t) + (setq buf (find-file-noselect filen))) + (setq this-buf-modified-p (buffer-modified-p buf)) + (set-buffer buf) + (set-buffer-modified-p nil) + ad-do-it + (set-buffer-modified-p this-buf-modified-p))) +</programlisting> + </listitem> + </itemizedlist> + </tip> + </section> + + + <section id="editor-setup-kate"> + <title>&kate;</title> + + <para>&kde;'s editor &kate; supports inverse search very well. + No extra setup is required.</para> </section> + + + <section id="editor-setup-kile"> + <title><application>Kile</application></title> + + <para>The LaTeX-editor system <application>Kile</application>, + supports KDVI very well. No extra setup is + necessary. Further information about Kile can be found at + <ulink url="http://kile.sourceforge.net">Kile's + homepage</ulink>. + </para> + </section> + + + <section id="editor-setup-nedit"> + <title><application>NEdit</application></title> + + <para><application>NEdit</application> generally works very well + indeed. Clicking into the &DVI; file should open a new + window. If the TeX file is already used in another window of + <application>NEdit</application>, the newly opened window + displays another view of the buffer. Otherwise, the TeX file is + loaded. After opening the window, + <application>NEdit</application> highlights the first line of + the appropriate paragraph.</para> + <tip> + <para>&kdvi; uses the command <command>ncl</command> to + remote control <application>NEdit</application>. Make sure + that <command>ncl</command> is available on the command line + by trying the command <userinput><command>ncl</command> + <parameter>-noask</parameter></userinput>. This should + open an instance of the <application>NEdit</application> + editor. If <command>ncl</command> is not available, you + might be using an older version of + <application>NEdit</application>. In that case, you should + either upgrade to a more recent version, or you have to use + the option <guilabel>User defined editor</guilabel> from the + <guilabel>Options</guilabel> dialog.</para> + </tip> + </section> + + <section id="editor-setup-xemacs"> + <title><application>XEmacs</application></title> + + <para><application>XEmacs</application> works well with + &kdvi;. The actual behavior of + <application>XEmacs</application> depends largely on the + configuration. As usual, you can customize + <application>XEmacs</application> completely, if you are willing + to fight your way through Lisp code.</para> + + <para>&kdvi; uses the program <command>gnuclient</command> to + remote control <application>XEmacs</application>.</para> + <important> + <para>The program <command>gnuclient</command> requires that + <application>XEmacs</application> is running, and that the + program <application>gnuserv</application> is started inside + <application>XEmacs</application>. Inverse search will not + work unless you have started both + <application>XEmacs</application> and + <application>gnuserv</application>.</para> + </important> + + <para>To start the <application>gnuserv</application> program, you can + do one of the following:</para> + <itemizedlist> + <listitem> + <para>In <application>XEmacs</application>, start + <application>gnuserv</application> by typing +<userinput><keycombo action="seq"><keycap>M</keycap><keycap>X</keycap></keycombo> + <command>gnuserv-start</command></userinput></para> + </listitem> + <listitem> + <para>Add the line +<programlisting> +(gnuserv-start) +</programlisting> + to your <filename>.xemacs</filename> file. If you use a + more recent version of <application>XEmacs</application>, + <filename class="directory">.xemacs</filename> will be a + folder. In that case, you should append the line to the + file <filename>.xemacs/init.el</filename>. Restart + <application>XEmacs</application></para> + </listitem> + </itemizedlist> + + <para>If you don't want to open a new frame for each editor + call, and want the frame to be auto-raised, set <quote>Gnuserv + Frame</quote> to <quote>Use selected frame</quote>, and add the + <function>raise-frame</function> function to <quote>Visit + Hook</quote>. Do <userinput><keycombo action="seq"><keycap>M</keycap><keycap>x</keycap></keycombo> + <command>customize-group</command> <keycap>RET</keycap> + <command>gnuserv</command></userinput> to make these + settings.</para> + + <tip> + <itemizedlist> + <listitem> + <para>Make sure that <application>XEmacs</application> + is installed. Try to start <command>xemacs</command> + from the command line.</para> + </listitem> + <listitem> + <para>&kdvi; uses the command <application>gnuserv</application> + to remote control + <application>XEmacs</application>. Make sure that + <command>gnuclient</command> is available on the command + line by trying the command + <userinput><command>gnuclient</command> <parameter>Name + of a text file</parameter></userinput>. This should open + a new frame in the <application>XEmacs</application> + editor.</para> + </listitem> + <listitem> + <para>If <application>gnuserv</application> fails with an error + message like <computeroutput>unable to connect to + local</computeroutput>, make sure that + <application>XEmacs</application> is + running. Furthermore, make sure that + <application>gnuserv</application> is started by typing + <userinput><keycombo action="seq"><keycap>M</keycap><keycap>X</keycap></keycombo> + <command>gnuserv-start</command></userinput>.</para> + </listitem> + <listitem> + <para>If you don't want to open a new frame for each + editor call, and want the frame to be auto-raised, set + <quote>Gnuserv Frame</quote> to <quote>Use selected + frame</quote>, and add the <quote>raise-frame</quote> + function to <quote>Visit Hook</quote>. Do + <userinput><keycombo action="simul"><keycap>M</keycap><keycap>X</keycap></keycombo> + <command>customize-group</command> <keycap>RET</keycap> + <command>gnuserv</command></userinput> to make these + settings.</para> + </listitem> + </itemizedlist> + </tip> + </section> + + <section id="editor-setup-gvim"> + <title><application>VI iMproved</application> / &GUI;</title> + + <para>The <application>gvim</application> variant of the + <application>vi</application> editor supports inverse search very well. + No extra setup is required.</para> + </section> + </section> + </chapter> + + + <chapter id="forward-search"> + <title>Forward search</title> + + <para>The forward search functions allow you to jump from your + editor directly into the associated position of the &DVI; + file. Since forward search must be supported by your editor, only + <application>Emacs</application> and + <application>XEmacs</application> are currently supported. Other + editors will hopefully join in soon.</para> + + <para>To use forward search, you have to do the following:</para> + <itemizedlist> + <listitem> + <para>Set up your editor — this is described below.</para> + </listitem> + <listitem> + <para>Add source file information to your &DVI; file, ⪚ by + using the package <command>srcltx</command>. This has been + described in the section <link linkend="inverse-search-tex">Producing TeX files for inverse + search</link>.</para> + </listitem> + <listitem> + <para>If you use <application>Emacs</application> and + everything is properly set up, you just press + <userinput><keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo> <keycombo + action="simul">&Ctrl;<keycap>J</keycap> + </keycombo></userinput>, and &kdvi; pops up and jumps to the + place which corresponds to the place of the TeX file which you + are currently editing.</para> + </listitem> + </itemizedlist> + + <section id="forward-search-editor"> + <title>Setting up your editor for forward search</title> + + <section id="forw-editor-setup-emacs"> + <title><application>Emacs</application></title> + + <para>In order to use forward search in + <application>Emacs</application>, follow these steps:</para> + + <itemizedlist> + <listitem> + <para>Download the following + <application>Emacs</application> script, + <ulink url="kdvi-search.el"> + <filename>kdvi-search.el</filename> </ulink> (press + &Shift; and &LMB; the filename to download) and store + it in a place where <application>Emacs</application> + can access it — we recommend a folder + <filename class="directory">emacs-scripts</filename>.</para> + </listitem> + <listitem> + <para>Add the lines +<programlisting> +(add-to-list 'load-path (expand-file-name "~/emacs-scripts/")) +(require 'kdvi-search) +(add-hook 'LaTeX-mode-hook (lambda () (local-set-key "\C-x\C-j" 'kdvi-jump-to-line))) +(add-hook 'tex-mode-hook (lambda () (local-set-key "\C-x\C-j" 'kdvi-jump-to-line))) +</programlisting> + to your <filename>.emacs</filename> file. Restart + <application>Emacs</application>.</para> + </listitem> + + <listitem> + <para>Open <application>Emacs</application>, load a + TeX file, produce the corresponding &DVI; file, and either + enter the command <userinput><keycombo action="simul"><keycap>M</keycap><keycap>x</keycap> + </keycombo><command>kdvi-jump-to-line</command></userinput> + or press <userinput><keycombo action="seq"><keycombo + action="simul">&Ctrl;<keycap>X</keycap></keycombo> + <keycombo action="simul">&Ctrl;<keycap>J</keycap></keycombo> + </keycombo></userinput>. + It may happen that <application>Emacs</application> asks + you for the name of a <quote>master file</quote>. This is + useful if you use a TeX file which includes other files: + the master file is the top-level file which includes the + others. <application>Emacs</application> will perhaps also + ask to save the name of the master file <quote>as a local + variable</quote>, &ie; as a comment at the very end of the + file. Type either <userinput>yes</userinput> or + <userinput>no</userinput> to continue.</para> + </listitem> + </itemizedlist> + + <tip> + <itemizedlist> + <listitem> + <para>Make sure that <application>Emacs</application> is + installed. Try to start <command>emacs</command> from + the command line.</para> + </listitem> + <listitem> + <para>If <application>Emacs</application> fails to start + &kdvi;, you can find its output in the Buffer + <guilabel>kdvi-output</guilabel>.</para> + </listitem> + </itemizedlist> + </tip> + </section> + + <section id="forw-editor-setup-kile"> + <title><application>Kile</application></title> + <para>If you use Kile, no further setup is necessary. + </para> + </section> + + <section id="forw-editor-setup-xemacs"> + <title><application>XEmacs</application></title> + + <para>To set up <application>XEmacs</application>, follow the + steps for <application>Emacs</application> <link + linkend="forw-editor-setup-emacs">above</link>, but modify + your <filename>.xemacs</filename> rather than your + <filename>.emacs</filename> file. If you use a very recent + version of <application>XEmacs</application>, <filename + class="directory">.xemacs</filename> may be a folder. In + that case, append the lines to + <filename>.xemacs/init.el</filename>. + </para> + </section> + + </section> + + </chapter> + + <chapter id="preferences"> + <title>The <guilabel>Preferences</guilabel> dialog</title> + <anchor id="opts"></anchor> + + <para>The <guilabel>Preferences</guilabel> dialog can be reached + by choosing <guimenuitem>DVI Options</guimenuitem> in the + <guimenu>Settings</guimenu> menu.</para> + + <para>The dialog consists of two tabs, <guilabel>Fonts</guilabel> + and <guilabel>Rendering</guilabel>.</para> + + <sect1 id="opt-fonts"> + <title><guilabel>Fonts</guilabel> Options</title> + + <para> + Traditionally, the TeX typsetter uses fonts that are generated + by the <command>MetaFont</command> program. These fonts are + stored in the PK format. While a carefully configured + <command>MetaFont</command> system produces printouts of + highest quality, its configuration requires serious expertise, + <command>MetaFont</command> is not very good at producing fonts + suitable for computer displays, and there are only few + <command>MetaFont</command> fonts available for Asian + languages. + </para> + + <para> + To overcome these problems, newer TeX installations therefore + include fonts that are stored in the "PostScript Type 1" + format, which is a widely used font format in electronic + publishing. &kdvi; is able to use both font formats. + </para> + + <para> + The following picture shows the font options dialog of &kdvi; + that can be used to control &kdvi;'s use of the various font + formats. + </para> + + <screenshot> + <screeninfo>The <guilabel>Fonts</guilabel> tab</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="optionrequester1.png" format="PNG"></imagedata> + </imageobject> + <textobject> + <phrase>The <guilabel>Fonts</guilabel> tab</phrase> + </textobject> + </mediaobject> + </screenshot> + + <variablelist> + <varlistentry> + <term><guilabel>Use font hinting for Type 1 fonts, if available</guilabel> </term> + <listitem> + <para> + PostScript "Type 1" often contain "font hints", + i.e. additional information that is supposed to + help software produce better quality output on + computer screens. The quality of the font hints + varies from font to font, and you should experiment + to see if enabling this option gives better results. + </para> + </listitem> + </varlistentry> + </variablelist> + </sect1> + + <sect1 id="opt-rendering"> + <title><guilabel>&DVI; specials</guilabel> Options</title> + + <para> + &kdvi; supports a large number of extensions to the original + &DVI; format, e.g. hyperlinks, graphic file inclusion or + embedded source file information. These extensions are known as + "&DVI; specials". A full account of specials supported by + &kdvi; can be found in <ulink url="KDVI-features.dvi">this + document</ulink>. + </para> + + <para> + The &DVI; specials dialog help you to configure support for + some specials. </para> + + <screenshot> + <screeninfo>The <guilabel>Rendering</guilabel> tab</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="optionrequester2.png" + format="PNG"></imagedata> + </imageobject> + <textobject> + <phrase>The <guilabel>Rendering</guilabel> tab</phrase> + </textobject> + </mediaobject> + </screenshot> + + <variablelist> + <varlistentry> + <term><guilabel>Show PostScript specials</guilabel></term> + <listitem> + <para>If this option is checked, &kdvi; will display + &PostScript; graphics which are embedded into the &DVI; + file. You probably want to set this option.</para> + + <para>If an external &PostScript; file could not be found, + &kdvi; will draw a red warning box in its + place. Unfortunately, rendering &PostScript; graphics is + very slow in the current version of &kdvi;. We will + improve on the speed in later versions. If this option is + off, &kdvi; will either draw a gray box as a placeholder + for the graphics, or it will leave the space blank.</para> + + <note> + <para>There is no standard way to embed &PostScript; + graphics into a &DVI; file. It may therefore happen that + &kdvi; cannot properly display a graphic which works + fine with other programs. Older versions of + <command>xdvi</command> and <command>dvips</command> + support the execution of external commands. This is a + bad security risk and therefore deliberately not + implemented in &kdvi;. Technical information about + supported ways to include &PostScript; can be found in + the document + <filename>KDVI-features.dvi</filename>.</para> + </note> + + </listitem> + </varlistentry> + + + <varlistentry> + <term><guilabel>Editor for inverse search</guilabel></term> + <listitem> + <para>If you intend to use <link linkend="inverse-search">inverse search</link>, a + very useful feature if you write TeX documents yourself, + you have to specify which editor you are going to use, and + how this editor can be started by &kdvi;. In the example + shown, the user has opted for the + <application>NEdit</application> editor. If you use one of + the pre-configured editors from the + <guilabel>Editor</guilabel> combobox, then you don't have + to do anything else. If you whish to use a different + editor, chose <guilabel>User-defined editor</guilabel> + from the <guilabel>Editor</guilabel> combobox and enter + the command line which will be used to start your + editor. Use the placeholders <token>%f</token> and + <token>%l</token> which will be replaced with the name of + the TeX file, and the line of the TeX file, + respectively.</para> + + <para>If you use an editor which is not supported, please + send us an email at <email>[email protected]</email> and tell us + about the command line you use and how you have configured + your editor.</para> + </listitem> + </varlistentry> + </variablelist> + + </sect1> + </chapter> + + <chapter id="faq"> + <title>Frequently asked questions</title> + + <qandaset> + <qandaentry> + <question id="fontgen"> + <para>What happens when &kdvi; displays the message + <computeroutput>KDVI is currently generating bitmap + fonts</computeroutput>, and why does + the procedure take so long?</para> + </question> + <answer> + <para>Many of the fonts which are typically used in a TeX + document must be generated by the MetaFont system. Metafont + is a language similar to TeX (included in most TeX + distributions) which takes a description of the font + outline, and produces a rasterized version (<literal + role="extension">.pk</literal> file) of the font which can + then be send to a printer or be used in a previewing program + like &kdvi;. Metafont goes out of its way to produce the + best possible output for your printer. For instance, it + knows that a pixel of an inkjet printer is a roundish blot, + and that nearby pixels tend to smear into each other. In + contrast, a pixel on a laser printer is rectangular, but an + isolated pixel is very often not rendered at all.</para> + + <para>Generating such highly optimized bitmap fonts is + naturally rather time-consuming, in particular since typical + TeX documents use a large number of different fonts. We can + only ask for your patience. To ease the matter somewhat, + most distributions of TeX store the <literal + role="extension">.pk</literal> files for a limited time, + ⪚ 100 days. Therefore, if you access the same document + more than once, the <literal role="extension">.pk</literal> + files will be reused.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="mfmodes"> + <para>What is a MetaFont Mode?</para> + </question> + <answer> + <para>In order to produce bitmap fonts which are optimized + for your printer (see the answer to the first question), + Metafont comes with a database of printing engines — look + for a file called <filename>modes.mf</filename>. A Metafont + Mode is just the name of a database entry. For example, the + name <quote>ljfour</quote> refers to the entry in the + database that describes a &Hewlett-Packard; LaserJet 4 + printer. A MetaFont Mode is usually followed by a number, + the resolution. The LaserJet, for instance, can print in both + 300 and 600 dots per inch. Thus, <quote>ljfour/600</quote> + would be a full description.</para> + </answer> + </qandaentry> + + </qandaset> + </chapter> + + + <chapter id="credits-and-license"> + <title>Credits and Licenses</title> + + <para>&kdvi;</para> + + <para>&kdvi; is based on based on the stand-alone-program &kdvi; + 0.4.3 by Markku Hihnala. That program is in turn based on + <application>xdvi</application> version 18f which has many + authors.</para> + + <para>Documentation is copyright 2001-2004, Stefan Kebekus + <email>[email protected]</email></para> + + <!-- TRANS:CREDIT_FOR_TRANSLATORS --> + +&underGPL; +&underFDL; + + </chapter> + +&documentation.index; + +</book> +<!-- +Local Variables: +mode: sgml +sgml-omittag: nil +sgml-shorttag: t +End: +--> + |