# (emacs)TeX Print

Next: TeX Distrib Prev: LaTeX Editing Up: TeX Mode

TeX Printing Commands
---------------------

You can invoke TeX as an inferior of Emacs on either the entire
contents of the buffer or just a region at a time.  Running TeX in this
way on just one chapter is a good way to see what your changes look
like without taking the time to format the entire file.

C-c C-r'
Invoke TeX on the current region, together with the buffer's header
(tex-region').

C-c C-b'
Invoke TeX on the entire current buffer (tex-buffer').

C-c TAB'
Invoke BibTeX on the current file (tex-bibtex-file').

C-c C-f'
Invoke TeX on the current file (tex-file').

C-c C-l'
Recenter the window showing output from the inferior TeX so that
the last line can be seen (tex-recenter-output-buffer').

C-c C-k'
Kill the TeX subprocess (tex-kill-job').

C-c C-p'
Print the output from the last C-c C-r', C-c C-b', or C-c C-f'
command (tex-print').

C-c C-v'
Preview the output from the last C-c C-r', C-c C-b', or C-c
C-f' command (tex-view').

C-c C-q'
Show the printer queue (tex-show-print-queue').

You can pass the current buffer through an inferior TeX by means of
C-c C-b' (tex-buffer').  The formatted output appears in a temporary;
to print it, type C-c C-p' (tex-print').  Afterward use C-c C-q'
(tex-show-print-queue') to view the progress of your output towards
being printed. If your terminal has the ability to display TeX output
files, you can preview the output on the terminal with C-c C-v'
(tex-view').

You can specify the directory to use for running TeX by setting the
variable tex-directory'.  "."' is the default value.  If your
environment variable TEXINPUTS' contains relative directory names, or
if your files contains \input' commands with relative file names, then
tex-directory' *must* be "."' or you will get the wrong results.
Otherwise, it is safe to specify some other directory, such as /tmp'.

If you want to specify which shell commands are used in the inferior
TeX, you can do so by setting the values of the variables
tex-run-command', latex-run-command', slitex-run-command',
tex-dvi-print-command', tex-dvi-view-command', and
tex-show-queue-command'.  You *must* set the value of
tex-dvi-view-command' for your particular terminal; this variable has
no default value.  The other variables have default values that may (or
may not) be appropriate for your system.

Normally, the file name given to these commands comes at the end of
the command string; for example, latex FILENAME'.  In some cases,
however, the file name needs to be embedded in the command; an example
is when you need to provide the file name as an argument to one command
whose output is piped to another.  You can specify where to put the
file name with *' in the command string.  For example,

(setq tex-dvi-print-command "dvips -f * | lpr")

The terminal output from TeX, including any error messages, appears
in a buffer called *tex-shell*'.  If TeX gets an error, you can switch
to this buffer and feed it input (this works as in Shell mode; *note
Interactive Shell::.).  Without switching to this buffer you can scroll
it so that its last line is visible by typing C-c C-l'.

Type C-c C-k' (tex-kill-job') to kill the TeX process if you see
that its output is no longer useful.  Using C-c C-b' or C-c C-r' also
kills any TeX process still running.

You can also pass an arbitrary region through an inferior TeX by
typing C-c C-r' (tex-region').  This is tricky, however, because most
files of TeX input contain commands at the beginning to set parameters
and define macros, without which no later part of the file will format
correctly.  To solve this problem, C-c C-r' allows you to designate a
part of the file as containing essential commands; it is included before
the specified region as part of the input to TeX.  The designated part
of the file is called the "header".

To indicate the bounds of the header in Plain TeX mode, you insert
two special strings in the file.  Insert %**start of header' before the
header, and %**end of header' after it.  Each string must appear
entirely on one line, but there may be other text on the line before or
after.  The lines containing the two strings are included in the header.
If %**start of header' does not appear within the first 100 lines of
the buffer, C-c C-r' assumes that there is no header.

In LaTeX mode, the header begins with \documentstyle' and ends with
\begin{document}'.  These are commands that LaTeX requires you to use
in any case, so nothing special needs to be done to identify the header.

The commands (tex-buffer') and (tex-region') do all of their work
in a temporary directory, and do not have available any of the auxiliary
files needed by TeX for cross-references; these commands are generally
not suitable for running the final copy in which all of the
cross-references need to be correct.  When you want the auxiliary
files, use C-c C-f' (tex-file') which runs TeX on the current
buffer's file, in that file's directory.  Before TeX runs, you will be
asked about saving any modified buffers.  Generally, you need to use
(tex-file') twice to get cross-references correct.

For LaTeX files, you can use BibTeX to process the auxiliary file
for the current buffer's file.  BibTeX looks up bibliographic citations
in a data base and prepares the cited references for the bibliography
section.  The command C-c TAB' (tex-bibtex-file') runs the shell
command (tex-bibtex-command') to produce a .bbl' file for the current
buffer's file.  Generally, you need to do C-c C-f' (tex-file') once
to generate the .aux' file, then do C-c TAB' (tex-bibtex-file'), and
then repeat C-c C-f' (tex-file') twice more to get the
cross-references correct.

Entering any kind of TeX mode runs the hooks text-mode-hook' and
tex-mode-hook'.  Then it runs either plain-tex-mode-hook' or
latex-mode-hook', whichever is appropriate.  For SliTeX files, it
calls slitex-mode-hook'.  Starting the TeX shell runs the hook
tex-shell-hook'.  Note: Hooks.

`

automatically generated by info2www