Using inverse search
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 's window with the middle mouse button (on some systems, when you don't have a three-button mouse, you can simultaneously use the left and the right button). After that, your favourite editor will open, load the TeX source file and jump to the proper paragraph. To use inverse search, do the following:
Produce a file that contains inverse search information. This is explained in the section Producing TeX files for inverse search below. If you just want to test the inverse search feature, you can also use the example file KDVI-features.dvi
Let know which editor you would like to use. Choose an editor in the Preferences dialog (this dialog can be reached by choosing DVI Options in the Settings menu). The next section of this documentation, Rendering Options, explains this dialog in more detail.
Some editors need to be started manually, or need additional configuration. You will find a description of all supported editors in the section Setting up your editor below.
Test your setup. Open your file in and use the middle mouse button to click into . The editor should pop up and display the TeX file.

Producing TeX files for inverse search
There are essentially two ways to produce 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.
A TeX binary which generates and includes the necessary information automatically is certainly the preferred method of including inverse search information. By the time of writing, a binary was not yet available for . However, it is said that the next version of the TeTeX TeX distribution will support inverse search natively.
If you do not have a TeX binary which includes inverse search information natively, copy the files srcltx.sty and srctex.sty to the directory where your TeX file resides (you can do that by pressing the key and while the mouse pointer is on a hyperlink.) If you use LaTeX, add the line


    \usepackage[active]{srcltx}

to the preamble of your LaTeX file. If you use plain TeX, the line


    \include{srctex}

will do the trick.
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 file to someone else.

Setting up your editor
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.

Emacs
Emacs works well with . The actual behaviour of Emacs depends largely on the configuration. As usual, you can customize Emacs completely, if you are willing to fight your way through Lisp code.
uses the program emacsclient to remote control Emacs.
The program emacsclient requires that Emacs is running, and that the program Emacs Server is started inside Emacs. Inverse search will not work optimally unless you have started both Emacs and the Emacs Server.
To start the Emacs Server, you can do one of the following:
In Emacs, start the Emacs Server by typing M X server-start
Add the line


    (server-start)

to your .emacs file. Restart Emacs
Make sure that Emacs is installed. Try to start emacs from the command line.
uses the command emacsclient to remote control Emacs. Make sure that emacsclient is available on the command line by trying the command emacsclient Name of a text file. This should open a new text in the Emacs editor.
If emacsclient fails with an error message like unable to connect to local, make sure that Emacs is running. Furthermore, make sure that the Emacs Server is started by typing M x server-start.
If you want the frame to be auto-raised, add the raise-frame function to server-switch-hook (do M x customize-variable RET server-switch-hook and enter the function name into the text field.
If you have changed the buffer since your last save, Emacs will ask you: Revert buffer from file ...? (yes or no). You will probably always want to say no here, since reverting means that the file is reread from disk, causing all your changes since the last save to be lost!
gnuclient's behaviour of silently reloading the changed buffer is probably preferable — add the following lines to your .emacs file to emulate gnuclient's behaviour with emacsclient:


	(defadvice server-visit-files (around save-buffers last activate)
	  "Try to emulate gnuclient behaviour 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)))

Unfortunately, 's editor does not support the inverse search very well. A middle-button mouseclick into the file will always open a new instance of the editor, even if is already running and even if the TeX file is already loaded. Worse, does not move the cursor to the beginning of the paragraph.

NEdit
NEdit generally works very well indeed. Clicking into the file should open a new window. If the TeX file is already used in another window of NEdit, the newly opened window displays another view of the buffer. Otherwise, the TeX file is loaded. After opening the window, NEdit highlights the first line of the appropriate paragraph.
Make sure that NEdit is installed. Try to start nedit from the command line.
uses the command ncl to remote control NEdit. Make sure that ncl is available on the command line by trying the command ncl -noask. This should open an instance of the NEdit editor. If ncl is not available, you might be using an older version of NEdit. In that case, you should either upgrade to a more recent version, or you have to use the option User defined editor from the Options dialog.

XEmacs
XEmacs works well with . The actual behaviour of XEmacs depends largely on the configuration. As usual, you can customize XEmacs completely, if you are willing to fight your way through Lisp code.
uses the program gnuclient to remote control XEmacs.
The program gnuclient requires that XEmacs is running, and that the program gnuserv is started inside XEmacs. Inverse search will not work unless you have started both XEmacs and gnuserv.
To start the gnuserv program, you can do one of the following:
In XEmacs, start gnuserv by typing M X gnuserv-start
Add the line


    (gnuserv-start)

to your .xemacs file. If you use a more recent version of XEmacs, .xemacs will be a directory. In that case, you should append the line to the file .xemacs/init.el. Restart XEmacs
If you don't want to open a new frame for each editor call, and want the frame to be auto-raised, set Gnuserv Frame to Use selected frame, and add the raise-frame function to Visit Hook. Do M x customize-group RET gnuserv to make these settings.
Make sure that XEmacs is installed. Try to start xemacs from the command line.
uses the command gnuserv to remote control XEmacs. Make sure that gnuclient is available on the command line by trying the command gnuclient Name of a text file. This should open a new frame in the XEmacs editor.
If gnuserv fails with an error message like unable to connect to local, make sure that XEmacs is running. Furthermore, make sure that gnuserv is started by typing M X gnuserv-start.
If you don't want to open a new frame for each editor call, and want the frame to be auto-raised, set Gnuserv Frame to Use selected frame, and add the raise-frame function to Visit Hook. Do M X customize-group RET gnuserv to make these settings.

VI iMproved /
supports vim, but the result is not thrilling. A middle button mouseclick into the file will always open a new instance of the vim editor, even if vim is already running and even if the TeX file is already loaded.
Make sure that VIM/GUI is installed. Try to start gvim from the command line.